雾中窥探:卡斯特拉之旅的设计历程

0 点赞
Guild Wars 2
转载

大家好,泰瑞亚的各位, 我是克洛伊·米尔斯,《激战2》“永恒愿景”的剧情设计负责人。我想带大家深入了解第一章“意外启程”中“无尽之海”剧情副本的创作过程,包括该副本的设计流程、实现过程中的一些技术细节,以及我们解决的几个有趣难题。这是一段技术复杂且颇具野心的内容,希望你们能和我一样对它感兴趣! 本博客包含轻微剧情剧透,介意者请谨慎阅读。规划航行 在《激战2:永恒愿景》的开篇,审判团已抢先一步前往神秘的卡斯特拉岛,指挥官及其盟友仓促集结船员,乘坐“黑暗利维坦号”与“马丁格尔号”两艘舰船,穿越无尽之海启航。 从一开始,我们为故事的开端以及前往卡斯特拉的旅程设定了几个关键目标,这些目标有助于塑造游戏场景与玩法: 为整个资料片奠定基调,并针对《激战2:詹希尔荒野》中玩家对节奏和参与度的反馈,通过以冒险的基调开启故事,并更迅速、更频繁地让玩家投身于行动之中来加以改进。 通过实际航行的方式,将卡斯特拉融入游戏世界设定。卡斯特拉是一片未经探索的陆地,与泰瑞亚大陆被一片广阔的海洋隔开,且没有既定的背景故事。因此,我们希望向玩家展示这段旅程的过程,而非通过传送门——噗的一下!——毫无思考、不费吹灰之力地抵达,也让玩家对这段遥远的距离有个概念。 铺垫并预示故事后期出现的重要叙事元素。魔法迷雾、伊斯加伦讳莫如深的行为,以及凯拉从海浪下悄然袭击“鞅号”,这些都为后续围绕先知展开的故事发展埋下了伏笔。我们想以此表明,抵达或离开卡斯特拉都充满危险,这也为漂流者的故事以及卡斯特拉为何始终笼罩在神秘之中(仅被过往水手从远处大致绘制过地图)提供了背景。在任何资料片的早期规划阶段,我们都会大致估算剧情设计工作的范围。我们会考虑章节数量、剧情副本数量以及每个部分所需的复杂程度。这一切都基于多种因素,包括(但不限于)开发时间线、设计师和编剧的工作能力以及叙事节奏的新需求。包含叙事焦点的剧情部分通常需要额外关注,并且需要更大的设计范围,因此我将“无尽之海”剧情副本的范围定为“超大”,这意味着它将包含许多(实实在在的)活动部件,以及大量定制化的复杂内容实现。 舰船与环境作为核心元素

整个故事副本发生在“黑暗利维坦号”和“马丁格尔号”上。这带来了一个有趣的挑战,因为实际游戏空间要有限得多。为了弥补这一点,我尝试充分利用舰船的垂直分层,并在玩家必须执行的任务上设计多样性。最初只计划了赛伊达的船“黑暗利维坦号”,但在早期原型制作中,很明显该船的主甲板较小,上层甲板空间有限,无法提供足够大的可玩区域。于是,卡纳克的船“马丁格尔号”便诞生了。而当我们意识到有一个现成的舰船模型带有壮观的解体动画,正等着被使用时,他的船的命运也很快就被决定了。该场景分为两个截然不同的部分:在风暴中穿越广阔无垠的无尽之海,以及在卡斯托拉海岸外的浓雾中航行。这些部分构成了旅程中鲜明对比的阶段,展现了前往卡斯托拉途中所面临的种种危险。 该场景的其他几乎所有内容都围绕这两个核心概念展开。 风暴

风暴章节以黑屏开场,背景中传来对话,指挥官从“黑暗利维坦”号的船舱中走出。剧情设计师需要同时考虑各个剧情章节的设计,以及不同剧情部分之间的衔接流畅度。玩家从“狮子拱门”进入副本,若直接跳转至海洋中央会显得突兀,因此我希望通过对话、音效和视觉过渡来铺垫场景,确保玩家在行动前能感受到自然的过渡。 这一章节展现了在接近卡斯特拉和先知们的防御之前,这段航行就已充满危险,同时也融入了“无尽之海”的既有设定。深海生物——包括海蛇、卡卡尔、礁行者,甚至还有克拉肯触手——全都疯狂地攻击船只,而雷击引发的火灾则为战斗增添了玩法多样性。 《奥伯拉丁的回归》给我留下了深刻印象,我认为这一部分的基调与叙事框架在某种程度上受到了它的影响:深海生物混乱地登上船只,船员们仓促应对着每一层突如其来的危险,而头顶上风暴正肆虐。 迷雾

与狂暴的风暴形成对比的是,雾区的氛围更为阴森和令人不安,为这段本就危机四伏的航行画上了句号。这一概念源于现实中令人痛心的事件,例如1914–1917年的帝国横贯南极探险,当时“耐力号”船只在未知区域艰难穿越危险的浮冰。再结合百慕大三角的传说,我们的想法逐渐成形。 从设计角度来看,这两个区域也各具特色。每个区域都有其独特的船只、NPC生成点以及其他物体,但雾区的所有物体最初都是不可见的。从风暴到雾霭的过渡中,巧妙的障眼法在发挥作用:当屏幕渐变为黑色时,所有雾霭相关物体被激活,玩家被传送至复制的“黑暗利维坦”前方,所有风暴相关物体被关闭,随后黑屏淡出,回到游戏画面。 令人意外的是,将所有物体都设置两份反而简化了设计,因为一个物体需要执行的脚本行为越多,因交互冲突而产生漏洞的可能性就越大。这种策略让我们能在一个场景中构建故事,使两个区域流畅地融合为一个沉浸式体验,同时保持可控的开发范围。 “障眼法”这一主题在雾霭本身的设计中也得到了延续。通常,《激战2》中的雾天环境被称为“环境区域”,这是一种由地图设计师设置的环境对象,设计师可在指定时间将其开启(副本中早些时候的暴风雨天气就是这样设置的)。不过,通过这种方式生成的雾,其最大浓度有限。

在这里,雾气需要作为一种游戏机制,大幅缩短玩家的视野范围。实现这一效果的解决方案是:雾气实际上是一个为此场景专门创建的大型视觉效果球体。它附着在“黑暗利维坦”身上并随之移动,初始时向左偏移,以便在两者并排时将“鞅”号飞船笼罩其中。当“鞅”号在后续路线中需要调整位置,移动到“黑暗利维坦”右侧时,一个向右偏移的第二雾气球体便会取代第一个,而第一个则会关闭,实现无缝切换。 雾气球体之外的环境实际上是一个晴朗无云的白天。为了维持这一 illusion(幻象),一个比雾气球体稍小的绊线球体(tripwire sphere)会阻止玩家离开雾气范围。这也有助于确保设计、质量保证(QA)和美术人员无需考虑玩家走出指定游戏区域的情况。

航行船只 让我们从更技术层面来谈谈船只的运作方式。在雾区部分,两艘船实际上是在水中移动的,同时允许玩家自由移动和战斗。这些船只我们称之为“道具移动平台”。“道具”是我们对可交互物体的统称,例如书籍、采集点,或是像路障这样的可破坏物体。有时设计师会在游戏世界中放置道具,尤其是当我们需要灵活调整它们的生成位置时。本故事副本中的两个例子就是能将玩家从一艘船弹射到另一艘船的发射台,以及玩家为在雾中导航而收集的魔法宝珠。需要碰撞效果且必须受光线和阴影正确影响的较大物体,会由地图美术师作为环境道具进行放置。设计师可以将此类道具指定为小工具,并设定其以特定方式运作,这被称为“道具小工具(prop gadget)”。像苏雯(Soo-Won)或卓卡(Drakkar)这类超大型首领就是道具小工具。此外,道具小工具还可被指定为移动平台,由设计师编写脚本使其沿轨道移动,同时保持碰撞效果,让玩家能在上面移动而不会滑落。这就是在此副本中舰船在水中航行时,指挥官能够自由移动和战斗的实现方式。 不过,对于其他需要随舰船移动的物体(例如NPC),则需要更多额外的工作。移动平台必须在其生成对象上进行特定引用,这样游戏引擎才能知道要在船上生成它们,而不是让它们漂浮在半空中或吸附到下方的地形上。完成这一步后,所有与船只相关的元素——NPC、发射台、魔法宝珠、敌人刷新点、可攀爬至瞭望台的绳梯——都会作为一个整体随船移动,并且可以放置在船只初始出发的位置,即便它们本应在后续的航行路线中才生成。 当实现船只玩法设计的核心环节——赋予玩家选择船只航行方向的自主权时,所有这些设置都变得至关重要。

这才是有趣的地方。要成功穿越迷雾,玩家必须在四个不同的地点正确选择让船只向左、向右行驶还是直行。如果选择正确,船只将沿主航线前进。如果选择错误,船只将转向次要方向,敌人会袭击船只,之后船只将绕回起点,让玩家重新尝试。 两艘船会一同行驶在这些可能的航线上。亲爱的读者,你或许已经猜到接下来会发生什么了。两艘舰船之间——每艘舰船都有四条正确路线轨道和四条错误循环路线轨道,外加两条用于舰船在非前进状态下在水中上下浮动的额外轨道——在整个副本过程中共有十八条不同的轨道控制舰船的移动。这就是我自找的麻烦的直观呈现。

当黑暗利维坦开始移动时,马丁格尔号也会在短暂延迟后随之移动,以防止两艘船在转向时发生模型穿模。移动平台一次只能在一条轨道上移动,因此在即将开始沿前进轨道移动前,船只将暂停其在垂直轨道上的上下浮动循环,为移动做准备。 移动过程中,用于在船只间跳跃的发射台会暂时禁用,这既是为了减少出现漏洞的可能性,也是因为船只在行进时需要保持距离。这会使马丁格尔号移出雾泡范围,因此当马丁格尔号离黑暗利维坦过远时,若有玩家恰好身处马丁格尔号上,将会被传送至黑暗利维坦,以维持雾的 illusion。如前所述,许多相互关联的组件增加了脚本意外错误交互的可能性。将复杂游戏玩法、任务进度、对话触发等功能分层到多个不同的控制器脚本中,可保持其清晰有序。 远航的终点 这个故事副本以及《激战2:永恒愿景》整体的开发还有太多内容无法在此一一涵盖。《激战2》的制作凝聚了各个领域的大量心血与才华;游戏确实是终极的协作媒介。能够与他人分享自己热爱的事物是一件非常快乐的事,而对我来说,这就是故事设计。作为一名设计师,我致力于挑战自我,不断突破游戏引擎的极限,创造令人兴奋的全新故事体验。希望你能喜欢这些内容。 很快在泰瑞亚(Tyria)与你相见!