编者按
本文来自作家、游戏智慧(Game-Wisdom.com)创始人乔希·拜瑟(Josh Bycer)的个人博客,由 indienova 取得授权并译制发表,原文链接见文末。
- 原文作者:乔希·拜瑟
- 译者:CoryluS
正文
程序化生成(Procedural generation)和随机生成(Random generation)是 Roguelike 设计的基石,众多 Roguelike 游戏将这些元素推向了前所未有的高度。2018 到 2019 年间,《死亡细胞》(Dead Cells)、《以撒的结合》(The Binding of Isaac)、《洞穴探险》(Spelunky)和《矮人要塞》(Dwarf Fortress)等游戏均借助 Roguelike 的设计原则取得了巨大成功。
但是,Roguelike 游戏的开发内含设计陷阱。我偶尔会发现,有的开发者试图打造一种“塞尔达-Roguelike”(Zelda Rogue-Like)式的体验(即把传统塞尔达系列的设计元素与 Roguelike 游戏的随机化或程序化要素结合起来),虽然听起来很奇妙,但从游戏设计的角度来看,这一组合确实行不通。
程序化与随机化
先来说明一下随机化生成内容与程序化生成内容的区别。随机化生成内容指在环境或关卡中随机设置的要素,例如《死亡细胞》中的敌人位置或《以撒的结合》中出现的多种宝藏。
而程序化生成内容是指游戏在开始前或进行时生成的内容,例如 ARPG 中生成的战利品或《洞穴探险》中的关卡布局。
作为 Roguelike 游戏的典型特征,这两种生成方式会成为游戏体验的一部分,因此我们有必要理解它们对游戏性的影响。
随机程度
并非所有随机化或程序化生成元素在玩家眼中都享有同等地位,它们对游戏空间的影响也各不相同。
过去我曾讨论过这样一个观点——仅有随机或程序化生成元素的游戏并不会自动具备可重玩性。许多引入了这两种概念的游戏仍然倾向于遵循某种特定的发展曲线(Progression Curve)。生存游戏就是一个很好的例子,无论环境的程序化生成程度如何,玩家仍然需要按照特定顺序收集资源——就像《我的世界》(Minecraft)那样。
在缺少更合适术语的情况下,我认为游戏中的随机或程序化生成内容可以分为“硬元素”和“软元素”。软元素不会影响游戏玩法或整体进程,例如敌人的出生地点、环境的基本结构或不同生物群落的位置。
硬元素则会作用于游戏的实际进展,直接影响玩家在特定时间内可以(或不可以)做的事情。可能包括的元素有:刷新出的升级项类型、引入的新道具、生成的多种生物群落类型、敌人类型、新资源,等等。
最关键的因素是,玩家在游戏中的所作所为必须直接受到影响,才能让他们在每次游戏都感受到差异。
这就是为什么 ARPG 中的战利品设计如此成功:每件新装备都能改变玩家的 Build(从而直接影响游戏玩法和进程)。
而周遭地图的改变通常不会带来截然不同的体验,因为玩家仍然在做同样的事情。《洞穴探险》之所以经久不衰,是因为即便游戏玩法本身没有改变,也会产生全新的关卡,不断向玩家提供测试其硬实力的新方式。由此,我意识到了“塞尔达-Roguelike”概念及其固有的问题。
“肉鸽”传说
《塞尔达传说》系列被认为是业内最好的动作冒险系列之一。与魂系游戏一样,该系列的方方面面都被硬编码(Hard-coded)[1],以推动和引导玩家抵达结局。即使是《旷野之息》(Breath of the Wild)——迄今为止开放程度最高的塞尔达游戏——仍然将关键的发展点融入神兽、大师剑和神庙的形式中。
表面上看,将这种人为的设计(包括其进程节点元素)引入程序化生成世界似乎对游戏性来说是真理。但不幸的是,这一概念存在一些根本性缺陷。
仔细审视塞尔达系列的游戏循环可发现,玩家基本上在做两件事:探索以寻找兴趣点(地牢、道具等……)和在其中执行任务。后者比前者更有趣(也更重要)。本质上,塞尔达游戏的世界设计总是迫使玩家不断前进——环境设计会引导玩家到达下一个目标,以便推动进程。
在塞尔达系列的形制中引入随机化的世界,会降低游戏的趣味性,且增加挫败感。举例来说,如果世界设计总是会根据程序生成而改变,那么就必须降低环境设计的复杂程度,以适应程序化系统所产生的各种组合。除了主要的兴趣点之外,整个世界的探索趣味也可能会降低——尤其是与所谓“硬编码”世界相比。
不仅如此,这还可能导致玩家怀疑他们发现的兴趣点是否有存在的必要。塞尔达系列的形制之美在于每个新的地牢和兴趣点都建立在前一个地牢和兴趣点的基础之上。使得游戏的发展曲线更令人沉浸,也让设计师能够不断提高每个新地牢的难度。
《旷野之息》走的是另一个方向——每个地牢都可以用基础装备通过。此外,游戏还根据到达各个地牢的难度来平衡它们的位置——这种想法需要“硬编码”设计,可能更难在程序化生成世界中实现。
另一个问题是,由于升级是唯一能真正改变游戏体验的元素,因此仅变换或通过程序化来生成环境并不能改变玩家的游玩方式。开发者们广泛使用的一种设计是,以程序化方式生成整个世界地图,同时仍然对各个兴趣点进行硬编码,比如《黑暗森林》(Darkwood)。然而在这款游戏中,改变周围的环境并无实质效果,不能影响玩家在游戏中的进展。
如果玩家总是需要道具 X、Y 和 Z 才能获胜,那么变换环境只是改变获取这些道具所需的时间而已。同样,因为你无法知道玩家获取这些升级项的顺序,所以也无法在过度复杂的环境中引入各式各样的挑战。更糟糕的是,每个兴趣点的设计都要求玩家使用在之前的兴趣点获得的道具(即遵循传统的塞尔达地牢概念)——但这种情况下,这种想法并没有很好地执行,因为玩家在第一次到达兴趣点时根本不知道规则是什么(而且,开发者也不知道玩家在什么时候、以什么顺序游玩兴趣点)。
这就是为什么较好的 Roguelike 游戏会注重核心玩法的循环,然后从核心玩法向外扩展,并根据玩家获得的道具而变化。无论是《以撒的结合》还是《死亡细胞》,都会根据不同道具的出现而发生显著改变,而不是根据玩家所处的环境。《洞穴探险》保留了基本的游戏循环,玩家所做的事情会因关卡生成而复杂多变。
我认为,任何成功的 Roguelike 游戏的关键因素都在于,能用多少种方式为玩家提供不同的体验。我玩过的每一款“塞尔达-Rogue”游戏都让我希望环境能是固定的,趣味点要……嗯,更有趣。
失乐园
你可能会认为,在《塞尔达传说》系列的基础上创造程序化生成的游戏,会是一部完美的作品,但我还没见过有人能完全实现这一目标(事先声明,《塞尔达传说》的随机生成器可不算)。要让这些游戏循环协调同步的花销可能超过了大多数团队的预算。
优秀 Roguelike 游戏的重点不在于到达终点——更在于旅程中多种可能性的展现。这种神奇组合有可能发挥作用(也许与围绕不同的道具池/兴趣点所构建的游戏空间有关)——但这同样需要大量精妙构思和努力。
其实,我最近在 Discord 上的 Game-Wisdom 频道与一位开发者讨论过这个问题。我们一致认为这种设计方法是绝对可行的,但需要更加专注于程序化算法,以便根据每个种子(Seed)[2] 中可获得的具体道具或能力来生成“可解”的区域。
最后,我想问各位读者一个问题:你还能想到其他游戏设计的“理想概念”行不通或根本不可能实现的例子吗?
译者注:
[1] 即用一个固定值来代替可变变量,将数据直接写在程序中,也可以理解为一种“写死”的编码方式。
[2] 一种用于导向程序化内容生成的随机算法值,通过这个值,游戏系统可以调用模块化信息,生成内容。
原文链接:https://medium.com/super-jump/the-zelda-rogue-design-trap-b954f7598c01
*本文内容系作者独立观点,不代表 indienova 立场。未经授权允许,请勿转载。
暂无关于此文章的评论。