游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9694|回复: 23

[讨论] 练手一个系统分析

[复制链接]

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2006-10-23 14:58:00 | 显示全部楼层 |阅读模式
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的技能从使用方式上大体可以分为二类(其中包括使用特殊道具),其发动规则上存在区别:
l直接技能
在WOW中的大部分技能属于此类,这是WOW战斗逻辑RTS特点的主要体现。直接技能需要选定一个可执行该技能的目标才可发动。比如使用直接治疗技能的条件之一是已选定可援助目标(对此类目标UnitCanAssist()函数将返回true值),使用直接攻击技能的条件之一则是已选定可攻击目标(对应函数UnitCanAttack())。

除了目标类型需要匹配,不同的技能对目标距离也有不同要求。在BLZ提供给玩家的客户端接口中有一个函数——IsActionInRange()用于判定目标距离是否满足。当目标距离大于技能要求的最大距离或小于技能要求的最小距离时,技能将不能发动。关于WOW中直接技能距离判定的具体方式可以参考我以前在NGACN发过的测试结果:http://bbs.ngacn.com/read.php?tid=542426。

再,部分技能还对攻击者视野方向有要求。比如“攻击”(使用近身武器直接打击目标)除了要求满足前面2点以外还要求目标处于攻击者正面约60度的圆锥(称为角色视锥)内。

对于直接技能,玩家通常把最大距离大于5码的技能称为远程技能(range spell),其余为近战技能(melee spell)。直接技能以降低服务器负担为目的,同时是对游戏操作的简化(对直接技能不存在人为因素导致的“未命中”),也对游戏策略要素的突出起了一定的作用。

l范围技能
范围技能的数量较少。范围技能的发动不受目标限制,即使攻击者不选定任何目标也可以发动。
这类技能发动时会产生一个类似“判定框”的范围,并且是一个3D的空间范围。比如牧师的“神圣新星”发动时会对以该牧师碰撞体积中心为球心的一定半径的球形范围内所有可援助目标产生一定治疗效果。再如法师的“冰锥术”,其攻击判定范围是该法师正面,以法师碰撞体积中心为顶点,有一定半径的圆锥内,圆锥母线夹角粗略测试结果约为60度。
这类技能是体现WOW战斗逻辑ACT特性的要素之一。

三、玩家的感受
出色的移动控制
作为一个全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战斗逻辑最大的一个亮点。

sf_20061023145826.doc

35.5 KB, 下载次数:

1

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2006-10-23 22:35:00 | 显示全部楼层

Re:练手一个系统分析

WOW的动作要素~~~~~~~~~~不是很强吧~~~~~~~~~~`只是对距离和方向的控制而已~~~~~~~~~~~~~`

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2006-10-23 23:26:00 | 显示全部楼层

Re:练手一个系统分析

to楼上:动作要素强的标准是啥?
如果WOW服务端逻辑帧速为50帧/秒 我特意去GOOGLE了下,没找到类似提法。请问楼主这个名词是啥意思?是指服务器端每秒判断50次么?@@,那好夸张啊。EQ里面是每6秒判断1次。WOW现在改版不知道,早期从怪物身边飞速跑过去(网速延迟小于200MS),有机会不AGGRO到的,也就是说这个数量级应该在秒的层次上。
直接技能与范围技能概念是源于DIRECT DAMAGE与ARRANGE OF EFFECT么?就是直接伤害与范围影响。那DD+AOE的技能该算哪类?还是新的复合类型?如狗王吐火,超级复杂,AOE的DD+DOT(DAMAGE OVER TIME)。这又咋算?所以我认为楼主的分类不合理。DD、AOE、DOT、HOT(HEAL OVER TIME)、BUFF、DEBUFF都是技能的某个属性,它们可能任意几个复合在一起形成一个新的技能。我个人觉得列出这些属性然后分析可能会好点。
既然是战斗逻辑系统,为啥要说:“此外,WOW中的技能也有别的分类方式。比如:瞬发技能、吟唱技能、通道技能等等。但这些与本文内容的关系不大。”?除非搂主改下标题:“战斗逻辑系统中的ACT要素”,ETC。
RTS(Realtime Strategy Game),魔兽关战略啥事?顶多就战术(TACTICS)嘛。当单个玩家主体能够操作战略层次操作时,我才会承认那是RTS。COOL DOWN还是COLD DOWN?SPELL还是SKILL?
类似WOW操作等一些问题,仁者见仁。私以为,第一人称视角你不用这套,那才真叫难。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-24 09:53:00 | 显示全部楼层

Re: Re:练手一个系统分析

喵呜: Re:练手一个系统分析

WOW的动作要素~~~~~~~~~~不是很强吧~~~~~~~~~~`只是对距离和方向的控制而已~~~~~~~~~~~~~`

私以为“动作要素”从玩家角度来看,主要也就通过距离和方向控制来体现了。
还有哪些?——诚心请教喵呜兄

8

主题

237

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
QQ
发表于 2006-10-24 10:11:00 | 显示全部楼层

Re:练手一个系统分析

。。。这么复杂???

不是回合战斗的加快嘛?

动作应该是1招1式吧,部位可能分的更细。。。

如果你说WOW是动作,那地下城OL,不是更动作了。。。

154

主题

4567

帖子

4579

积分

论坛元老

Rank: 8Rank: 8

积分
4579
QQ
发表于 2006-10-24 11:13:00 | 显示全部楼层

Re:练手一个系统分析

有了伟大的LUA,无所不能,只要你逻辑上没有冲突,就一定都能实现,缺的是伟大的逻辑设计者和脚本编辑者

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-24 11:48:00 | 显示全部楼层

Re: Re:练手一个系统分析

netdragonx: Re:练手一个系统分析

to楼上:动作要素强的标准是啥?
如果WOW服务端逻辑帧速为50帧/秒 我特意去GOOGLE了下,没找到类似提法。请...

我只是一个还在业外徘徊的小子,具体的术语确实不很清楚。我说的逻辑帧也就是为了区别于动画帧,表示逻辑判定的时间片。不过WOW的游戏是肯定不可能采用6秒1次的判定速度的——WOW中发动间隔低于6秒的技能是绝大多数,而且许多状态的持续时间也在6秒以下,再就是6秒内大部分角色都可以移动超过10码的距离——如果采用6秒1次的判定频率将使WOW的战斗逻辑变得极不精确,使玩家感到混乱。

我想服务端的判定频率不应该低于客户端的上传频率。服务端的判定频率不容易知道,但客户端的平均数据上传频率(UpDate事件的触发频率)可以通过一个简单的插件进行统计——在任何一个WOW插件的OnUpDate()函数中增加以下功能就可以实现:
XXX_OnLoad()
{
    t=0;
    n=0;
}

XXX_OnUpDate()
{
    if(t==0) then
        t=GetTime();//GetTime()函数返回以秒为单位的浮点数。
    end
    n=n+1;//每次上传数据被触发,n就累加1
    if(GetTime()-t>=1) then
        t=GetTime();
        ChatFrame1:AddMessage(..n.."times 1 second",1,1,0);//在主聊天窗口输出前1秒内执行UpDate的次数
        n=0;//计数器清零
    end
}

我现在的条件很糟糕,做测试很不方便,如果你有兴趣可以测试一下。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-24 12:14:00 | 显示全部楼层

Re: Re:练手一个系统分析

netdragonx: Re:练手一个系统分析

to楼上:动作要素强的标准是啥?
如果WOW服务端逻辑帧速为50帧/秒 我特意去GOOGLE了下,没找到类似提法。请...

直接技能和范围技能的问题。

我以为WOW所有的技能都是此2类技能的直接继承或结合。DOT/HOT以及BUFF之类只是技能的作用效果,并非使用方式,和我说的分类方式不相关。我的分类,是按照攻击判定方式的不同进行的。

狗王吐火,我不很清楚,但看起来很象猎人的“多重射击”——对直接选定的目标进行直接判定,若通过则以直接选定的目标为基准点的某一空间范围进行范围判定,并根据一定的优先条件最终确定受到攻击的单位。

最后一个问题。您是否认为一定要同时控制很多单位并且要进行建造等操作才能有“策略性”?而且我在文中也只说WOW具有RTS的一些特点——比如攻击前需要选定目标——并没有扯到广义的“战略”层面上。

PS:我可以明确告诉你——在WOW中以及WARCRAFT中我们更习惯使用cool down;spell和skill在wow中有一定的区别,主要是skill用来表示人物状态窗口中显示的那些东西——防御技能、武器技能、语言技能等等。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-24 12:19:00 | 显示全部楼层

Re: Re:练手一个系统分析

wdnight: Re:练手一个系统分析

。。。这么复杂???

不是回合战斗的加快嘛?

动作应该是1招1式吧,部位可能分的更细。。。

如果你说WOW是动作,那地下城OL,不是更动作了。。。

1招1式不可以看做回合战斗的加快么?部位细分也只是判定状态增加了而已吧?

1

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2006-10-24 12:30:00 | 显示全部楼层

Re: Re: Re:练手一个系统分析

卡特铁角: Re: Re:练手一个系统分析


私以为“动作要素”从玩家角度来看,主要也就通过距离和方向控制来体现了。
还有哪些?——诚心请教喵呜兄

去看DDO~~~~~里面你可以控制角色移动位置\翻滚\跳跃\防御等来躲开对方已射向你的箭支或魔法~~~~~~~~~~~这个动作要素就比较强,我觉得WOW动作要素不强是因为~~~~~~~他的远程攻击都是跟踪式的,一旦发出,你绝对躲不掉~~~~~~~~~~~~~~~~~~~~哪怕你已经移动到我身后~~~~~~~~~~~~~怪物都不会去躲闪玩家的攻击~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-8 10:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表