《卧龙:苍天陨落》发布已经有些时日了,相信不少小伙伴已经打完了一周目的游戏内容了。当然今天我们要聊的不是如何去玩好卧龙的技巧,而是《卧龙》中一些诡异的体验来展开,说说类似的“动作游戏”开发中会遇到的一些经典难题。很明显的是,从游戏体验过程来看,这些问题在《卧龙》中是一样遭遇到的。这个系列会分为上下2篇,上篇讲述《卧龙》中的一些体验和问题所在,下篇会以此展开说明动作游戏开发中会遇到一些主要难题。
本文是上篇。
01 《卧龙》中的一些细节
《卧龙》本身是一个十分完整的游戏产品,但是作为玩家,在玩的过程中,会有一些感觉很怪异的细节,虽然在别的“动作游戏”也有类似的元素,或者说在饭桌上和朋友争论的时候,这些细节可以被说的并不奇怪,但是自己体验的时候还是能明显感觉到那种不舒适的,这是一种难言之隐。那么在《卧龙》里面,有哪些难言之隐呢?(或者我们也可以称之为《卧龙》这个游戏的特性?)
之所以我们要先看这些别扭点,是因为这些别扭通常都是因为遭遇了“动作游戏”开发中的一些经典难题所产生出来的,所以,在开始分析这些游戏开发的经典问题和他们的解决方案之前,我们就先来看一下“问题”吧。
NO.1 经验和预判都没有用,有用的只有反应
当我们把《卧龙》当做一款动作游戏去玩的时候,就会有这样一个体会——我们的经验和预判这些在玩真正的动作游戏时候十分重要的“技巧”,到了《卧龙》里面作用并不大。比如在《怪物猎人》中,我了解迅龙的行为模式,所以我知道迅龙的一整套行为习惯,我可以预先安排好对战计划,不论是利用环境还是用双刀变换走位的砍他,最后都能做到按照自己的方法来对付迅龙。
这种基于经验和预判的操作,并不是说我在上一秒看到了“前摇”,下一秒立即判断出是什么动作并且做出对抗,不是“因为我看到了这个信号,所以我凭反应躲避了伤害”,而是“我早就知道你会这样,所以我提前就这么干了”。在一个动作游戏的整个过程中,高手玩家可以说是“牵着怪的鼻子走”的,而不是“被怪牵着鼻子走”。何谓“被怪牵着鼻子走”?就是因为怪做了某个动作,你只能靠临场反应发现他做了这个动作,并且只有临场反应可以应对,是计划外的,或者即使你计划了他有这个动作,但是什么时候什么条件下到来,完全无从知晓。
这个在《卧龙》以及魂系游戏中都是“被牵着鼻子走”的,因为他们的boss行为是随机的,甚至有点作弊(比如玩家讨论中著名的“快慢刀”),因此我们玩的时候无法很精准的知道这个boss的行为模式,能知道的只有“这个boss在这个阶段会做些什么”,然后根据阶段,他从一个行为库随机挑了一个,我们只能拼反应,看他的前摇决定如何处理。
NO.2 慢的或者“短的”武器非常吃亏
我们会发现,在《卧龙》里面,慢速度武器和“手短”的武器是十分吃亏的,这个情况在魂类游戏也是非常普遍的。
所谓慢的武器,特指大多攻击动作的前摇相对比较长的武器,比如斧钺类;所谓“手短”的武器,并不一定是本身是短兵,而是这个武器的动作位移较小,以及配合动作武器伸展出去可以够到的距离相对很短的武器。在卧龙里面虽然直刀之类是短兵,可是配合一些技能之后也可以飞出去很远,所以并不“手短”,相反方天画戟作为长兵,却因为技能的动作范围而“手短”。
当我们使用慢速武器的时候,经常会发生即使我们先打,最后还是被敌人打断,从而玩了命打不出来的尴尬局面,尤其是当遭遇超过1个敌人的情况下。

而“手短”则让“命中率”大幅度下降,这个相比慢武器,吃亏就并不那么明显了。
当然,在饭桌上讨论的时候,我们会说“唯快不破”“一寸长一寸强”,这些道理本身是对的,所以慢速武器、短武器会吃亏看起来也没问题,但是在游戏中,这种吃亏,却并不是说起来这么简单的.
NO.3 法术和技能有用,却没那么有用
在《卧龙》中有法术和技能两个概念——法术是指从休息处,点天赋一样点出来的那些金木水火土的技能,这些技能对应的是欧美奇幻题材游戏中的魔法;技能则是绝技,也就是武器本身附带的1-2个特有的动作,手柄默认通过R+方块或者三角来释放的,更像是动作游戏里面的“武器动作”的概念。

在《卧龙》中,和很多魂系游戏一样,绝大多技能是几乎毫无用处的,尽管我们努力的去开发,但是真的有些动作,就是和游戏的节奏完全不符的,或者策划设计的时候根本没有考虑过实战的应用情景。

而法术并不能说完全没用,而是很多法术在游戏中的伤害与游戏的数值之间,感觉是完全脱节的——有一种法术伤害和游戏伤害不是一个人做的数值设计的感觉。而大多功能性法术的持续时间非常短,释放又有一种burden感,有时候会觉得“他们就该是被动的”——比如木属性的武器吸血附魔,和所有武器附魔,都应该是一个切换的关系,而不应该是现在的释放之后持续一段时间。
NO.4 架势条让游戏变得不流畅
架势条也是一个非常魂系的设定,他的本意是一个类似“精力条”或者说“耐力条”的玩意儿,就是玩家释放技能需要消耗这个,在魂系中,加入了普通攻击等动作也会消耗。当这个架势条用完,也就是在《卧龙》中变成了全红之后,就无法继续释放技能了。

但是相比魂系,还能做出普通攻击和拆招(格挡、拆卸或翻滚动作)所以“卡手感”相对好些,但是因为玩家选择武器也是为了选择武器的技能,比如我们选择青龙偃月刀,就是因为喜欢他的连续跳劈技能,所以依赖技能的我们,不但会被卡手很难受,而且因为一直习惯了用动作,以及玩动作游戏中有事没事儿靠闪避立回,导致架势条始终处于危险状态,一旦被敌人第一下攻击,一定昏迷。
这种让人用了也尴尬,不用也尴尬的设定跟游戏是脱钩的,毕竟游戏过程中对战十分激烈,我们的眼睛注视的是屏幕中对战的具体情况,而不是界面边缘的仪表盘。
NO.5 士气等级逼迫走全地图
士气等级可以说是《卧龙》的一个“独特创意”,之所以给“独特创意”打引号,是因为不知道该不该说这是个创意,因为它的本质就是类似《英雄联盟》这样游戏的“局内等级”。在《英雄联盟》中,玩家的英雄是有等级的,这个等级会影响角色的属性,并且影响的十分厉害,但是这个等级仅仅只在一局游戏内有效,下一局游戏就得重新来了——这样的做法在一局为单位的游戏也包括roguelike游戏中是好接受的,但是作为一个ARPG游戏,成长元素会消失会让玩家无法接受,因此策划将“局内等级”换皮为士气是一个可以接受的点子。


可是这个点子在玩家玩的时候却并不那么高明——因为游戏中玩家战败的时候会损失士气等级,如果士气等级低了会打不过boss,因此设计了旗帜,玩家去每个点插旗就可以确保士气等级的最小值,这样在反复的失败中才不至于越变越弱(至少有个保底等级),最后这一套因素连接在一起,插旗就成了整个关卡内必须做的事情了,原本是探索因素的旗子,到这里成了不得不找到的东西了,十分尴尬。
02 看破《卧龙》找问题根源
上面我们说了《卧龙》一些典型的问题,而这些问题大多产生的根本原因,是《卧龙》的技术实现上,它是一个基于即时回合制游戏框架,加了QTE玩法的游戏。简单地说,他跟《劲舞团》等音游和《如龙》中唱卡拉OK的玩法是一样的,只不过画面表现并不是跳舞或者唱歌,而是变成了角色对战。
“动作”只是一层表现,我们现在就来分析一下《卧龙》中战斗的做法。
NO.1 首先是动作也就是技能的概念
在《卧龙》,也包括很多魂系游戏中,“技能”指代的就是一个“动作”(“动作”也可以指代“技能”),它是指在特殊条件允许的情况下,角色需要付出一些代价来释放的动作,所以区别于“普通攻击”,因为“普通攻击”不需要代价。
而这些代价通常是一些类似MP、体力条,在《卧龙》叫做架势条的数值,这些数值是在玩法性质之外的一些外加元素,即没有这些条,角色可以做这些动作也是成立的,只是策划为了让玩家感受到阻碍,刻意追加了一些资源和限制,让玩家不能轻而易举的使用这些策划认为“比一般厉害”的动作——简单来说,就是策划使绊子使得这些动作不那么“普通”所以就叫“技能”了。
而一个动作,就是一个回合,而这个动作的时长,就是这个回合的耗时。之所以这么说,是因为一旦动作开始,它就进入一个“失控”的状态,会发生的事情已经是预先设好的,而不是动态每一帧都有可能改变的。直到动作播放完毕,或者到了策划预设的可以改变的点(比如受击),回合才会结束。
在一个技术为动作游戏的结构中

每个角色都有个当前帧,也就是“这一帧”的动画信息。这一帧的信息里面有个Cancel列表,比如说我当前这一帧是直拳的第12帧,在这一帧,我可以被上勾拳的第3帧Cancel,也可以被鞭腿的第7帧Cancel,那么我就会分别去指令池和AI命令池去寻找是否有输入指令或者AI请求希望我放出上勾拳和鞭腿,如果有上勾拳的请求,就把上勾拳放进候选列表,如果还有鞭腿,就把鞭腿放进候选列表;然后其他系统也会预约一些动作,比如判断我是否在走路的系统,会把走路动作加入这个列表,我当前正在做的动作的下一帧也会被加入这个列表,还有死亡、受伤等等也可能会被加入这个候选列表。然后下一帧用什么动作帧,是从这个列表中排序得来的,而这个列表里的每条数据包含了:
● Frame:即要跳转到什么动作的那一帧,它可能跳转到比如上勾拳的第3帧或者鞭腿的第7帧,因为动作游戏的动作Cancel通常都不是某个动作的某一帧直接切换到另一个动作的第1帧的。
● Priority:即这个候选动作的优先级,这个优先级是由目标动作的基础优先级,加上这个Cancel点的附加值(可以为负数)得来的,也就是尽管上勾拳的基础优先级(4)总是高于鞭腿的基础优先级(2),但是可能在这个Cancel点的时候,上勾拳是7(4+3),而鞭腿是11(2+9),其中3和9都是Cancel点配置的信息。
因此我们说“动作游戏世界的每一帧都是变化的”。
《卧龙》和魂系的即时回合制做法

我们可以把《卧龙》中一个角色的一个动作看成一个Timeline,他始终自己播放着,在播放到任何时刻,都可能接受到来自外部的改变动作的请求,然后做出判断,看是否需要更换,不需要就继续播放,而大多时候是接收不到请求的。这种“被动通知”的模式,和动作游戏“主动找”的模式是完全相反的。
技术上的区别决定了差异
我们可以看出,在一些情况下,动作游戏和即时回合制游戏做到的效果,是可以看起来完全一样的,而“大多时候”我们看到的确实是一样的,所以就忽略了背后的差异,但是在很多细节上,尤其是开发细节上,这里的差异却是造成了上面说的天壤之别的关键。
NO.2 动作的命中是怎么回事?
在《卧龙》中,一个动作被分为了前摇、窗口、生效、中摇和后摇5个阶段,“前摇”和“后摇”都是玩家称呼,为了基于这个称呼说事儿,我发明了“中摇”这个词儿。我们来看一个动作的逻辑概念:

正如上文所说,《卧龙》中每个动作,我们都可以看做一个Timeline,也就是时间轴,在这个时间轴上有:
● 前摇:第一根红色竖线之前的部分,就叫做前摇,这是一个“破绽区域”。
● 生效:红色竖线,因为生效是一瞬间的,所以只会是一个点,如果一个技能有多段伤害判定,就会出现多段红线,上图中为3段判定,所以有3根。
● 窗口:蓝色以后红色以前的区域,就是“窗口”,玩家可以在这个时间段内输入闪避之类的指令,以避免挨揍,这就是QTE的核心输入时机,被玩家称为“窗口”
● 中摇:红色之后蓝色之前,这通常出现在有2段或以上段数的动作中,即上一个动作生效点到下一个动作窗口开始期间,这是一个类似前摇的“破绽区域”,但是因为“前摇”已经有了定义,所以我们管他叫“中摇”。
● 后摇:即最后一个红点到结束的地方就是后摇,按照玩家的理解,这也是一个“白给”区间。
当一个角色开始做动作之后,首先会进入前摇,在每个前摇、中摇的阶段,释放动作的角色都会根据当前动作的位移配置来做出“跟踪目标”,所以玩家会发现敌人攻击的时候是可以跟踪的,而我方攻击的时候推摇杆也能微调方向(推动的效果会依赖于这个位移配置的值)。当进入窗口期,会在跟着角色的坐标创建一个AoE作为攻击区域,区域内的角色如果做了对应的闪避动作(在《卧龙》里面就是圆圈按键对应的动作,当然我们自己做游戏可以扩展这个,比如A动作可以拆一些攻击,B可以拆一些),就会根据距离判断,是否会得到一个“安全标志”的Buff,在进入红点的时候,根据安全标志来判断,如果已经安全,则直接播放没打中对应的后续动画片(进入后续动作)攻击方则根据闪避成功的角色是否是“跟踪目标”来决定动作变化(虽然AoE可以打中好多对象,但并不是任何一个人闪避了都会导致攻击方动作变化的),如果没有“安全”就掉血了。
这,正是为什么我们玩《卧龙》的时候,即使你预判到了敌人的攻击,提前进行了闪躲,而且看起来闪避距离不短,还会被敌人跟踪打中或者即便拉开一点距离,还是会被“AOE波及到”的核心原因——这个AoE范围远大于看上去那样,并且核心是你在“窗口期”按下按钮,而非真的靠地理距离来保证不挨打,这和动作游戏是完全不同的概念。
NO.3 所以他的AI怎么做?
所以为《卧龙》设计敌人就非常简单了,可以拆成每个动作一个单位,设定好每个动作的Timeline,就是上面这段说的东西。然后根据角色状态,比如一阶段二阶段,切分一下每个阶段有哪些动作,为这些动作配置一个释放条件和优先级,就可以纯随机了。
这也是我们为什么玩《卧龙》的时候,经验没有用处,因为你虽然知道了这个怪在这个阶段会做一些什么动作,但是你并不知道具体下一个动作是什么,他是随机的,你不知道、策划不知道,上帝也未必知道。
在下篇中,我们将会进一步分析这样的游戏在开发中会遇到的一些典型困难和解决策略。

从0开始做个BROTATO的免费公开课正在进行中,群里面可以观看回放,加群吧!
群号:616764474
本文原载于我们的公众号