首先,我是一名自学成才的程序员/开发人员,对于一些明显的问题感到抱歉。这个主题更多的是设计问题,而不是编程。
我有一个Android游戏直播在Play商店,我使用第三方后端和网络解决方案。现在我想构建自己的简单后端和网络解决方案。为什么?这是因为:
为了您的信息,我的游戏是某种黑桃。
现在我的问题:
我正在考虑使用node.js,socket.io和mongoDB来创建我的后端系统。
这些是我想要做的:
网络:
后端功能:
我的gamelogic将为每个房间做些什么(ATM我的游戏逻辑完全是客户端,因此容易遭受黑客攻击和欺骗行为):
是否可以使用node.js,socket.io和mongoDB创建它?如果是的话,使用node.js,socket.io和mongoDB这样做是否明智?或者使用其他技术更好吗?
或者我应该将node.js和socket.io用于网络部分,还有另一种技术(例如asp.net)用于游戏逻辑?我已经读过node.js不擅长CPU繁重的任务,我认为gamelogic部分是CPU重。
也许你们中的一些人可能想知道我的系统会支持多少玩家?好吧,我每天都有20个CCU,但是我的游戏已经存在了3个星期,而且我没有提升很多,因为我想要一个强大的后端系统。我希望我的后端能够处理10 000个CCU,也许我永远不会达到它,但那是我的目标。
我希望我清楚自己想要什么,让我们希望你们可以帮助我。我已经找了一个星期,如果我想做的事情是可行和有效的。
答案 0 :(得分:1)
NodeJS是这类事物的不错选择。大量并发IO,爆发时间相对较短。使用您列出的技术,您绝对可以使用可扩展的服务器端。
游戏逻辑可能变得复杂,但我怀疑你甚至会注意到你需要为纸牌游戏实施规则和检查的CPU峰值。在每个阶段,您可能需要检查5-10个规则,并且可能会迭代52个卡片阵列(两次!)。不是问题。对于CPU绑定任务,请考虑" 1000次迭代" (图像处理?)或"数学计算" (过度使用斐波那契?)。
我将指向actionherojs作为节点服务器,内置聊天(用于游戏室通信),内置任务(用于10秒超时和AI转弯),以及一个不错的项目从头开始创建新NodeJS应用程序的结构。
玩得开心!