如何制作多人游戏

时间:2011-04-16 15:40:13

标签: android network-programming multiplayer

我已经知道了android编程的基本知识,尤其是游戏中的编程。现在我想尝试多人游戏。但我没有关于多人游戏的任何背景。所以我想提出一些问题:

  1. 多人游戏编程的基础是什么?
  2. 多人游戏的通讯方式如何?它应该是蓝牙吗?或者客户服务器?或者点对点?如果我想制作的游戏需要彼此靠近2个安卓手机?
  3. 为了理解这个多人游戏我应该知道什么?
  4. 是否有关于如何制作多人游戏的基本教程?
  5. android手机可以充当服务器吗?
  6. 我不打算制作任何复杂的游戏。可能只是多人tic tac toe对我来说没问题。最重要的是我了解多人游戏编程的基本知识。 :)

3 个答案:

答案 0 :(得分:20)

有多种方法可以进行多人游戏:

  1. 同一台设备上的多人游戏:为您的游戏制作多人游戏逻辑,并允许同一屏幕上的两个玩家使用多点触控控制器。它可以是回转的或同时的。对于这个游戏,你没有任何依赖,但玩家应该彼此靠近。

  2. 蓝牙游戏:这是多人游戏的下一阶段。有点棘手,但可以做到。控制器需要在两个彼此靠近的设备之间获得并同步游戏。对蓝牙android API的简短回顾,你很高兴。

  3. 分数比较:这不是真正的多人游戏,但您可以上传分数用户并与其他用户进行比较。您可以使用服务器端自行完成,该服务器端将存储每个用户的所有分数,或使用允许比较比较的现有服务,如Skiller SDK或scorelop SDK。

  4. 真正的多人游戏:这是我认为最好的游戏。每个人都可以实时与其他人一起玩(只要延迟允许:D)。如果你想自己做所有这一点,这个很难。在这里,您需要一个强大的服务器端和许多服务器逻辑。但是,您可以再次使用为您处理服务器端的现有服务。我选择了Skiller多人游戏SDK。良好的支持和货币化功能。

  5. 无论您选择哪种多人游戏,请先将您的游戏提供给您的朋友,以便他们可以查看并告诉您可以改进的内容。它会帮助你很多!!!

    祝你好运。

答案 1 :(得分:17)

我会把这一系列文章读成:

http://gafferongames.com/networking-for-game-programmers/

它主要使用C / C ++,但您可以将其转换为Java。了解Java中的UDP套接字,例如:

http://download.oracle.com/javase/tutorial/networking/datagrams/index.html

这应该足以让你前进。我可能会做客户端 - 服务器设置。你可以做P2P,但它比我听到的更难。

答案 2 :(得分:2)

查找用于android的API会非常有帮助。客户端服务器是最容易设置的。或者,我在正在制作的游戏中所做的事情是拥有一个Web服务器,并且您的应用程序在Web服务器上进行更新等等。 这对我正在制作的基于回合制的游戏非常有效。可能需要更多的资金,即。托管你自己的网络服务器,但由于android支持SQLlite,你很高兴。 :)