晶体管:献给赛博朋克的十四行诗

Posted on Apr 26, 2018

When I first saw you up on that stage back there. It was like… everyone loved you. Everyone except for them.

《晶体管》(Transistor) 是一款由《堡垒》(Bastion)开发商 Supergiant Games 所开发的科幻题材作品。游戏讲述了主角——云堤城 (Cloudbank) 歌星红伶 (Red),躲过卡梅拉塔组织 (The Camerata) 刺杀后,意外获得了一件名叫“晶体管” (Transistor) 的武器,并以此复仇的故事。

虽然《晶体管》被官方定义为 ARPG ,但确切地说,它更应该被称作为一款 TRPG (Tactical RPG)。类似 XCOM 或者 神界:原罪 (Divinity: Original Sin) 的战斗规则 但又有所不同。首先,在行动规划阶段没有移动的次序和限制,玩家可以移动多次,并且在发动技能前后都可以移动,行动规划如同施放“时间暂停”一般。其次,个别技能会影响敌人位置,如拉近/击飞等效果。而在行动规划期间,受到此类效果影响的敌人并不会实时改变其位置,因为是规划嘛,所以需要一定的预判,游戏中会给出相应的提示。

transistor

另外值得一提的是《晶体管》的技能设计。程序员们看到这些技能可能会会心一笑——函数 (function):Crash(),Ping(),Load(),Get()…… 每个函数可以作为主动技能,也可以用来强化主动技能,还可以作为被动技能。由于主动和强化的区分,你可以使用 Crash() + Ping(),也可以使用 Ping() + Crash(),但是这两个技能组合的效果却不相同。因此16个函数经过排列组合可以形成成千上万的变种,极大丰富了应对不同敌人的策略。

transistor

为了提高游戏难度,开发者设计了一个叫做限制器( Limiter )系统,可以根据自己的喜好开启一定数量的限制器来提高游戏难度,并相应提高了奖励。

Supergiant Games 作品的艺术风格历来独树一帜,不管是初试啼声的《堡垒》(Bastion),还是最新力作《柴堆》(Pyre)。鲜明的色彩是其一大特色。如同手绘卡通风格之于 Klei 的游戏,从 Shank 到 Don’t Starve,再到 Oxygen Not Included,可以看到Klei艺术风格的传承。而 Supergiant 也是如此,新作 Pyre 的角色动画更是将这种风格运用得淋漓尽致。

transistor

游戏制作得精心与否,从音频制作上可以窥见一斑。如果从成本控制角度来考虑,首先被削减预算的就是声音。但《晶体管》的声音制作出色,除了全程叙述语音,音乐依然由 Darren Korb 制作。有意思的是,因为主角 Red 是一名当红歌手,游戏特地加入了看似无用的功能—— Red 的哼唱。任何非战斗时刻,都可以让主角随着音乐哼唱,于是他们又录制了所有曲目的哼唱版本!

transistor

因为职业的原因,有时会去挖掘游戏开发者使用的相关技术。《晶体管》的目录结构相当清晰,执行程序目录里包含了启动程序和一系列 dll。基于 MonoGame 的开发框架,使用 FMOD 处理音频,使用 Lua 5.2 作为脚本系统,引入 NLua 和 KeraLua 实现 C# 和 Lua 的绑定。还有其他的一些跨平台和外设相关的,以及游戏平台相关的:Steam 和 腾讯TGP。腾讯TGP(就是现在的 WeGame )的库非常巨大,几乎占到整个目录文件的一半大小。

transistor

为什么 Supergiant Games 的游戏动画复杂精细又那么流畅?打开 Movies 目录后恍然大悟。原来所有的角色动作,特效都是 bink video 视频文件。使用高效的视频渲染引擎来处理复杂的动态效果,可谓是另辟蹊径。

《晶体管》不是一部“大作”,却处处可见开发者精雕细刻的用心。它像是一首献给赛博朋克的十四行诗,诠释了开发者对这个科幻类型的独特理解。独特的艺术风格和流畅的动画将会是 Supergiant Games 作品的一大亮点。


参考资料

  1. https://www.supergiantgames.com/games/transistor/
  2. https://store.steampowered.com/app/237930/Transistor/