如何制作多人游戏[关闭]

问题描述 投票:30回答:3

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

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

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

android network-programming multiplayer
3个回答
20
投票

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

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

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

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

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

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

祝好运。


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
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.