使用 node.js 和 socket.io 为手机游戏构建简单的后端

Build simple backend with node.js and socket.io for mobile game

首先我是一个自学成才的人programmer/developer,抱歉有些明显的问题。这个主题更多的是设计问题而不是编程问题。

我在 Play 商店有 a.t.m 一个 Android 游戏,我使用第 3 方后端和网络解决方案。现在我想构建自己的简单后端和网络解决方案。为什么?因为:

供您参考,我的游戏是某种黑桃。

现在我的问题:

我正在考虑使用 node.js、socket.io 和 mongoDB 来创建我的后端系统。

这些是我想做的:

网络:

后端函数:

我的游戏逻辑会为每个房间做什么(ATM 我的游戏逻辑完全是客户端,很容易受到黑客攻击和作弊):

是否可以使用 node.js、socket.io 和 mongoDB 创建它?如果是,使用 node.js、socket.io 和 mongoDB 是明智之举还是使用其他技术更好?

或者我应该使用 node.js 和 socket.io 作为网络部分,而另一种技术(例如 asp.net)用于游戏逻辑?我读到 node.js 不擅长 CPU 繁重的任务,我认为 gamelogic 部分是 CPU 繁重的。

可能有些人想知道我的系统支持多少播放器?好吧,atm 我每天有 20 个 CCU,但我的游戏在商店里有 3 个星期,我没有做太多宣传,因为我首先想要一个强大的后端系统。我希望我的后端能够处理 10 000 个 CCU,也许我永远达不到,但这是我的目标。

我希望我清楚我想要什么,希望你们能帮助我。我找了一个星期,如果我想做的事情是可能的和有效的。

NodeJS 是这类事情的不错选择。大量并发 IO,突发时间相对较短。您绝对可以使用您列出的技术制作可扩展的服务器端。

该游戏逻辑可能会变得复杂,但我怀疑您甚至不会注意到纸牌游戏需要实施的规则和检查的 CPU 峰值。在每个阶段,您可能需要检查 5-10 条规则,并且可能会迭代 52 张卡片的数组(两次!)。没问题。对于 CPU 绑定任务,请考虑“1000 次迭代”(图像处理?)或 "mathematical calculations"(过度使用斐波那契?)。

我将向您指出 actionherojs 作为具有内置聊天(用于您的游戏室通信)、内置任务(用于您的 10 秒超时和 AI 回合)和一个从头开始一个新的 NodeJS 应用程序的好项目结构。

玩得开心!