我目前正在开发一款面向物理的单人游戏,希望在服务器端模拟物理。这是因为游戏将具有排行榜,持续的玩家进度等,并且我想防止任何类型的作弊-基本上是纯客户端-服务器架构,客户端是“哑巴”,仅显示服务器希望您显示的内容。
但是,问题在于该游戏很可能同时由数百人(可能是数千人)玩。这使我感到担忧,因为如果我必须同时执行并维护数百个状态,它很可能会破坏服务器的处理能力。
我将所有物理模拟都移到客户端不会有任何问题,但是我真的需要一种方法来验证客户端模拟的结果是否有效。但是,我不知道如何。
我曾考虑过不时地运行模拟服务器端,以验证客户端是否仍然处于公平状态,但我确实希望服务器尽可能减轻压力。
物理将变得像Glenn Fiedler的GDC 2011演示一样复杂,甚至更简单。但是,更多总是碰撞的刚体会在一个场景中,并且它们一次都会可见。
对于这个特殊的情况,我很难回答,因为网络上的大多数资源(再次是Glenn Fiedlers站点都是很棒的站点)谈论小型网络物理(例如,具有30个播放器的FPS,例如Halo)。
对此主题的任何建议,网站,论文等将不胜感激。
我想回答以下问题:
- 客户-服务器模型的可行性如何?我的服务器处理能力是否合法并接地?
- 是否可以可靠地验证客户端在服务器上运行的物理模拟?如果是这样,怎么办?