这款现已发行了抢先体验版的独立游戏引起了热烈反响,在Steam上得到了“特别好评”的评价。随着Missing Digit工作室的成立,《Wrench》已经发展成为由两个人运作的项目。这家开发商最近宣布,该游戏将于3月13日在Oculus Store上架。我们最近有机会采访了《Wrench》的创作者Alec Moody以及程序员Jim Ashcraft。在下面的问答中,这两人讨论了《Wrench》可以有多么逼真和有多大的教育意义,描述了他们如何在保证VR性能的同时使模型和图像呈现令人惊叹的外观,等等。
(本视频转载自YouTube:视频原址)
感谢你们抽空接受采访。玩家有望通过玩《Wrench》学到多少关于汽车的知识?创始人兼美术师Alec Moody:按照目前的状态,《Wrench》相当详尽地展现了组成汽车的各种零件,小到螺栓和螺母都包括在内。目前玩家可以维修发动机、悬挂系统和制动系统。将来还会开放更多系统。没有任何汽车维修经验的玩家最好先做比较小的任务(更换机油、轮胎等等),逐渐加深对汽车的了解。我们设计的Gameplay模式始终本着这样的理念——如果有人在这个游戏里玩的时间足够长,可以熟练更换发动机内部的零件,那么他们就应该能够完全读懂维修手册,在现实中的车辆上进行基本维修。

Moody:我对修理本领很感兴趣,我鼓励大家自己动手修东西,而不是坏了就换掉。我在《Wrench》上寄托的希望之一就是,它能帮助揭开汽车的神秘面纱,传授一些实用的技能,让大家能够自己动手维修。我认为我们的客户大多是对摆弄汽车很感兴趣的人,但是他们也许不太敢动手,或者因为住在公寓里,没有工作室或工具。《Wrench》提供了一种低风险的学习方法。希望人们从游戏中真正学到知识,这种想法引导了许多设计决策。
程序员Jim Ashcraft:我希望这个游戏能够被广泛接受,提供让汽车爱好者感到满意的复杂性和写实性,以能够让人们保持兴趣的节奏发布游戏内容,并且在游戏中为那些花时间玩游戏的玩家提供有趣的升级奖励。平衡所有这些要求是个难题,我们必须注意不要把目标定得太多,以至于冲淡部分游戏体验。我们感觉自己正走在实现这些目标的正确道路上,不过有些目标要等到完整版发行才能实现。
我们也承认《Wrench》是个游戏,而不是纯粹的教学体验。本着这一思路,我们想要提供一些能让玩家“单纯享受乐趣”的方式,而这往往是纯教育产品所忽略的。这类例子可以是游戏中存在的彩蛋、迷你游戏和玩具般的体验。
是什么促使你想到了这个游戏的基本概念?
Moody:我非常喜欢玩VR,而且多年来一直想打造属于我自己的游戏。我扫描了一些汽车零件用于制作项目,然后就想到,如果能够在VR中与一整辆车交互,一定很有趣。修理模拟游戏似乎很适合做成VR,因为空间关系和各种物体的组合方式正是VR的核心。我也想打造一个把我的工作和爱好联系起来的项目。我做游戏硬面美术已经很久了,拥有大量机械经验,有学摄影的背景(这对我扫描[零部件]很有帮助),而且我也会做基础的金属加工,如果要制作夹具来扫描一些比较复杂的零件,正好派上用场。我觉得不会有很多其他的电子游戏美术师具备这种看似毫无关联的技能组合。我认为这就是上天要我干下去的启示。
对你来说,把《Wrench》做成一种教学体验很重要吗?
Moody:当然很重要。我希望大家从游戏中真正学到知识。为了不简化汽车结构,我们非常努力。我和汽车业的人谈起《Wrench》时,经常把它形容为一种非线性的维修手册,它能让[你]模拟所有装配。玩家不需要阅读索引,查找章节,然后找到相关段落,只需要扫描自己想要了解的零件,然后就能看到相关的示意图和书面安装说明。装配过程已经详细得足以用于实际。紧固件都有扭矩规格等特性。随着这个游戏不断改进,我们还可以进一步深入体现维护汽车每个子系统的规格,并实现独特的零件行为。
汽车模型和各种组件看起来非常逼真。你们是怎样在游戏里准确表现所有物体的?
Moody:构建美术是一个挑战,也是我在转为全职开发《Wrench》前必须解决的第一个问题。对于这样的一个游戏来说,尺寸精度极其重要、通常情况下,在为游戏和电影制作汽车模型时,各种机械组件只要从外面看着正确就可以了——它们不需要真正组合起来,比例也可以有些偏差,不会造成严重后果。对于《Wrench》这样的游戏,所有零件都必须能够真正装配到一起。为了解决这个问题,《Wrench》中大约一半的高分辨率几何体都是来自扫描数据。另一半是在Zbrush中完成的干净模型和雕刻。对于需要从头建模的零件,我要么用卡尺测量,要么就进行扫描来提取尺寸。因为我相信所有零件的尺寸都是准确的,所以我跳过了草图阶段,集中所有精力把每一种零件都做成一个道具。我尽量把游戏里的所有零件都当成主要道具来对待,哪怕是紧固件之类看似平凡的零件。大部分工作都在前期化作高分辨率的图形。低分辨率的模型通常都是从头开始重新建模的,材质是在Substance Painter中构建的。

Moody:我们的内容很不寻常,所以我们也没有遵循任何建议的VR实践。大多数VR游戏都是静态的世界场景,配上少数动态的Actor。而《Wrench》里只有一个很小的静态房间,却有近1000种可以移动的Actor。由于内容的性质,动态阴影和动态遮挡反光以及环境光源都是非常重要的。组装好的汽车基本上就是一堆深色的、闪闪发亮的Actor,它们挤在一个很小的阴影空间中。这样的内容很容易看起来像在发光。我们运行的是延迟渲染管道,主要是为了回避早期Z pass。这就把我们的绘制调用和三角形数量减少了一半。时空AA让我们对最高的图形预设运行SSAO,而不会在VR中看到大量屏幕空间噪点。对于动态阴影,我们使用一个超高分辨率级联。我们还使用屏幕空间反射来提供一些动态反射遮挡。硬件规格较低的VR玩家往往受限于绘制调用和三角形数量。对于这些玩家来说,关闭动态阴影将会大不一样。
Ashcraft:VR中的性能很容易成为问题,这是因为有很高的分辨率和帧率要求,而且系统需要把场景渲染两次,每只眼睛一次。我们两人有很丰富的游戏开发经验,从项目一开始我们就了解这个问题,所以一直对它很关心。但因为这项目只有我们两个人做,所以我们必须明智地选择优化目标,并且在对视觉效果质量影响不是很大的地方做一些妥协。
几个值得一提的优化目标是动态阴影和网格体实例化,用处是帮助减少绘制调用数量,提高渲染线程性能。例如,我们设计了一个系统来禁用已安装的小零件上的阴影。对于很小的螺母、螺栓和垫圈而言,让这些零件渲染阴影所得到的视觉效果保真度增益几乎可以忽略不计。为这些零件关闭阴影可以省去许多绘制调用,而且我们发现在性能上有明显增益。此外,为了帮助减少绘制调用数量,我们允许在某些条件下对零件进行实例渲染。但是这样管理起来可能难度很大,因为我们偶尔需要让零件使用独特的材质渲染,或者根据磨损程度改变零件的状态。
我们还提供了基本的视频设置,让硬件条件比较好的玩家能够享受到额外的功能和保真度。将来我们打算改进视频设置,让用户能够真正按照喜好对性能和视觉效果质量进行微调。
制作一个在VR和台式机上都能运行的游戏是不是很难?
Ashcraft:是的。这是我们在打造这个游戏时面对的最有挑战性的障碍之一,能够与之并列的只有游戏的高级设计和一些与装配有关的困难技术要求。VR和台式机在输入方式上的差异之大是惊人的。VR提供了无与伦比的空间意识和精确控制摄像机与动作控制器的位置和朝向的功能,但是控制器只有几个输入按钮。另一方面,台式机模式通过键盘和鼠标提供了大量输入,但是却没有能够在世界场景中有效操纵物体位置和朝向的直接方法。
这样的现实意味着,这个游戏里几乎所有交互都有多条代码路径:一条用于使用VR Pawn的交互,一条用于使用台式机Pawn的交互。游戏中的每个工具都是这样,每个在世界场景中可以交互的物体也是这样。维护这一点很难,特别是在功能发生重大改变的时候。我们必须明智选择要在哪些地方花费时间,确保不浪费时间优化以后可能发生重大改变的交互。
这是一个始终阴魂不散的难题。任何要添加到游戏中的新工具或新交互都必须做到在VR和台式机模式下都能工作。我们尽量在合理的地方共享功能,但这通常需要做出妥协。在某些情况下我们只能妥协,在另一些情况下我们就开发了更为定制化的交互。

Ashcraft:UE4提供了开发VR游戏的坚实基础。附带的模板项目为VR开发新手提供了很好的起点。用过一段时间后,我发现游戏代码和VR“输入”之间的基本接口是非常直观的……同样值得一提的是UE4基于物理的渲染功能。渲染质量配合Alec做出的特别精细的零件,使我们的游戏在VR里看起来很棒。由于性能原因,我们无法利用渲染器中提供的所有功能,但我们还是对达到的视觉效果感到很满意。
有没有哪个具体的UE4工具或功能让你们觉得特别有帮助?
Moody:要我来说,那一定是蓝图。我就是靠它做出了可以运行的原型,然后拿来宣传,最后进入众筹阶段。我不是程序员却能做到这一步,真是太奇妙了。除了蓝图之外,Epic也是真正在利用虚幻引擎推动游戏的开发。各种功能集配合得很好,没有任何严重的瑕疵,看得出来有人在你之前就已经想到了潜在问题,或者遇到并解决了它们。我们也不必使用任何第三方的功能,除了对引擎源代码的一点小调整,我们用的一直是原版虚幻引擎。
考虑到《Wrench》目前是抢先体验版游戏,你们计划再为这个游戏提供哪些更新和改进?
Moody:我们有很多计划。从大的方面来说,有三个主要的开发工作正在推进。首先,我们想把这个游戏做得更平易近人。我们打算为那些想用比较简单的方式玩游戏但又不愿牺牲视觉效果复杂度的人制作一个休闲模式。等到休闲模式做得比较好了,我们就可以开始把常规游戏模式做得再复杂一些。我们会把特定于零件的交互做得更精细,增加硅胶垫圈厂商之类的内容,测量发动机公差,总体上让玩家有更多事情可做,比如模拟EFI调节,以及汽车调校/设置。最后一个开发工作就是真正扩展内容库。要有更多零件,更多传动系统,还有一个庞大的售后市场组件库,让玩家可以按自己的规格打造汽车。
感谢你们抽空接受采访。大家可以在哪里了解更多关于《Wrench》的信息?
Moody:我们在Steam上的地址是http://wrenchgame.com/steam。我们还在http://www.wrenchgame.com/开了一个开发博客,在Oculus Store的地址是https://www.oculus.com/experiences/rift/1415202825245458/。在http://www.wrenchgame.com/也有开发博客。