大家好!我是21岁的游戏开发者,目前正在开发一个名为Hirodill Online的小型2DMMORPG游戏,受如Rucoy Online这样的游戏的启发。我使用JavaScript/Node.js作为服务器,WebSockets作为多人游戏,Worker Threads来处理世界的不同部分,SQLite作为玩家数据。目前,我将所有东西都托管在一个基本的VPS上,拥有2个Xeon vCPU。游戏以每秒30次的速度运行,但我已经注意到了性能问题。我的平均每帧时间大约为15ms,p95为28ms,p99有时会达到48ms,偶尔会超过150ms。并且,这是在只有几名玩家在线的情况下。 我已经尝试优化了一些东西,最近开始使用Prometheus和Grafana来了解实际发生的事情。我正在考虑升级到Ryzen VPS,拥有4个vCPU,改进线程之间工作的分配方式,并且可能将数据库移到PostgreSQL上一个单独的机器上。但是我正在想,如果我正在这样做是否是正确的方式。 Node.js是否适合小型MMORPG游戏如此?我的目标仅仅是50-60名玩家同时在线,什么都没有。 我还想知道其他开发者如何处理昂贵的操作而不影响游戏循环。 我仍然在学习编程,已经依赖AI来帮助我建造这个游戏。这个项目很有趣,但服务器架构确实是变得复杂了。 我很希望听到你们如何处理这个问题,尤其是如果你们之前开发过多人游戏。