2011-06-01 44 views
0

我有一个在线3D多人游戏,它使用插件将自己嵌入到网页中,我试图弄清楚如何为它创建一个基于Web的大厅,而无需转向Flash 。在ASP.NET中编写游戏大厅

这个想法是,登录玩家在页面上选择一种游戏类型,并自动采取开放的大厅,接受高达x球员。大堂是用户可以选择皮肤和升级的网页。一旦'th玩家加入,大厅应该开始倒计时,当它成功完成时,所有用户都将重定向到另一个页面,该页面将加载嵌入式游戏并将这些用户一起放入同一个服务器。

如果用户在定时器结束前退出大厅/页面,倒计时需要停止,大厅必须等待房间再次变满。我不知道如何做这部分,因为它似乎需要一些服务器端定时器对象,它知道玩家何时离开。我正在考虑使用WebSync与大厅页面中的每个用户进行通信,以了解当前在大厅中有多少玩家,并且我假设我也可以使用此命令发送一条命令,以引导用户进入新页面成功的计时器倒计时。我也想象我可以使用WebSync或别的东西让我的服务器知道某人何时离开大厅以停止倒计时。

如何创建此服务器端定时器,以及如何与它进行交互?我正在考虑使用Quartz.Net来访问调度程序或某事,但我还不确定。

什么想法?

+0

如果你正在做的ASP.NET我建议要么做HTML5或Silverlight为大厅。当然,如果你已经在使用插件进行游戏,也许你应该使用它来创建游戏大厅呢? – 2011-06-01 18:12:41

回答

1

你有使用WebSockets的选项吗?您将能够(或多或少地立即)监视状态变化并在事件发生时更新客户端和服务器。

您可以在预定义的时间从服务器发送一大块数据,然后在客户端运行javascript以将用户踢到新页面/在计时器结束时执行某些操作(或者玩家离开或加入游戏。)

(插头:我和一个朋友写了一个C#库,工作现场聊天例子,这里找到:https://github.com/Olivine-Labs/Alchemy-Websockets