《漫野奇谭》大火的背后:浅谈程序化叙事生成和战棋游戏设计
《漫野奇谭》已经有很多人推荐过了,无外乎都在讲游戏的故事如何美丽,游戏的玩法如何优秀,其实这对于新的评测来说,便是要求更全面、更雅致地将游戏“描述”出来,显而易见,这都是一种表“态”。
我想做一种表“理”。
《漫野奇谭》大家都知道好玩,至于为什么好玩,基本都是以偏感性的描述性语句来被人表达的,这当然没问题,只是我认为它既然是作为一款“游戏”而存在的,就必然会有策划设计层面的独到之处,亦或是实现层面的过人本事,不然也根本无法支撑起这般分量。
“正好,这本书还有几页,足够写下一个精彩的故事。”
就如游戏开始时所写下的这句话一样,我也想写下我的理解,只不过不是某段故事,而是一些更深层次的思考。
程序化的叙事生成
在谈叙事之前,简单说下其他方面。以程序生成关卡和地图早已屡见不鲜,典型便是Roguelike游戏,设计者只需制定好规则,令地形、物品、敌人等按一定规律随机组合即可,能保证玩家每次游戏体验都不相同。同时美术与音乐素材的程序生成也一直都存在,参考便是沙盒游戏中的捏人系统,和一些会根据玩家行为实时变化的背景音乐。
对比纯手工设计,程序化能以极低成本实现极多内容产出,对于游戏可重复游玩性帮助很大。
而相比关卡,剧本演出是对游戏结构另一纬度的维护者,尤其对于线性剧情游戏(比如B社的耻辱、德军总部系列等)来说,它们的剧本演出几乎不具备任何可重复游玩性(这也是大家为什么讨厌被剧透的原因)。
那么讲故事是否也能通过程序控制自动生成呢?《漫野奇谭》就是一个最好的案例。玩家每次游玩都能体验截然不同的剧情,对于游戏新鲜感的维持效果是显著的,另外,相比传统线性剧情,它能尽可能满足大多数玩家的胃口,是谓一举两得。
可这绝非易事,故事体验的多样绝不意味着玩家就会买账。那么如何才能实现高水准的程序叙事生成呢?
从技术角度来说,程序化叙事生成应用的本来目的,是帮助制作需要大量故事情节串联,但作者本人实力不济的游戏,程序只是一种单纯的自动化体现。就像是头脑风暴,将各种事,各种物,各种人,甚至各种单词、短语,进行大量排列组合,对产出内容进行全方位的意义建立和奇思妙想(例如桌游《蛇油/Snake Oil》)。
《漫野奇谭》类同桌上角色扮演游戏/Tabletop Role-playing game(俗称“跑团”)的表现形式,是由各种“选择”构成了超越个人意志、不被设计的故事,其本质则都是充满随机性的叙事生成模式。只不过传统TRPG叙事方式是以“人”来呈现的算法机制,而《漫野奇谭》(或者说电子游戏)是以“计算机”,这其实是一种资源提供方式的不同。
但这仅仅只是通过机器解放头脑这么简单吗?明显不是,不然现在也不会依旧有大量关于AI的研究了,问题的关键,是如何才能生成高质量的文本。
目前在技术领域大致分为两个类型:慎思型叙事方法/Deliberated Narrative和模拟型叙事方法/Simulation-based Approaches。
慎思型叙事方法可以看作是AI领域的规划问题/Planning Problem,而规划问题的本质则是图论中的路径搜索/Path Finding问题。
以一组既定时间、地点、人物(包括属性、关系等),便能创造出一个故事的空间结构,在这套体系下,每个相交节点都是全新的内容。它限制了故事的根本底线(范围定死了),因此其实也就是一种排列组合。
只是这里面有些微妙的变化,假如,四个节点构成了两组故事线,那么连接这两组故事线的方法,就是慎思型叙事方法的精髓所在。当越来越多的故事线根据一定的因果关系(合理的关系)串联起来,就形成了一张巨大的故事面(或者说故事版图),这也就回到了上文所述的路径规划问题。
开放世界游戏的叙事模式与其异曲同工,先设计好主故事线/既定的检查站,同时辅以大量支线任务(这里说的是无关整体剧情走向的任务),给每个玩家造就各不相同的体验,只是开放世界游戏的任务没办法程序生成,这是和慎思型叙事方法最大的不同。
模拟型叙事方法可以看作是将大量被精确模拟的人物属性、关系、行为等放在同一个空间里,通过程序令他们产生相互作用,故事就是在这些作用里产生的。
结果是显而易见的,有了生动趣味的人物属性设定,精彩的故事演出就能无处不在。这是很自然的,设计者根本无需创作故事,他们只需在这些相互作用中发现故事即可。只要该体系足够复杂,便永远不会缺少内容,故事甚至会以各种奇怪的角度进行展开,《漫野奇谭》便是这么做的。
这也是为何模拟型叙事方法又被称为涌现系统/Emergent System的原因,从根本上来说,这也和开放世界中的涌现式设计/Emergent Gameplay如出一辙(比如《荒野大镖客2》)。
以上这两种叙事方法,严格来说是截然相反的。他们的冲突点来自于,慎思型叙事方法是以“叙事”为中心,这意味着为了达成叙事目标,“人物”是可以被舍弃的,因为要保证“叙事”的合理性;而模拟型叙事方法是以“人物”为中心,这意味着它会始终缺少“叙事”核心,毕竟这里的故事是完全基于“人物”的。
现在我们回到《漫野奇谭》上来。有了技术角度的底层分析,那么从实现角度来说,应该采用何种思路呢?
一个故事的展开无外乎两种情况,通过塑造经典人物形象,或是通过精彩的剧本演出。于好游戏而言,两者都是必需的,这也就是我们常说的“人物驱动”和“情节驱动”。
《漫野奇谭》便是典型的“人物驱动”,它是完全以“人物”为基础的程序化叙事生成作品,同时也是近年来应用程序化叙事生成的最佳作品之一(正式版本发售1个月以来一直都在Steam热门榜和新品榜前列)。
玩家在游戏伊始会获得三个人物,职业是战士、猎人、巫师,除此之外其余所有内容如外形、特性、属性、关系、经历等都是随机生成的,在进行完这些初始设置后,后续冒险故事便全都会根据玩家选择由程序自动生成。
值得一提的是,本作故事的表现形式是多格漫画,界面上方展示剧情主要部分,下方则分饰额外剧情和抉择选项两角。不难看出,本作所采用的简洁方法,在低成本的同时还具有高自由度的特性,我认为从部分角度而言,是不输甚至远超大型游戏传统定式CG过场的。
此时,游戏的整体性质已经比较明显了:基于人物驱动的选择导向型程序化叙事生成演出作品。
之后,当我们继续推进游戏进程时会发现,不论是大体剧情走向,还是细致到每一幕的人物对话、解说旁白,都会根据玩家自定义角色的特征,以及在游戏过程中所做出的每个选择而发生或具体(直观且生动)或抽象(隐晦,需要细细感受)的变化。但是有一点在玩家看来会感受颇深:不管是如何夸张的角色自定义信息,还是多么极端的选择,你都不会觉得《漫野奇谭》所讲的故事很离谱。于是不禁会好奇,怎么才能营造出这样一种效果呢?
如果在阅读故事情节的时候稍加留意,便不难看出本作每个故事界面上方都会标注该桥段的作者,这就是关键所在——细致到每一幕的演出,都是由单个作者独立完成的。
我们可以把《漫野奇谭》的所有剧情片段都看作“元素”,那么由这些“元素”所组成的整体便是一个“集合”。每个“元素”都具有其独特“属性”,这是在作者创作时就既定的内容,比如某个片段会要求角色满足某些条件(我们在自定义角色时所做出的差异化体现),当整体剧情推进到某个节点时,才会在那个时候进行演出(即释放给玩家观看,同时改变之后剧情轨迹)。
通过这些“元素”随机组合而成的故事,优缺点都很明显。优点是绝对的可控,毕竟每个剧情片段都是由不同的人写好的,故这里的程序化叙事生成实际上是种“伪随机”。缺点则是对于每个剧情片段(也就是“元素”)“属性”的要求过高,如果程序随机的条件宽松,剧情便会难以避免地走向违和,剧情中存在的角色也会令人感到突兀;如果条件严格,剧情便会显得单调乏味,因为很多片段都会被直接筛掉。
出了问题就要解决问题,《漫野奇谭》进而在其程序化叙事生成的基础上做出了一些优化——给每个剧情片段的“属性”再额外增加一些指示物性质的引导,作用是作为一种区分。简单来说,大致分为以下几种做法:每个片段做出多种固定效果,比如更改其中某一格漫画的内容;根据一定条件,将部分剧情触发时设置为“固定演出”和“选择”两种表现;直接采用“选择”表现,并在具体选项上做出差异。
Worldwalker Games之前曾尝试过慎思型叙事方法也就是基于情节的故事生成模式,效果很差,类似一些桌游中的随机事件卡,它们并不会让玩家觉得这是在讲故事,因为没什么意义,只是为了影响游戏而设计出的填充物。
而模拟型叙事方法则不同,毕竟讲一个好故事的前提是人物形象鲜活生动,《漫野奇谭》将不同剧情片段通过程序和一些手法有机结合在了一起,从而形成了有意义的故事,它真真正正能引起玩家的共鸣。当文字饱含情感,其作为故事存在也便有了“意义”。其实你看,立体舞台上的平面小人,是不是很像提线偶和皮影戏?一场游戏一场梦。
作为战棋游戏的本质
战棋游戏的渊源由来已久,时至今日大约三十多年历史,像《火焰纹章》、《梦幻模拟战》、《高级大战争》、《机器人大战》等都是相当出名的战棋游戏作品。
《漫野奇谭》的Gameplay核心也是战棋,总体来说是偏简单的设计,但作为战棋本身的策略玩法而言,本作的战斗体验绝对是完整且值得学习的,所以我下面就以这款游戏作为参考,来谈谈关于战棋游戏的Gameplay设计。
首先必须要明确的一点是,战棋游戏的数值设计是占绝对的核心地位,可以说数值结构搭建完成,游戏的完成度就过半了,因为数值来源于游戏中的所有元素,至于细节上的大小差异,其实多数情况下还是来自于策划层面的设计和配置。
那么数值的具体分类模式是怎样的呢?
目前战棋游戏的数值基本可分为四类,分别是动画信息数值、关卡数值、地图数值、角色数值。在这其中,动画数值分为地图动画数值和战斗动画数值;关卡数值分为回合数、目标条件、当前行动阵营、关卡剧本、天气等特殊游戏数值;地图数值分为地图块和范围事件;角色数值分为阵营、角色、Buff、伤害信息。《漫野奇谭》在这些方面是基本都有涉及的,这是作为其完整性表达的基础。
动画是游戏表现的重要组成部分,它能提供大量关键信息。在回合制战棋游戏中,动画提供的信息本质是时间轴,轴上有若干节点,当游戏进程来到对应节点,便会触发该节点的效果(中转或结束),也就是所谓动画信息了。
因此时间轴作为动画的底层逻辑基础,一般由时间和效果组成,时间指的是游戏中的最小时间单位,效果包含创建单位、移动单位、删除单位、甚至直接改变单位效果等行为。
换句话说,在回合制战棋(或者说就是回合制这一大类)游戏的表现手法层面,动画和落地效果是平行的,现有实际效果的落地,才会生成对应该效果的动画信息,这是完全不同的执行逻辑,或者说动画是依附于实际执行层而存在的。
至于地图动画与对战动画数值,仅仅只是效果和对象的不同,比如自动战斗,就是先进行数值处理,再给玩家播片(呈现结果)即可(类似国产手游的挂机),但这对于大多数战棋游戏而言是没有的,它们一般都是在大地图上直接进行策略博弈和战斗表现,无需单独做出对战动画(也有不少特殊情况),这是由游戏的基本属性决定的。
当然,《漫野奇谭》自然也没脱离这一传统。只是为了更好地完成故事,本作做了一些调整——所有行为不可逆。这和我之前写过的《最后的咒语/The Last Spell》就不同,那款游戏就可以在不作出实际战斗行为之前任意尝试移动,而本作便不行,这是一种基于故事传达的合理化设计,可以看作是一种“真实性”的体现。
战棋游戏的关卡表示一场战斗的完整流程,而为了更好地体现这一流程,我们通常会采用回合数、目标条件、当前行动阵营、关卡剧本、特殊机制这几个纬度的数值来进行衡量。
回合数的概念很好理解,且战棋游戏必定是回合制的,一般会根据“速度”这一数值来直接体现角色的行动先后顺序,这在一般情况下是固定死的。《漫野奇谭》也是采用的“速度”这一概念。但也有不少其他类型,正面案例像《最终幻想/Final Fantasy》系列、《仙剑奇侠传》系列、轨迹系列等游戏,采用的是一套ATB(Action Time Bar)模式,即取消了传统回合制固定出手顺序的概念,转而根据角色的敏捷值决定行动次序(或者说行动次数),慢的角色第二次攻击还没发出,可能快的角色都在准备第三次攻击了,这其实也是一种“时间轴”;反面案例则是之前玩过的一款国产回合制《磨难之间/SUFFERING》,永久固定敌人先攻,效果有多差自不必说,观其发售至今快两个月,Steam评测数增量为0,且最近一条评测的日期永远停留在了6月10日,这种毫无设计逻辑,全凭主观臆断的典型垃圾设计,是我们在制作回合制游戏时应当极力避免的。
目标条件也就是胜利或失败的达成条件,比较大众化的设计便是“胜利→全歼敌人”和“失败→我方玉碎”,其他如限定回合数移动到某位置、坚持数个回合不被全灭、全员都移动到某位置且不减员等也都是比较常规的设计,可以说目标条件就是一个关卡的核心所在,因为系统需要在每回合检验本关卡是否结束。
《漫野奇谭》的思路就很大众化,能过关就行(最少存活1人),只不过同样为了方便讲故事,保留了类似“永久死亡”的机制,该机制在战棋游戏里一般是作为难度选项而存在的,故这也是本作在服务剧情的基础上做出的一些差异化。
当前行动阵营也很好理解,就是“现在该谁行动”,一般是独立于速度系统的另一衡量标准,像在大多数回合制策略游戏里会靠军力、财力等元素来判定,且会有多方介入。《漫野奇谭》则不存在援军等多方势力设定,就是按正常敌我轮流形式进行行动,这样做没什么风险,于玩家而言也简单易懂,学习成本很低。
关卡剧本是当来到时间轴某一节点或达成一定条件时,所触发的一些特殊事件或效果,通常与游戏整体(并非单一关卡)的数值设计关联紧密。一个完整的关卡剧本必须包含触发回合、触发条件、触发事件/效果。这也是一种很通用的设计类型,他和关卡目标条件从某种意义上来说是有很多共同点的,因为绝大多数战棋游戏包括《漫野奇谭》,它们的核心目标条件,在一些情况下几乎约等于关卡剧本。
至于特殊机制,大都是围绕游戏背景基本设定而进行一体化设计的,比如大家耳熟能详的各类三国历史策略游戏,都会有天气系统,有弓兵作为基本兵种的游戏,一般都会附带风力系统。《漫野奇谭》作为中世纪奇幻冒险游戏,自然也有这些内容,不过和战棋玩法本身无关,主要是应用于大地图的区域收获系统(比如风调雨顺就会增加收益)。
地图数值,在战棋游戏里基本都体现在其“地格”这一概念上。那么作为最直观的视觉传达,包括图形、移动、属性等主要信息以及一些其他信息,这些都是需要呈现给玩家的直接视觉感受部分。
那么探究其中的设计内核,我们可以大致得出一些结论:图形是一种表状态的信息,如高山、河海、森林等;移动主要体现战棋的走格消耗,包括速度(也就是步数的多少)和形式(如走路、坐车、坐船等);属性就是角色属性的改变,如中毒(持续伤害)和荆棘碎石(减速)等;其他则是些特殊设计,如扎营、连通器、传送门等。《漫野奇谭》目前看来该有的都有,只是缺少一些特殊设计(比如游戏里的开门动作,除了浪费一步行动之外,没啥实际影响),这也是它设计简易的体现,这并没有什么,因为地图的唯一要求就是其合理性。
范围事件,有别于天气、风力,你可以理解为这是种技能形式的独特效果,它能关联各种系统,这是战棋游戏里必需的设计,如敌人的范围伤害性技能(AoE)和洪水、飓风等场景元素。
相对完整的范围事件设计通常包含以下几种属性:视觉表现、范围量尺、坐标位置、频率、开始/结束的触发扳机。这几点都很好理解,分别对应动画效果、影响范围/数量、施放方位、每轮次数、基于时间轴的触发条件。作为非常核心向的设计,如果设计好了能极大丰富游戏内容和玩法,但也不是不能完全放弃,和许多传统经典战棋一样,《漫野奇谭》也没有此类设计。
角色数值,独一档位置的战棋核心,是最容易体现出设计差距的地方。
阵营,作为传统对攻式战棋,“你和谁一边”这件事关乎全局战况。虽然很简单,但也并不是我说哪边就哪边,这里面存在一种逻辑关系,一般情况下,可以大致分为伤害(影响)关系和移动(操作)关系两大类。
常见的伤害关系有攻击和治疗,攻击关系代表是否可以减少某方某一数值,一般是血量,像大多战争类战棋里,玩家不能伤害平民,而敌方可以,你要做的便是守护平民;治疗关系代表是否可以增加某方某一数值,一般也是血量,比如游戏里若存在AI友军/援军设定,通常你不能直接治疗这些部队,只能给自己加血。
常见的移动关系有穿越和指挥,穿越关系代表某方角色所处位置是否拥有单位碰撞体积,也就是当经过该处时若已有人是否需要绕路(有的游戏不仅要绕路还要额外扣除行动力);指挥关系代表玩家能操纵谁,一般只出现在拥有类似援军系统的游戏中。
以上这些关系都是需要双向验证/设置的,很好理解,即我能动你但你不一定能动我,《漫野奇谭》此处设计同样秉持极简原则,毕竟总共才3种职业,想做得复杂也没那个基础,但效果却是明显的,这都要归功于下面要讲的角色系统,主要还是为了讲好故事而服务的。
一个完整的战棋游戏角色,通常都应含有这样几类属性:外观模型、具体各项属性值、行动能力、阵营、影响效果、当前状态标记。
外观模型代表角色外貌,作为一种展示而存在(根据装备不同在外貌上体现差异);具体各项属性值包括人物基础属性、装备属性、附加属性;行动能力代表走格数;阵营上文已经讲过,代表在哪方;影响效果则通常体现在Buff/Debuff;当前状态标记一般用于表示一个角色是否还有行动资格。
那么《漫野奇谭》在这里是如何做的呢?先是以3D舞台上的2D纸片人形式呈现角色外貌,再通过大量自定义人物基础属性以体现差异化,同时装备属性和附加属性都是永久性质,不同于绝大多数游戏的随意换装,在本作里装备一经换上便是永恒,之后影响效果也做了无法更改形式的处理,这返回去也体现在了角色外貌的改变上,呈前后呼应关联之势,行动能力、阵营、当前状态标记则没做处理。所以不难看出,将关键部分做出差异化,并打通内部关联性,特色一样可以很明显,如何避免臃肿的设计是问题,但本作也给大家做了个很好的示范。
接下来所说的Buff不同于上文所述普通增减益效果的简单概念,从根本上说,它其实是一种指示物性质的标识,这个标识所对应的是触发扳机和触发效果,这是非常明显的因果关系。
根据这种解释,我们可以知道战棋游戏的Buff通常包含以下部分(这里就不做详细解释了):源头(谁施放的Buff)、作用对象(谁会受影响)、时间(一般指剩余持续时间)、关键词(涉及到程序识别)、数值(核心,可做一定程度的统一管理)、运作条件(包括触发次数、触发间隔、触发效果)、主观行为判定(一般指攻击动作产生时,可以类比攻击前摇或施法延迟)、客观接受判定(一般指被攻击或被效果影响时,可以类比格挡或反伤)。
由此联系,伤害信息的概念也就比较明确了,它表示一次行为(一般是攻击)即将造成的影响(一般是伤害)的详细数据,主要属性分为源头(攻击者)、终端(受击者)、路径(一般指“命中与否”这件事,也可以包含更多,如暴击、暴伤、招架、闪避等,参考《魔兽世界》的圆桌理论),数值(效果的多少,一般指伤害数值)。
需要说明的是,伤害信息最好都做成单独的处理,也就是将“每次即将造成伤害”这件事,和“造成伤害的事实已经发生”这件事完全分开,这样可以避免一些问题,典型例子是“一次攻击里的第二段伤害是否需要重新再走一次伤害流程的判定逻辑”。
但是,别看上文提了这么多内容,对于《漫野奇谭》的处理,我只能用“简易却又不失策略完整性”来形容。由于根据故事做了行为不可逆处理,在数值方面就已无需太过担心不合理的问题,加上都是采用的小数值(一般都是计算个位数),这也会让本作看起来显得更精致更平衡。战时效果,本作只保留了主干设计,比如暴击、格挡、闪避,且都是直接的百分率计算,极大减轻了判定运算负担,同时在这之上做了一些比较传统的进阶向设计,如当两友方角色相邻时会互有增益,这其实也是为什么玩家会感觉熟悉易上手,但又因为故事讲得好而比别的同类游戏更令人心怡。
除此之外,《漫野奇谭》还有一些设计加分项,不仅极大增强了玩家的沉浸感和成就感,而且玩家成本还很低。本作将战场节奏控制得很好,比如贯穿全程的且是唯一的探索动作“开门”,就设定的是无消耗,有效降低了不必要的玩家操作成本,不会影响整体战场体验,对于玩家紧张感的凝聚也是很有效的。同时,游戏对于战场局势的把控(主要体现在防止失控上)也很到位,玩家永远都能随时查看下场战斗可能会遭遇的难度障碍(游戏的怪物卡牌收集系统),这就能给玩家营造出一种类似“战前畏难”的情绪,但这又是绝对可控的,所以一旦战斗胜利,便会反馈给玩家极大的成就感,而不是那种中后期给你中途硬添门槛的机制,这样就能在不影响整体战场体验的情况下,提升玩家的心理预期和收获,是既保险又高明的设计。
至于战斗流程和状态,这里就不再赘述,更多还是关于程序方面的,对于设计本身的可操作空间不大。
结语
最后夸赞一下《漫野奇谭》的汉化吧。本作由轻语工作室负责亚洲地区发行和文本汉化工作,这个在之前汉化了《极乐迪斯科》、《城市帝国》、《突袭4》、《远星物语》、《地下城3》、《纸境奇缘》、《暗影:觉醒》等众多出名的作品,翻译实力和文本质量都是有目共睹的,本作之所以能给中国玩家呈现一出好戏,我认为轻语工作室功不可没,期待与它的再次相遇。
《漫野奇谭》让你叙写属于自己的冒险故事,而我谨以此文,讲述在你传奇人生的背后,都有哪些“玄之又玄的秘密”。
游戏茶馆 - 追踪行业风向,记录游戏故事
推荐阅读: