我对 ogame、travian 等基于浏览器的游戏如何在幕后工作有疑问。在这些游戏中,每个玩家都有自己的星球或城市,那里拥有铁、木头、石头或其他任何资源。每个星球/城市也都有相应的建筑来生产该资源。现在我的主题是,游戏在服务器上的运行情况如何?我无法想象是否在服务器上每秒对 10000 名玩家进行计算,每秒更新他们所在城市的状态,即使只有 100 名玩家在线。我认为在给定时间后有一个计算城市状态的函数,例如:
City calculateCityState(City databaseCity, long msTime);
作为第一个参数,您从数据库中传递一个带有时间戳的城市状态,作为第二个参数,您希望在您的城市拥有资源和其他随时间变化的东西之后传递时间。如果您从数据库、luberjack 生产中知道例如您当前的木材数量,您可以在 msTime 之后轻松计算所有资源。你怎么看待这件事 ?我对吗 ?