
WOW战斗逻辑系统分析.doc
4页WOW 战斗逻辑系统分析一、综述WOW 是一款魔幻主题,以战斗为核心的 MMORPG其的战斗逻辑为即时战斗的形式,但同时拥有 ACT 的动作性以及 RTS/回合制游戏的策略性,并且是在较严格的 3D环境下进行各种距离与碰撞判定的以下讨论将主要集中在 WOW 的战斗逻辑系统的特点方面二、战斗规则移动控制WOW 中使用第三人称跟踪视角;主要以 WSAD(或 WSQE)加空格控制角色在平面上的前后左右以及跳跃等移动;以鼠标控制视野、选择目标、点击按钮:平时鼠标处于指针状态,用于选择目标等操作;按下鼠标右键控制角色本身视野(角色面朝方向) ;按下鼠标左键控制镜头方向技能的作用(以下均指主动技能)在移动过程中按一定的规则限制使用各种技能便构成了 WOW 的战斗过程不同的技能有不同的作用——有的用于杀伤敌对单位、有的用于治疗友方单位,还有一些可造成特殊效果的辅助技能用于限制对方移动或技能的使用等等技能发动规则WOW 中所有技能的发动都是 “即时”的,但必须满足一定的限制条件——除了与其他 RPG 相似的对法力 /能量/生命的要求以外, WOW 比较特别的存在于以下几个方面WOW 中的技能都遵守 CD( cool down)规则。
也就是说所有的技能的使用在时间上都必须满足一定的条件——当某技能发动后,该技能在一个特定的时间——CD 时间——内将不能再次使用,直到 CD 完毕方可再次发动特别的,有一些不同的技能之间存在“共享 CD 时间”的情况——比较常见的是大部分技能之间都有一个固定的“1.5秒公共 CD”,即使用这些技能中的一个将导致 1.5 秒内无法再使用其它任何相关技能这个 CD 规则可以用一个关系表来实现 WOW 的策略性主要体现在 CD 规则上WOW 的技能从使用方式上大体可以分为二类(其中包括使用特殊道具) ,其发动规则上存在区别: 直接技能在 WOW 中的大部分技能属于此类,这是 WOW 战斗逻辑 RTS 特点的主要体现直接技能需要选定一个可执行该技能的目标才可发动比如使用直接治疗技能的条件之一是已选定可援助目标(对此类目标 UnitCanAssist()函数将返回 true 值) ,使用直接攻击技能的条件之一则是已选定可攻击目标(对应函数 UnitCanAttack()) 除了目标类型需要匹配,不同的技能对目标距离也有不同要求在 BLZ 提供给玩家的客户端接口中有一个函数——IsActionInRange()用于判定目标距离是否满足。
当目标距离大于技能要求的最大距离或小于技能要求的最小距离时,技能将不能发动关于 WOW 中直接技能距离判定的具体方式可以参考我以前在NGACN 发过的测试结果: (使用近身武器直接打击目标)除了要求满足前面 2 点以外还要求目标处于攻击者正面约 60 度的圆锥(称为角色视锥)内对于直接技能,玩家通常把最大距离大于 5 码的技能称为远程技能(range spell ) ,其余为近战技能(melee spell)直接技能以降低服务器负担为目的,同时是对游戏操作的简化(对直接技能不存在人为因素导致的“未命中” ) ,也对游戏策略要素的突出起了一定的作用 范围技能范围技能的数量较少范围技能的发动不受目标限制,即使攻击者不选定任何目标也可以发动这类技能发动时会产生一个类似“判定框”的范围,并且是一个 3D 的空间范围比如牧师的“神圣新星”发动时会对以该牧师碰撞体积中心为球心的一定半径的球形范围内所有可援助目标产生一定治疗效果再如法师的“冰锥术” ,其攻击判定范围是该法师正面,以法师碰撞体积中心为顶点,有一定半径的圆锥内,圆锥母线夹角粗略测试结果约为 60 度这类技能是体现 WOW 战斗逻辑 ACT 特性的要素之一。
此外,WOW 中的技能也有别的分类方式比如:瞬发技能、吟唱技能、通道技能等等但这些与本文内容的关系不大三、玩家的感受出色的移动控制作为一个全 3D 的网络游戏,应该说 WOW 的移动控制是比较难上手的但由于其移动控制方式与之前在世界范围内广泛流行的 FPS 游戏—— CS 比较相似,并且对于那些习惯于“一鼠划天下”的玩家还专门设置了“点击移动模式” ,玩家们适应起来还算快而且正因为其出色的移动控制,使得玩家在游戏中的感受更加真实一个比较熟练的玩家可以很轻松的在游戏中做出人在现实世界中的大多数常用运动方式——比如向前跑动途中突然转身射击、侧向跑动、绕圈跑动等等而且这些操作都相当的符合人的运动习惯,也很直观因此,玩家在 WOW 中的操作感受是比较舒服的快节奏的战斗由于 WOW 的战斗在玩家看来是即时的,因此玩家在战斗过程中感受到相当程度的自由——没有回合的限制和保护,一切机会都可以也都需要靠自己的操作与智慧来争取丰富多变的运动方式也使战斗变得更加激烈,结果更难以预料这样的战斗总使得玩家不由自主地全情投入策略性和战术性由于 WOW 中几乎所有技能以及辅助物品的使用都受到 CD 规则的限制,通常效果越强,对战局影响越大的技能 CD 时间越长——这就要求玩家在战斗过程中要合理的安排技能的使用时机,增加了战斗的策略性。
可以说,如果去掉 CD 规则,WOW 的战斗将变得极其平庸、无聊再,由于技能距离、方向以及范围的限制——玩家在战斗中需要根据当前情势不断的调整自己的位置和方向,以最大限度的减少对方对自己造成的伤害,并最大限度的攻击对方这增加了战术的多变性,也是玩家普遍把 WOW 当作 ARPG 的原因对于综合了战略和战术的战斗过程,玩家不光要有过人的技巧,还要有敏捷清晰的思维才能在战斗中占据上风这使得游戏的战斗过程变得十分精彩,使玩家“百战不厌” 局限因为 WOW 中绝大部分技能为需要选定目标才能发动的 直接技能,使得战斗变得不那么自由——玩家经常需要专门进行变更目标的操作而且也降低了游戏的动作特性四、服务器负担及网络延迟的影响网络架构推测WOW 是一个 Client/Sever 结构的 MMORPG,对于由多个玩家参与的战斗,服务器对于战斗行为的判定需要保证一定的公平性与安全性,因此我推测:在 WOW 中,各个客户端将该端玩家的行为(移动、使用什么技能等)以及其他相关参数按一定的时间间隔(客户端会定时触发一个 UpDate 事件)上传致服务端;而 WOW 的服务端则在每一个服务端时间片中对这些由各个客户端上传来的相关信息进行集中处理,并向客户端返回相应的结果。
服务器负担对于直接技能的一次技能发动仅需对选定目标判定一次而对于象普通 ARPG 那样不用选定目标即可发动攻击的范围技能,每次发动都需要对某一逻辑范围内的 N 个单位分别进行判定,最坏的情况下要进行 N 次判定由于 WOW 中的大部分技能都是 直接技能,并且因为范围技能的 CD 时间比较长或消耗较大而使用较少,所以战斗中的大多数判定仅仅是对特定的一个目标进行的即是说,因为 WOW 特殊的战斗逻辑,其单位时间内平均战斗判定量是相对较低的然而,为了进一步降低服务器的负担,WOW 采用了一个小的手段——对于玩家要发动的任意技能需要现在本地进行一次判定,如果本地不满足使用该技能的条件,则直接中止该技能发动,并不向服务器提出判定请求;只有在本地判定满足发动条件时才向服务器提出判定请求,并由服务器进行最终判定;只有当服务器通过判定时此技能才得以真正发动对于这一点我们可以通过一个简单的测试来证明:(暂略) 但即或是采取了这样的手段来减少服务器的负担,当出现一些大型的战斗场面时,WOW 的服务器往往会来不及处理大量由玩家发动技能而发出的判定请求,导致这些请求在服务端积压,产生较明显的服务器处理延迟——玩家按下技能按键之后较长时间内无法得到服务器的反馈。
这种情况下,玩家因为看到自己按下按钮却没有反应,往往会下意识的反复按下按钮,向服务器发送更多的判定请求——由此产生了一个恶性循环,并可能最终导致服务器当机网络延迟对游戏公平性的影响由于网络延迟的影响,将导致各个客户端之间以及客户端与服务端之间数据的不同步例如:发生在玩家 A 和 B 之间的战斗,A 与服务器的 PING 值为 200ms,B 为100ms,忽略服务端处理时间当 A 对 B 发动一个技能时,服务器需要经过约200ms/2=100ms 才会收到这个信息,之后要再经过约 100ms/2=50ms,玩家 B 所在端才会显示 A 的这一动作即 A 发动技能约 150ms 后才会在 B 所在端产生相应效果反之,B 对 A 发动技能也要经过大致相同的时间才能在 A 所在端看到效果但是看到效果是一回事,服务器对结果如何判定又是另一回事若 A 和 B 都只再被攻击一次就死亡的前提下,A 和 B 在相同的物理时刻同时发动瞬间作用于目标的相同攻击技能,由于 B 发出的判定请求会早于 A 约 50ms 到达服务器——如果 WOW 服务端逻辑帧速为 50 帧/秒,那么 50ms 就有相当于 2~3 帧的差别——进而服务器判定 A 已经死亡,无法再发动技能。
由此可以看出对于 WOW 的公平性而言,并非帧速(指逻辑帧)越高越好,但降低帧速太多则不利于体现玩家的反应速度的差异,也就是降低了游戏的 ACT 特性因为 WOW 中的逻辑帧和本地动画帧没有直接关联,所以关键是要把握好人的反应时间通常在 100ms 以上这一点来合理调整逻辑帧速的大小如果把 WOW 服务器的逻辑帧速降到 20 帧/ 秒,那么 50ms 的差异也刚好可以在 1 帧以内,不影响战斗结果的判定WOW 的战斗逻辑是基本公平的 ——明显的不公平因素主要由玩家之间的延迟差异导致再就是前面所说的那个“小手段”——技能发动须先经过本地预判——的影响比如由于网络延迟造成的数据不同步,导致本地看来完全满足技能的发动条件,而服务端却不能满足玩家在客户端的相关提示下准备发动某技能,但最终因为没通过服务器判定而未能得到执行;或者本来在服务端满足条件,但因为被本地否定而未能执行这也会对战斗的公平性造成一定影响,但这一点玩家通常不易发觉,而且通常仅表现在追击战中五、总评由于 WOW 具有相当良好的动作表现与即时战斗的特点,通常大家把 WOW 看作一款ARPG其中,ACT 特点使游戏的战斗过程更为激烈真实,同时增加了操作技巧方面的深度;CD 规则使战斗具有了相当的策略性。
综合以上两点,避免出现完全比拼角色属性的无聊对抗,使战斗变得十分精彩而大量采用直接技能的最大好处是——减少了服务器的判定负担,对降低游戏的运营成本有比较明显的作用虽然直接技能的应用降低了游戏的动作特性,但在 WOW 中对相当一部分直接技能增加了方向的限制,并且这个方向需要玩家进行主动的调整这比较巧妙的掩饰了其非动作性的缺陷,这也是 WOW 战斗逻辑最大的一个亮点。












