V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
as9567585
V2EX  ›  问与答

游戏开发新手,请教一下前辈,关于服务端与客户端设计

  •  
  •   as9567585 · 2019-09-09 00:23:29 +08:00 · 1098 次点击
    这是一个创建于 1662 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新手刚刚学习游戏开发,之前一直是做 java 服务端,非游戏

    学习了 Phaser,准备做一款棋牌游戏练手

    客户端是浏览器环境,服务端是用我习惯的 java 开发的,使用的是 spring state machine 控制一局游戏的流程

    通信选择的是 web service

    我现在的设计是这样的,服务器有一个状态机,控制游戏的流程,各个玩家的数据等

    当一个玩家出牌 -> 服务器状态改变 -> 推送给所有玩家,最新的状态,上一个玩家的出牌动作 -> 客户端修改数据,播放出牌动画

    因为之前没有一点游戏开发的经验,所以有一些疑问,请教下前辈

    当客户端开始游戏后,再重新连接,例如 1.关闭网页,重新打开 2.网络异常段线一段时间

    再次链接到服务器后,客户端的游戏状态和服务器状态不一致

    需要恢复客户端游戏的状态到最新状态,也就是说,在任意时刻客户端都需要可以恢复到某一种状态

    所以是客户端也要维护一个状态机? 还有是其他的设计方案?

    2 条回复    2019-09-09 11:33:24 +08:00
    chinvo
        1
    chinvo  
       2019-09-09 00:25:45 +08:00 via iPhone
    状态同步、帧同步 是多人游戏的两种同步方式
    as9567585
        2
    as9567585  
    OP
       2019-09-09 11:33:24 +08:00
    @chinvo 额, 原来有两种方式选择呀, 有什么书籍,或者项目,可以推荐学习不,谢谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3391 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:15 · PVG 19:15 · LAX 04:15 · JFK 07:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.