Tartarus
2017年5月30日

青涩的程序员拯救采矿船《Tartarus》

作者 Jeremy Peel

透露一个有关游戏开发者的小秘密:他们真的已经深入代码世界。我知道,你一定经常看到这样的新闻。但不仅仅如此,他们还努力地传播代码。如果方法得当,你也会被他们带入代码的世界。他们希望你能懂得一条命令成功执行所带来的满足感,或者感受到超出创建者预期的系统所带来的自豪感。

这对于伊斯坦布尔的 Abyss Gameworks 来说毫无疑问,他们为玩家设计的情境足以说明一切。在第一人称科幻游戏《Tartarus》中,你被困在马上要与海王星相撞的采矿船上,只有重新编写船只系统的程序才能防止碰撞。没错,只有编码才能力挽狂澜,因此,你需要学习一点编码知识。

但开发人员如何才能在第一人称游戏中嵌入有用的终端呢?允许玩家深入到多深的编程坑呢?

终端速度

blogAssets%2F2017%2FMAY+2017%2FMIU+-+Tartarus%2FMIU_Tartarus_Pic1-770x433-9ed67c5542c5fc383fa101241a9dee05ebec6788当你在船上发现了一个显示器 MRS TARTARUS 220478,就可以通过按键把它激活。Abyss 为终端构建的程序就会启动,为了提高性能,将在后台禁用所有其他的游戏元素和控件。该工作室将 UMG(为 UI 设计而开发的虚幻引擎 4 工具)改作他用,即核心机制。

“感觉就像我实际上编写的是真实的操作系统。”首席程序员 Sertac Ogan 回忆道。

实际上并不是操作系统,而是一次聪明的设想。Tartarus 终端上显示的所有文件和目录都是数组 - 这在虚幻引擎 4 中,是汇集到一个单元中的数据。

blogAssets%2F2017%2FMAY+2017%2FMIU+-+Tartarus%2FMIU_Tartarus_Pic2-770x433-e1c18e19ace5d7698dc6133cc476795124398564

“我们捕获用户用键盘输入的每一条内容,解析为逻辑组件,然后处理这些组件。”Ogan 说道,“然后,由我们编写的系统决定哪些是命令,哪些是参数。这就是这种设想背后的主要技巧。”

Abyss 事先设定的每一条命令都会在系统的对应部分中触发一个特殊的事件。如果输入与终端期待的命令不符,就会显示“错误消息”,工作室特地为这种情况设计了这样的消息。

“当然也会有一些特别的错误。”Ogan 解释道,“你不会在所有地方都看到相同的消息。”

 

代码之内再编码

blogAssets%2F2017%2FMAY+2017%2FMIU+-+Tartarus%2FMIU_Tartarus_Pic3-770x433-250d4535faf26a6ec4c0104a0ce7ca1f3b904b67为了设计黑客攻击接口,Abyss 想要一种既现实又不会过于复杂的系统。

“我们想要一个懂了之后就很容易使用的系统。”Ogan 解释道,“但如果对编程完全不熟悉,就真的很难懂了。”

这并不意味着《Tartarus》只是为了程序员而设计的 - 因为他们希望玩家开始的时候随便输入就可以了。毕竟,游戏主角 Cooper 也不是程序员,而是陷入绝境的采矿人。

“这就好比一个人不认字,但你却给他一本书。”Ogan 说道,“我们要的就是这种感觉 - 晦涩难懂。所以我们的终端就是你的朋友,但你必须用它们的语言进行交流。你必须阅读所有信息。我认为,我们找到了复杂和可理解的正确组合。”

 

空虚的热情

blogAssets%2F2017%2FMAY+2017%2FMIU+-+Tartarus%2FMIU_Tartarus_Pic5-770x433-14fa625ac51cc1685c35ba202f47ec383e861ff0当 Kemal Gunel 七八岁的时候,他的爸爸半夜把他叫起来看 1979 年的《异形》。

“那个时候对我来说简直是创伤。”他现在说道。

但从那之后,Gunel 一直想要重现这部电影的恐怖美,最开始当一名电影布景的灯光师,现在成为了《Tartarus》的 3D 美工。截屏和预览视频中有一些独特的温暖的光辉,已经反映出了一些雷德利·斯科特式的复古主义色彩。

“我从他的电影里学到了很多技巧。”Gunel 详细地解释道,“通常我会在一个区域里打一道主光来看清大体的几何构造,然后慢慢地开始切入阴影。”

blogAssets%2F2017%2FMAY+2017%2FMIU+-+Tartarus%2FMIU_Tartarus_Pic4-770x433-312ef4932cc60555bc542f94ffd5ed59b9d56927

《Tartarus》的复古风格反映的是节能灯之前的白炽灯时代,Gunel 借助温暖的橙色和浅蓝色的组合体现出了这一特色。听起来容易,但这种简单是难实现的 - 需要细心地处理有光照的桌子、计算机和屋顶,还得时不时退后一步,审视整个场景。

“不要一直盯着电脑看,这是很重要的。”Gunel 说道,“要不最后根本看不出任何差异。假设你在这,你熟悉这块地方的方方面面。甚至连金属墙壁上那些锈迹斑斑的纹理都铭记于心。

但你必须知道:几何结构、光照和纹理息息相关。”他补充道,“一损俱损。”

《Tartarus》将于今年夏天登陆 Steam

 

编者按:PCGamesN 选择了几款迷人的虚幻引擎游戏,采访了其开发者,从而制作出长篇连载的“在虚幻引擎中制作游戏”系列。Epic 对编写过程没有施加影响。