我有一个问题是关于基于浏览器的游戏,比如ogame,travian是如何在幕后工作的。在每一个这样的游戏中,每个玩家都有自己的星球或城市,那里有铁、木材、石头或其他任何资源。每一个星球/城市也都有适当的建筑来生产这种资源。现在我要说的是,这个游戏在服务器上是如何工作的?我不能想象如果在服务器上每秒计算10000个玩家,每秒更新他们的城市状态,即使只有100个玩家在线。相反,我认为有一个计算给定时间后的城市状态的函数作为参数,比如:
City calculateCityState(City databaseCity, long msTime);
作为第一个参数,您可以从数据库中传递一个带有时间戳