我曾试图搜索如何制作MMO并总是找到相同的回复,这是不可能或需要很多钱,但从未提供如何制作的指南。
我想构建一个非常可扩展的东西,我目前关于如何构建MMO的想法如下:
组件:
操作:
以及我的问题:
而且我不认为我现在忘记了任何事情,并且对这个大帖子感到抱歉......
答案 0 :(得分:3)
我不认为您的解决方案会扩展。问题是您的位置数据库需要针对每个玩家操作进行更新。 您可能使用此方法允许游戏服务器共享数据,这是一个坏主意,因为数据库不是为了启用系统分发。 将数据库视为真正的离线存储,仅在激活玩家或对象时加载状态。
您需要摆脱位置数据库并存储在游戏服务器中分配的玩家状态。
还要考虑让前端服务器始终保持与客户端的一个连接,将消息转发给正确的游戏服务器等。这样就可以避免客户端连接到“正确”的游戏服务器和所有这种信任程度带来的问题。
分布式编程非常困难,但编程语言Erlang使您比Python / C ++等更容易。
答案 1 :(得分:2)
克里斯蒂安是对的,你过分依赖于数据库。通常,游戏的当前状态及其玩家在运行时间期间存储在实际服务器中。您可以创建一个自动更新玩家位置或状态的DB的功能,这在MMO中非常常见,但最终数据库只是在启动期间而不是运行时提取数据的参考。