实现回合制网页游戏[关闭]

Posted

技术标签:

【中文标题】实现回合制网页游戏[关闭]【英文标题】:Implementing a turn-based web game [closed] 【发布时间】:2011-03-09 18:24:11 【问题描述】:

我想为网络实现一个回合制游戏。我现在的第一选择是战舰。没什么太复杂的,但仍然很有趣。我想要的一些功能是能够邀请玩家参加游戏,能够与潜在对手聊天,以及能够在你开始游戏后与你的对手聊天。我想我需要一些推送通知来更新你的对手板,跟踪统计数据等。我做了一些研究,现在看起来最好的方法是使用类似的东西彗星。我正在寻找一些关于使用什么语言以及应该从哪里开始的建议。

提前致谢!

【问题讨论】:

【参考方案1】:

我目前正在制作基于网络的井字游戏,使用<canvas> 进行绘画,WebSocket 用于聊天和多人游戏。后者允许您与服务器建立实时连接,该服务器可以直接将所有数据发送给对手。这当然令人兴奋。我使用Nugget 作为服务器(C#)。

【讨论】:

【参考方案2】:

我认为这取决于很多事情。

我有一些建议,但也许有人有更好的建议。

我开始编写游戏 x-o。 (不知道英文名字)你必须连续输入五个o或x。这也是回合制的。我在 php 中只有几百个代码,在 javascript 中只有很少的代码,但是游戏非常慢。在 2player 模式下,请求响应有时会达到 1-2 秒,但服务器在我的桌面上。所以实际上不需要转移时间。

我认为如果你创建一个轻量级的游戏,易于计算的 php 非常好,易于开发,也是 OOP。

但我认为用 c++ 或 c# 创建本机服务器端程序的最佳方式。

我非常疯狂,我很喜欢速度:D 所以我创建了一个简单的 c++ 套接字和 ajax 通信实现,我将我的 apache webserver 特定目录重定向到我的程序,我用我的程序做出了回应,所以我是能够在请求和响应之间创建 4-5 毫秒的差异。

如果你想为大约 100 名玩家创建一个更大的游戏,我认为原生程序更好,因为你可以将数据存储在 RAM 中,你不需要每次都执行 mysql 查询,你可以轻松存储数据,但是您必须创建一个接口才能通过 HTTP 进行通信。

【讨论】:

哈哈,你也跟我一样打井字游戏。 是的。但在没有 websockets 的 c++ 中。 :D “是的。但是在没有 websockets 的 c++ 中”—— MAN'S CODING【参考方案3】:

我会看看 nodejs (nodejs.org)。 Node 是一个高度可扩展的服务器端事件 io 框架,构建在 V8 javascript 引擎之上。有一个名为 socket.io 的节点库,它使浏览器推送通信变得非常容易。 nodesocket.com 上还开发了一项新服务,可以让您轻松部署项目。

您可能还想查看 processing.js (http://processingjs.org/) 之类的内容,以便在浏览器画布上绘制您的游戏。

【讨论】:

以上是关于实现回合制网页游戏[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android 回合制多人游戏 - 如何在屏幕关闭时获取比赛更新?

将 Google 回合制多人游戏与 Google App Engine 集成

C#实现回合制游戏模拟

带有 Google Play 游戏服务和 IntentService 的回合制安卓游戏

Android Google Play 游戏服务回合制多人游戏不自动匹配

iOS-Google Play 游戏服务的可用性回合制多人游戏