pvp pve战斗,使用状态同步,战斗逻辑由服务端运算,战斗相对比较简单,有点类似回合制但又不是回合制,战斗流程大概:双方只有主角一个,根据攻速等属性算出普攻频率,角色自动普攻,主角有四五个技能,玩家手动释放。
我的想法是,玩家1发起技能攻击(普攻也算释放一个技能)
①客户端1发消息到服务端,服务端校验能释放时,广播给两个客户端,两个客户端收到广播开始播技能表现(这个时候服务端还未计算技能结果,因为角色开始释放到起作用可能有一个过程)。
②技能播完客户端1再发送消息给服务端(表示已释放完),服务端计算释放结果,广播给两个客户端。
问题:这样的通信时机不知道合不合适,特别是第②步,考虑到释放有一个过程,如果服务端收到技能就算出结果好像有点问题,因为可能在释放的过程受其他影响到技能效果。
状态同步释放技能通信流程和时机不是很明白。