WOW战斗逻辑系统分析

更新时间:2023-08-28 10:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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发过

的测试结果:http://www.77cn.com.cn/read.php?tid=542426。

再,部分技能还对攻击者视野方向有要求。比如“攻击”(使用近身武器直接打击目标)除了要求满足前面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战斗逻辑最大的一个亮点。

本文来源:https://www.bwwdw.com/article/b4hi.html

Top