文本描述
1 手机实施战斗常遇到的问题 1) 怪物已经被别人打死,但自己还看到怪物存在 2) 对怪物进行攻击不掉血 3) 周围明明有其他玩家,但却看不到 4) 自己命名点击了攻击,但没有反映 5) 自己的位置产生了位移 6) 看到是自己打死的怪物,但怪物掉落的物品不属于自己 7) 自己莫名其妙就已经死亡了 2 手游实时战斗同步问题出现的原因 主观原因 1) 客户端操作信息传送到服务器,服务器处理关键数据后将数据结果传回到客 户端进行展现的通讯延迟 2) 多个玩家通过服务器同步基本信息和战斗数据,涉及到上传和下发消息的通 讯延迟 3) 手机性能限制和流量限制要求视野中的单位数量有限 客观原因 1) 手机网络本身的覆盖和信号速度问题 2) 手机使用环境的多样性造成了网络不稳定 3 处理网络交互同步问题 1) 动作表现等非核心战斗相关的内容都放在客户端进行处理 2) 客户端计算战斗表现值:当客户端因为网络因素没有收到服务器下行包时, 取前 10 次伤害的平均值*10%的上下浮动作假显示玩家当前技能的伤血量 3) 玩家移动变方向时,客户端才主动同步服务器位置;平时移动则 0.5~1 秒同 步一次位置 注:实际上不管是服务器还是客户端,发出和收到的信息都应该是每个单位在某 个时刻的位置和运动方向,这样根据运动的单位速度和时间都可以估算出当前单 位的真实位置;服务器每隔一段时间向客户端发送位置信息,并与客户端计算的 位置进行比较,且修正位置的估算值。如果差值过大则进行验证数据包的合法性 (防作弊) 4) 尽力给予技能冷却时间和公告冷却时间(最好再加上蓄力时间),这部分时间 都可以充作网络延迟时间的缓冲 5) 关于技能范围和距离,需要进行模糊的 miss 判定公式(比如当怪物已经离开 攻击范围或者时也进行 MISS 表现,而不过是技能未命中) 这样的结果是不同的玩家看到的位置或变现有可能不会完全一样,有一定的偏 差,对于区域技能设计也会有一定的难度,但在不影响主要游戏逻辑的情况下, 玩家的手感将更为重要。 4 处理视野问题 视野内目标的优先入和剔除选择遵循“距离+对象+部件”的设置 1) 优先考虑距离近的对象 2) 当距离相同则考虑玩家之间的关系“敌人>NPC >社交(组队、夫妻、师徒、 帮派)>其他玩家>其他” 3) 当在视野中同时显示的对象部件(如角色身上时装部件、宠物)达到上限时, 多出的内容不再显示,直到老的对象离开视野 4) 不同的题图对象显示的优先级可以有变化(如在夫妻地图,夫妻的优先级大 于师徒) 5 其他建议 1) 尽力不要设计以区域为目标的技能(避免因位置异常造成的误差) 2) 尽力采用小的副本地图(减少战斗状态下,视野中其他元素的影响) 3) 尽力分流 GVG 的战斗区域,使得一个区域的人数适当 。。。以下略