gpt4 book ai didi

iphone - 简单游戏服务器的代码示例

转载 作者:行者123 更新时间:2023-12-03 18:45:32 30 4
gpt4 key购买 nike

我想为游戏中心构建一款 iPhone 游戏,目前正在研究其中的服务器部分。我通过示例学习得最好,但我很难找到任何简单游戏服务器的示例来演示......

  1. 数据如何格式化、发送到服务器以及如何接收
  2. 如何验证正在发送/接收的数据以避免玩家作弊等。
  3. 游戏服务器代码如何与数据库一起构建

我想使用 Ruby on Rails 构建游戏服务器,但我会选择使用任何框架的任何示例来了解这些概念是如何工作的。有谁知道有任何书籍或在线资源涵盖了这一点或显示了一些有关如何构建游戏服务器的示例代码?

我认为 iPhone 上的大多数多人游戏都需要玩家服务器,但我似乎找不到任何讨论如何构建服务器的资源。我发现讨论构建多人游戏的资源(包括 Apple 的文档)都说了同样的事情,“开发游戏服务器超出了本书的范围,但我们将重点关注连接到此类游戏服务器所需的客户端代码”一台服务器。”

预先非常感谢您的帮助!

编辑:有关我要实现的目标的更多详细信息...

我正在尝试开发一款两人(可能更多)玩家的游戏,用户可以比其他玩家更快地解决谜题。匹配将由游戏中心处理,但我需要一个游戏服务器来启动/管理游戏并将结果存储在数据库中。整个过程会是这样的......

  1. Game Center 将两名玩家配对
  2. 玩家数据被发送到服务器以初始化新游戏
  3. 游戏开始由服务器同步
  4. 游戏开始,每个玩家都尝试解决谜题
  5. 当任一玩家完成时,服务器会收到通知
  6. 双方玩家完成后,服务器就会响应结果,并将结果存储在服务器上。

最佳答案

好的,在阅读您的编辑后,我认为 Node.js 应该可以很好地完成这项工作。

关于您的观点:

  1. 我不知道配对到底是如何工作的(猜猜你会得到一对 key 左右来验证请求),但无论使用哪种编程语言,它都应该很难实现。

  2. 简单:设置服务器,处理连接,保存正在运行的游戏列表,为每个游戏跟踪状态(玩家,时间等),这应该是最大的(取决于消息协议(protocol))你使用..)150-200行

  3. 当您认为该游戏已准备就绪时,只需向给定游戏中的每个玩家发送某种就绪事件(例如每个人都触摸了“我准备好了”按钮等)

  4. 好的,这里有一些提示:

    1. 跟踪服务器上剩余/已过的时间并将其发送给玩家,计时器很快就关闭了(我在大约 3 分钟内关闭了 4-5 秒)

    2. 为了防止作弊,请验证服务器上的 Action ,这对于益智游戏来说应该相当容易。您还可以检查每次移动之间的时间,所有低于 50 毫秒的内容都应该是可疑的,但这主要取决于谜题的难度。

  5. 通过检查服务器上的 Action ,这也非常容易,您不必依赖客户端向您发送“看我完成了”消息。

  6. 同样简单,只需发送带有随附数据的事件并将点记录到数据库中即可。

最重要的一点显然是防止作弊,对于一款电脑就能轻松解出答案的益智游戏来说,想要完全杜绝作弊是不可能的。不过,使用上面的技巧可能会让事情变得更难。

但请记住,当游戏很简单时,你无法阻止人们在高分上作弊,在游戏中构建越来越多的保护是没有意义的。专注于游戏玩法,使其对人类来说有趣且简单,但对计算机来说复杂且难以预测

就数据库而言,呃...我想您可以使用 MongoDB,但我还没有在 Node 下使用它。

哦,如果您想了解一下 Node.js 可以做什么,这是我构建的游戏:
http://github.com/BonsaiDen/NodeGame-Shooter

所有逻辑都在服务器上运行,客户端只需绘制他们知道的内容,我在两个晚上内就建立并运行了一个可玩的原型(prototype)。

关于iphone - 简单游戏服务器的代码示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892798/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com