基于网络的多人游戏平台?

时间:2010-09-28 16:28:58

标签: java php ajax flash

我正在开发一个基于网络的幻想足球游戏。大多数游戏都是基于Linux / Apache / Php / MySQL构建的直接Web应用程序。

我正在试图弄清楚如何实施草案申请。草案的日期和时间将由每个联盟的所有者提前安排。对于给定联盟的草案,最多可以登录32个用户,并且可以同时发生多少草稿没有限制。用户将轮流选择玩家,每个用户轮流将有时间限制。我希望所有用户能够看到轮到谁,用户剩下多少时间来选择一个玩家,他们选择了谁,以及哪些玩家仍然可用。如果联盟中有用户在选秀期间没有登录,我希望能够检测到并自动将球员分配给他们而不是等待他们轮到他们的时间。理想情况下,我还希望有一个聊天窗口,以便用户在草稿期间可以互相聊天。

我的背景是桌面应用程序开发,所以如果有必要,我可以用C#/ .NET或Java编写服务器代码。据我所知,这些是选项:

  • PHP / AJAX - 似乎可以在数据库中拥有草案的所有状态,并且在客户端的请求中触发由PHP运行的草稿操作?我想在这种情况下,草案直到至少有一个用户登录才开始,如果我希望每个人在用户做出选择时迅速得到通知,这似乎是对服务器的大量轮询请求。
  • APE或StreamHub这样的Comet服务器 - 这个架构对我来说很有意义,但我担心一年多来APE服务器没有更新,而且StreamHub网站上的演示不工作。这些没有被广泛使用的原因吗?
  • Flash - Flash似乎是最广泛使用的游戏平台,但我想知道这对我来说是否过度,因为我在客户端不需要很多图形?有没有直接的方法来使用Flash?

我已经排除了一些选项:

  • Java - 我宁愿不要求用户安装Java。
  • Silverlight - 我熟悉C#/ .NET但是如果可能的话我想让服务器运行Linux。

任何方向都会受到赞赏!

2 个答案:

答案 0 :(得分:0)

使用player.io托管您的基础架构。他们有一个.NET客户端和免费托管给许多用户。

编辑:在第二个想法,只是作为一个网站,并使用ajax轮询。实时要求听起来很小

答案 1 :(得分:0)

如果游戏代码的其余部分是PHP,PHP / Ajax似乎是正确的解决方案。我不担心轮询的性能,特别是一次只有32个用户。只需让AJAX检查服务器大约5秒左右。维护数据库中的状态。

在这种情况下,我在Flash中看到的唯一明显的优势是分发(有数以万计的Flash游戏门户网站,你可以远程分发你的游戏),但这更像是一个营销决策。