首先,我是一位自学成才的程序员/开发人员,对于一些显而易见的问题感到抱歉。与编程相比,这个主题更像是一个设计问题。用node.js和socket.io为手机游戏构建简单的后端
我有一个Android游戏在Play商店,我使用第三方后端和网络解决方案。现在我想创建自己的简单后端和网络解决方案。为什么?因为:
- 添加免费的 将(服务器端)
- 移动gamelogic从客户端到服务器端的
- 学习一下后台开发
- 学习有关网络(未P2P新功能的能力,所以没有打孔)
- 在服务器端的开发积累经验和技术
为了您的信息,我的游戏是某种黑桃。
现在我的问题:
我想使用的Node.js,socket.io和MongoDB创建我的后端系统。
这些是我想要做的:
网络:
- 从服务器到客户端和发送刚反之亦然
- io.to(插座#ID).emit( '嗨' )(服务器到客户端)
- socket.Emit( “JoinRoom”)(客户端到服务器)
后端功能:
- 用户认证
- 注册玩家信息(姓名,唯一的ID,得分,日期 创作等)
- 每次
- 更新分数注册的朋友列表,以便他们可以一起玩
- 等。
什么会我gamelogic每个房间做(ATM我gamelogic是完全以客户端,所以容易受到黑客和作弊):
- 在空间中创建的,等待10秒钟,以便其他人可以加入
- 当10秒已经结束,调用处理该启动 过程 随机化
- 52甲板卡的功能
- AI选择赌注
- AI选择王牌
- AI播放时,它的轮到他
- 确定谁拥有下一回合
- 决定谁赢得了
- 更新分数数据库
- 当比赛结束后打开空间,这样的人可以离开, 加入游戏
- 等等
是否有可能与正创建此ode.js,socket.io和mongoDB?如果是的话,用node.js,socket.io和mongoDB做这件事情还是很明智的,还是用其他技术做得更好?
或者我应该使用Node.js和受socket.io为网络部分,另一TECHNOLOGIE(例如asp.net)为游戏逻辑是什么?我读过node.js不擅长处理CPU繁重的任务,我认为gamelogic部分是CPU繁重的。
也许有些人可能想知道我的系统有多少玩家支持?那么atm我每天有20个CCU,但是我的游戏在商店里用了3个星期,而且我并没有提升很多,因为我首先需要一个强大的后端系统。我希望我的后端能够处理10000个CCU,也许我永远不会达到它,但这是我的目标。
我希望我清楚我想要什么,我们希望你们能帮助我。如果我想要做的事情可能和有效,我已经找了一周。
非常宽泛的问题,尽管描述很长,但可能没有足够的细节。由于游戏逻辑的缘故,您担心服务器受CPU限制,但您对其复杂性的细节很少。此外,并发用户在这里可能不是一个好的措施,因为大部分工作只是在“轮流”完成。更好的衡量标准是每个时间段的转数...... – jcaron
@jcaron最重要的任务是在游戏开始时,以及玩游戏。 - 在开始时,由52张卡组成的阵列进行洗牌(字符串排列) - AI纸牌,最好情况下AI通过他的套牌1次(最多13张卡组成),最差4次。 因此,从开始到开始的1场比赛: - 最多4轮最多10,在赢得最多扑克牌的玩家之间投注 - 赢得投注的玩家选择王牌,所以在这里转1圈。 - 然后游戏开始,每个玩家必须玩,直到他的套牌完成。 所以每场比赛总共最多63回合。 –