在ASP.NET中对游戏大厅进行编码



我有一款在线3D多人游戏,它使用插件将自己嵌入到网页中,我正试图弄清楚如何在不使用Flash的情况下为其制作一个基于网络的大厅。

这个想法是,登录的玩家在页面上选择一种游戏类型,然后自动带到一个开放的大厅,最多可接受x玩家。大厅是一个网页,用户可以在这里选择自己的皮肤和升级。一旦x的玩家加入,大厅就应该开始倒计时,成功完成后,将所有用户重定向到另一个页面,加载嵌入式游戏,并将这些用户一起带到同一服务器。

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

我如何创建这个服务器端计时器,以及如何与它交互?我正在考虑使用Quartz.Net来访问调度程序或其他什么,但我还不确定。

有什么想法吗?

您可以选择使用WebSockets吗?您将能够(或多或少地立即)观察状态变化,并在事件发生时更新客户端和服务器。

您可以在预定义的时间从服务器发送一大块数据,并在客户端上运行javascript,将用户踢到新页面/在计时器结束时(或玩家离开或加入游戏时)做一些事情

(插件:我和一个朋友写了一个C#库,其中有一个实时聊天的例子,可以在这里找到:https://github.com/Olivine-Labs/Alchemy-Websockets)

最新更新