我想实现一个实时多人游戏,就像我的手机应用程序中的文字游戏一样。如果问题太宽泛,我很抱歉,但我想为自己设定一条学习道路,以实现我的目标。
这个想法大致如下:
-
userA单击"立即播放"按钮,然后被引导到池中
-
每10秒,根据用户数据(评级等)对池进行分析,每个房间有5个用户,同一房间有5倍的接近评级用户。
首先,我想问一问,这种做法是否正确?
其次,在玩游戏期间,在被分配到房间后,我想要:
-
User1在5个用户中随机选择。
-
游戏开始。。
-
对于要结束的回合:
-
User1有60秒的时间完成,或者
-
所有其他4个用户单击"成功"或"失败"按钮。
-
在查房期间,用户应该能够实时聊天。
为了实现这种情况,我应该为自己设定一条什么样的学习道路?
Node.js、Socket.io和Redis是否适合实现我想要实现的目标?你建议我怎样学习?
最后,我读了一些书,发现Google Play Games允许这种配对,但要求用户使用Google+帐户登录,但我使用OAuth2登录,我不想改变这一点。相反,我想靠自己实现这一目标。
Node.js
和socket.io
会很好地工作,我建议您在socket.io
中学习rooms
的概念,以便玩家在游戏回合中使用。我不认为真正需要使用redis
,它是键值存储,但mondodb
(或任何类型的*sqldb)可能对存储一些数据有用,如分数、排行榜等。