为一个基于回合制的多人iPhone游戏建立自己的游戏服务器

16

Game Kit编程指南得知...

多人游戏允许有兴趣玩在线多人游戏的玩家找到彼此并连接到一起进行比赛。根据您的需求,您的应用程序可以使用Game Kit将所有参与者连接在一起或让Game Kit向您提供一个玩家列表。在后一种情况下,您可以提供自己的网络实现来将玩家连接到您提供的服务器上

我想为Game Center创建一个多人回合制iPhone游戏,并且需要编写自己的游戏服务器。我计划使用Game Center API进行玩家身份验证、积分榜和玩家匹配,但我仍然需要构建自己的回合制游戏服务器以控制多人通信。这是一个基于时间的游戏,因此服务器将处理诸如同步游戏开始时间、通知玩家游戏完成以及比赛结果等内容。目前,我只是想弄清楚如何开始构建游戏服务器,但我很难找到任何涵盖以下内容的好资源...

  1. 回合制游戏服务器的结构和实现方式。理想情况下,我希望能够找到一本有示例代码的书籍或在线文章,但是每本涉及iPhone多人游戏的书都说同样的话:“开发Web服务器超出了本书的范围,但我们将专注于连接到这样的服务器所需的客户端代码。”我在哪里可以找到有关开发Web服务器的信息?

  2. 好的库/API

  3. 安全问题和常见解决方案
  4. 现有的开源软件包
  5. 我一直想学习Ruby on Rails以便应对即将到来的其他项目,这个框架能否很好地用于实现回合制游戏服务器?

有没有人可以帮我推荐一些好的书籍或在线资源来涵盖这个主题?或者直接回答我的问题?我认为,对于那些构建iOS Game Center游戏的人来说,开发游戏服务器是一个非常普遍的问题,因为它们大多数都是多人游戏,但我想不通为什么没有涉及如何实现它的资源。

非常感谢您的帮助!

3个回答

3

3

你问了几个不同的问题,我会给出简短的答案。

回合制游戏服务器的结构和实现方式
像其他服务器一样,它监听连接,处理请求并发送响应。
编写使用JSON / XML的Web服务非常容易。我认为这将是解决您问题的最佳且最快速的方法(主观)!

好用的库/API 尽管在桌面游戏编程方面有几个很好的框架和库,但我想不出任何“基于Web”的库。

安全问题和常见解决方案
基本身份验证和OAuth是保护Web服务的几种可能性之一。

现有的开源软件包
您已经提到了Ruby on Rails,但我推荐使用Django,因为它具有出色的文档以帮助您入门。我围绕Django Piston构建了我的iPhone Web服务,这是一个很棒的迷你框架。

我一直想学习Ruby on Rails,以便为即将到来的其他项目打下基础,这个框架是否适合实现回合制游戏服务器? 是的,请参见我上面的答案。


谢谢,亨利克!我会研究Django Piston的。 - BeachRunnerFred

1

市场上有几个多人游戏服务器提供可以用来构建自己的回合制服务器。

你可以看看unionplatform.com。显然,目前还没有iPhone的客户端SDK。但社区已经开始考虑建立一个(请参见http://www.unionplatform.com/?p=1446)。

另外,请查看OpenFeint。也许他们涵盖了你所需要的。

我知道这不是一个全面的答案,但我相信其他人会详细说明。


请纠正我,但是OpenFeint不允许您实现自己的游戏逻辑,对吗?它只是为了支持梯子板、推送通知和成就而作为您现有基础设施的补充。 - Henrik P. Hessel
我必须承认,我实际上还没有使用OpenFeint实现任何东西。但根据他们的文档,您可以构建基于回合制的多人游戏。当然,这并不像拥有自己的服务器那样强大。请参阅他们的“基于回合制的多人游戏实现指南”http://www.openfeint.com/ofdeveloper/index.php/kb/article/000074。 - Joseph Tura
谢谢,Joseph,那个链接看起来非常有前途,因为它正好是我需要支持的双人游戏。 - BeachRunnerFred

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接