如何制作多人游戏

Fug*_*ugo 30 android network-programming multiplayer

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

  1. 多人游戏编程的基础是什么?
  2. 多人游戏的通讯方式如何?它应该是蓝牙吗?或者客户服务器?或者点对点?如果我想制作的游戏需要彼此靠近2个android手机?
  3. 我应该知道什么才能理解这个多人游戏?
  4. 有没有关于如何制作多人游戏的基本教程?
  5. Android手机可以充当服务器吗?

我不打算制作任何复杂的游戏.可能只是多人tic tac toe对我来说没问题.最重要的是我了解多人游戏编程的基本知识.:)

R2D*_*2D2 20

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

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

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

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

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

无论您选择多人游戏实施,首先将您的游戏交给您的朋友,以便他们可以查看并告诉您可以改进的内容.它会帮到你很多!

祝好运.

  • 您的四个答案中的三个促进了Skiller SDK.如果您与他们有关联,请确保您正确披露此信息. (4认同)
  • 不是布拉德:),对这个论坛来说是新手,因为我在这里找到了很多解决方案,我觉得我喜欢用自己的东西做贡献.有一段时间我试图在我的游戏中添加竞争方面,虽然有一些解决方案可用但我找不到合适的多人工具而不必构建我自己的服务器端逻辑,skiller是我找到的解决方案,但如果你有其他解决方案我将非常乐意在这里检查和发表我的意见.顺便说一句,我的额外建议是andengine.非常容易集成并构建一个2D物理游戏. (2认同)

Mik*_*ini 17

我会给这一系列文章读一读:

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

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

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

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