新手刚刚学习游戏开发,之前一直是做 java 服务端,非游戏
学习了 Phaser,准备做一款棋牌游戏练手
客户端是浏览器环境,服务端是用我习惯的 java 开发的,使用的是 spring state machine 控制一局游戏的流程
通信选择的是 web service
我现在的设计是这样的,服务器有一个状态机,控制游戏的流程,各个玩家的数据等
当一个玩家出牌 -> 服务器状态改变 -> 推送给所有玩家,最新的状态,上一个玩家的出牌动作 -> 客户端修改数据,播放出牌动画
因为之前没有一点游戏开发的经验,所以有一些疑问,请教下前辈
当客户端开始游戏后,再重新连接,例如 1.关闭网页,重新打开 2.网络异常段线一段时间
再次链接到服务器后,客户端的游戏状态和服务器状态不一致
需要恢复客户端游戏的状态到最新状态,也就是说,在任意时刻客户端都需要可以恢复到某一种状态
所以是客户端也要维护一个状态机? 还有是其他的设计方案?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.