Bea*_*red 6 iphone client-server
我想为游戏中心构建一款iPhone游戏,目前我正在研究服务器的一部分.我通过示例学到了最好的东西,我很难找到任何简单的游戏服务器示例...
我想使用Ruby on Rails构建游戏服务器,不过我会解决使用任何框架的任何示例,只是为了理解这些概念是如何工作的.有没有人知道任何书籍或在线资源,或者显示一些关于如何构建游戏服务器的示例代码?
我不得不认为iPhone上的大多数多人游戏都需要游戏服务器,但我似乎找不到任何讨论如何构建游戏的资源.我发现讨论构建多人游戏(包括Apple的文档)的资源说过同样的事情,"开发游戏服务器超出了本书的范围,但我们将专注于连接到这种服务器所需的客户端代码. "
非常感谢您的帮助!
编辑:关于我正在努力完成的更多细节......
我正在尝试开发一种双人(可能更多)游戏,用户在竞争中比其他玩家更快地解决难题.比赛制作将由游戏中心处理,但我需要一个游戏服务器来启动/管理游戏并将结果存储在数据库中.整个过程将类似......
好的,在阅读您的编辑后,我认为 Node.js 应该可以很好地完成这项工作。
关于你的观点:
我不知道配对到底是如何工作的(猜猜你会得到一对密钥左右来验证请求),但无论使用哪种编程语言,它都应该很难实现。
简单:设置服务器,处理连接,保存正在运行的游戏列表,为每个游戏跟踪状态(玩家,时间等),最大应该是(取决于您使用的消息协议..) 150 -200行
当您认为游戏已准备就绪时,只需向给定游戏中的每个玩家发送某种就绪事件(就像每个人都触摸了“我准备好了”按钮左右)
好的,这里有一些提示:
跟踪服务器上剩余/已过的时间并将其发送给玩家,计时器很快就关闭了(我在大约 3 分钟内关闭了 4-5 秒)
为了防止作弊,请验证服务器上的动作,这对于益智游戏来说应该相当容易。您还可以检查每次移动之间的时间,所有低于 50 毫秒的内容都应该是可疑的,但这主要取决于谜题的难度。
通过检查服务器上的动作,这也很容易,您不必依赖客户端向您发送“看我完成了”消息。
同样简单,只需发送带有随附数据的事件并将点记录到数据库中。
最重要的一点显然是防止作弊,对于一款电脑就能轻松解出答案的益智游戏来说,想要完全杜绝作弊是不可能的。不过,通过上面的技巧,你可以让它变得更难。
但请记住,当游戏很简单时,你无法阻止人们在高分上作弊,在游戏中建立越来越多的保护是没有意义的。专注于游戏玩法,使其对人类而言有趣且简单,但对计算机而言则复杂且不可预测。
对于数据库,呃...我想你可以使用 MongoDB,但我还没有在 Node 下使用它。
哦,如果您想了解一下 Node.js 可以做什么,这是我构建的游戏: http:
//github.com/BonsaiDen/NodeGame-Shooter
所有逻辑都在服务器上运行,客户端只需绘制他们知道的东西,我在两个晚上内就建立并运行了一个可玩的原型。
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |