【问题标题】:how to make Multiplayer Game [closed]如何制作多人游戏[关闭]
【发布时间】:2011-08-06 22:52:38
【问题描述】:

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

  1. 多人编程的基础是什么?
  2. 多人游戏的通讯方式如何?应该蓝牙吗?或者也许是客户端-服务器?或者点对点?如果我要制作的游戏需要 2 部彼此靠近的安卓手机?
  3. 要了解这款多人游戏,我应该知道些什么?
  4. 有没有关于如何制作多人游戏的基础教程?
  5. 安卓手机可以做服务器吗?

我还不打算制作任何复杂的游戏。可能只是多人井字游戏对我来说没问题。最重要的是我了解多人游戏编程的基础。 :)

【问题讨论】:

    标签: android network-programming multiplayer


    【解决方案1】:

    多人游戏有几种方法:

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

    2. 蓝牙游戏:这是多人游戏的下一个阶段。有点棘手,但可以做到。控制器需要在彼此靠近的两个设备之间获取和同步游戏。简要回顾一下蓝牙 android API,您就可以开始了。

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

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

    无论您选择何种多人游戏实现方式,请先将您的游戏提供给您的朋友,以便他们审查并告诉您可以改进的地方。对你有很大帮助!!!

    祝你好运。

    【讨论】:

    • 您的四个答案中有三个推广了 Skiller SDK。如果您与他们有关联,请确保正确披露这一点。
    • Nope Brad :),刚加入这个论坛,因为我在这里找到了许多问题的解决方案,所以我想贡献自己的一些东西。一段时间以来,我试图在我的游戏中添加竞争方面,虽然有一些可用的解决方案,但我没有找到合适的多人游戏工具,而无需构建自己的服务器端逻辑,skiller 是我为此找到的解决方案,但如果你有其他解决方案我将非常乐意在这里检查并发表我的意见。顺便说一句,我的额外建议是andengine。非常容易集成和构建 2d 物理游戏。
    • @R2D2 只是为了节省您一些时间和以后的麻烦,Stack Overflow 以本身不是一个“论坛”而自豪......一些用户非常强烈地指出这一事实,所以我只是想给你一个警告:)
    • Skiller 看起来已经不存在了。您必须在谷歌中挖掘它,并且该网站的链接似乎已经死了。
    【解决方案2】:

    我会阅读这一系列文章:

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

    它主要是 C/C++,但你可以将它翻译成 Java。了解 Java 中的 UDP 套接字,例如:

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

    这应该足以让您继续前进。我可能会进行客户端-服务器设置。你可以做 P2P,但据我所知,这更难。

    【讨论】:

    • 我更新了第二个问题。 :) ,它不是大规模多人游戏,只是 2 人游戏彼此靠近。
    • 无论如何。那里有很棒的文章。 :)
    • 我链接到的文章不仅适用于 MMO 游戏,也适用于网络上的任何内容。如果您只想让游戏仅用于彼此靠近的手机,我不是要问的人:P。我认为这将是蓝牙,但不要相信我的话。我相信有人会来发帖回答。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多