我想尝试使用websockets和HTML-5技术为web编写一个简单的游戏,我正在考虑使用Play框架和Scala来做到这一点。然而,我想做的游戏类型是一个持久的世界,事情自己发生,而不仅仅是玩家的行动后果,这意味着它不符合Play的无状态哲学。我尝试在Play应用程序中启动一个单独的线程,该线程将充当具有运行世界的通常持久游戏服务器,并且似乎可以工作。你如何对此发表评论?
- 这种方法会面临一些大问题吗?
- 有没有更好的解决方案和设置?除了独立的(非http)游戏服务器之外,ppl通常还使用什么来做这些事情?
- 考虑到类似的问题,你能分享一些有趣的经验吗?
不要用"始终运行的线程更新信息"来搞砸。
大多数情况下,此类游戏只是保存上次更新时间,并根据现在和上次更新之间经过的时间计算新值。任何Web框架或技术都可以做到这一点。即使我是一个游戏框架的忠实粉丝/瘾君子,我认为坚持不懈的争论本身是不够的。
但如果您需要:
- 良好的网络套接字集成,
- 支持繁忙的流量,
- 无需大规模服务器即可实现大规模并发
那么事实上,Playframework可能是你的选择。