《请出示文件》(Papers, Please)开发者日志编译(三)

在这部分更新中,我们看到开发者分享了更多技术上的事情,包括一些软件、代码、数值、音效和画图等等。一些玩家或许会看不懂,但至少知道了这背后的复杂。

授权转载灯塔实验室2014年12月18日 12时39分
本文出自tigsource,是《请出示文件》开发者的开发日志,记录了他在制作这个游戏的过程中不断出现的种种想法,以及与热心的读者和玩家们的即时交流。从开发者的描述和与读者的交流中,我们可以非常清晰地感受到,这款经典的游戏是如何从无到有,又是如何在开发者的思考和玩家的建议下逐渐变得越来越好玩的。本文由陆佳琪编译,并发布在知乎专栏灯塔实验室中。触乐网与编译者联系取得授权,进行转载。

查看前文:《请出示证件》(Papers, Please)开发者日志编译(一)(二)

 
问:刚刚通关了alpha版的Demo,好赞啊!我已经等不及要看看更加复杂的情况下会怎么样啦(目前是一旦发现证件上的矛盾信息,就直接拒绝那个人入境)。

我玩这个游戏到现在也积累了点想法和笔记。我一直在想,就询问某人缺少的文件方面会不会有一种更快的途径。就现在而言,时不时要查找一下手册里的规则还是比较机械的(特别是规则会越来越多)。我在想是不是可以同时点对话记录还有桌面?或者可以直接点一下话筒,然后会出来个对话框/树,在里面有选项可以叫对面交出缺少的文件。

我知道游戏的核心是让玩家意识到文件里有矛盾不符的地方,但就像我之前提到的,这有时候还是会让人感觉比较繁琐。在对话里加入选项可能会有如下的几个好处:

1. 如果他们一开始就提供了所有的文件,但是你还问他们要,他们就会因为你业务不熟练而变得反感(所以这个选项不大会反复出现,特别是当对面这个人身上有枪的时候,他可能会因此而威胁你)。

2. 你可以主动要求对方意思意思(不仅仅是等别人来意思意思。即使对方所有的文件都符合规定,你也可以要求对方意思意思。这很可能会让你锒铛入狱,不过你可以意思意思你的上级来保住饭碗。不过这个感觉还是有点复杂,只是一个尚未成型的想法)。

3. 说一些安慰或者挑衅的话。这对实际的Gameplay可能影响不大,但对于个性化你的角色有帮助。很多时候,我会对我拒绝入境的人产生一点悲悯之心。由于他们文件实在难以达到要求,我只好在他们的护照上留下红色的印。这个时候说一些带有善意或者恶意的话可能会让做决定的人好受些。这么设定还有一个好处就是,可以影响对方的情绪/回答。情绪/回答也可随机生成。在客服工作的时候,我常会看到一些人因为种种不足道的小事大发雷霆,即使我一直希望有话能够好好说。这个游戏里,我可以很容易做到这一点:我先好言相劝,对面开始歇斯底里,在我关闭铁窗的时候,我对那个人的同情也像被卫兵架走的他一样永远消失在寒风里……

我的另一个建议和你的Republia游戏关系比较紧密(我也超喜欢那个游戏!)。你提到了每天收邮件和通知,我觉得简单的报纸头条可能也不错(就像在Republia里)。一个好处是这种故事大都可以看作是对整个游戏故事背景的补充说明(Arstotzka是最伟大的国家!Republia狗们和我们势不两立!),但这么一来玩家就处于比较尴尬的位置了。如果这是外面世界的唯一信息来源,我们该相信什么?Republia狗们真的是穷凶极恶之辈吗?我们看到持有Republia护照的人,我们心里想的是什么?我们会故意和他们过不去吗?故意要求他们提供更多的文件?

对于最后问题的答案可以和这个有关:让排队的人与他们的祖国之间的联系更紧密。我注意到有些护照看起来和别的不一样,或许这种差别应该更醒目。你可以把来自不同国家的人的签证甚至他们的衣服和不同的颜色对应起来。这样一来,只要某个人站到你面前,你就会意识到他是来自Republia还是Arstotzka,即使他们出示的文件上印的是相反的国家(这里又给了你一个理由,来仔细核对某一个群体所提供的文件)。举个例子,某一个国家用的是以红色为主的色调,来自那个国家的大多数移民也都带有同样的红色元素。就在昨天,这个国家的炸弹狂魔在边境自爆了,因为他们持有合法的文件(或者是伪造的),而你放他们入境了。那么今天你在不得不面对一批又一批有着同样色调的移民时,你就会对他们产生一种不明所以的抵触情绪。

答:哇!非常感谢你写了这么长的一段评论。关于对话树,我很抱歉,恐怕我不会在游戏里加入这个。从一个开发者角度来说,我不想写太多的对话。从玩家的角度来说,我同样也不喜欢读太多的对话。我觉得游戏的推进应该更加侧重于机制方面的而不是传统的对话树。至少这么做会增加游戏里那种官僚主义的感觉。我很喜欢你说的可以主动提出意思意思,我可以把这个做到下拉菜单边上,比如在指纹扫描旁边。报纸也是个很好的提议。其实我也一直有类似的想法,报纸的头条可以给玩家提供最新的信息,但又不用读很多东西。最后,你关于护照的那一块说得很对。我肯定会让他们变得比较不一样,因为玩家最容易忽略的一点就是入境者的国籍。我还不确定会不会用代码编他们的衣服的颜色,不过我肯定会考虑的!

 

声效

在过去的几天里,我一直在往游戏里加音效。我通常很讨厌做这件事情,但是这一次我觉得还行。游戏里大多数的声效都来自http://freesound.org(免费)或者http://soundsnap.com(收费),之后我在Audacity里编辑它们。好的声效会让游戏更逼真。

宽屏

我决定把画面比例从3:2调成16:9,这样可以腾出点地方来摆放各类文件。不过要想做出一个标准的16:9还有点困难。所以我决定只把画面变宽,但高度维持一致(570*320)。

4fabba1c16bd776c8c6edc655bb76d9f_b

我也许会把上面的部分往右延伸,或者在右边加一条有车流来往的路。炸弹狂魔也有更多的东西可以炸。

请出示借书证!

我一定要分享来自johnki的图:

082985206cdf7fddf6404f404eb3ab80_b

问:我不喜欢现在的敲章系统。我觉得一个更简单的手动工具可能更好:拖动其中一个图章到签证上,单击鼠标敲下图章。

答:我在之前的帖子里谈到了这个问题。一个拖放式的图章会要求玩家通过释放鼠标按键来敲章,感觉没有现在这个按下鼠标的同时敲章的设定来得好。

问:如果你没有按照规范操作的话,警告条会一直在桌上而且我也不能扔掉它们,我觉得这个看起来很烦人。这可能是个有效的提醒方法,但是感觉还是很怪。

答:实际上我还挺喜欢这个设定。比起扣钱,玩家会更加注意不要拿到警告。可以把警告纸条扔到桌子左边的角落里,这样就不太会影响到你的游玩体验了。

没收文件

刚刚搞定没收系统:

48e0ba848a803835e28e39482b862362_b

在游戏进行到某一阶段,上级会要求你没收特定的文件。下面的抽屉可以用来存放这类文件。作为更为庞大故事的一部分,一些待入境的人甚至会有意购买某些已经充公了的护照。

问:我只有一个问题。作为一个站在岗亭里的桌子前审查移民的人,你的位置肯定没有高到可以狙击别人。这有点出戏啊。加一个按钮会更合适?你看到某个人,然后你可以在适当的时机按下按钮来让你的同事干掉那个人?

答:狙击是在屏幕上方有一个“全局窗口”所带来的好处,所以我肯定不会满足于只搞一个报警按钮。工作原理是这样的,你是从检查站的右边开火的。也许我应该做一个枪管伸出来的动画。我也可以让子弹从站里发出来,所以你的瞄准镜就成了一条虚线抛物线,而不是十字准星。这可能会对这个问题有帮助,因为暂定的十字准星过于简单了。

对于强行过境的人,我预备了3个选项:

1. 袖手旁观。卫兵会搞定一切。没有外快可赚。

2. 麻醉镖。瞄准起来比较难,要好几发才能放倒那个人。可能阻止不了自爆。全额外快。

3. 狙击枪。一击必杀。全额外快。

问:所以……没收……这是新版本?:D

答:技术上来说,没收系统和狙击枪已经可以用了,但是目前还没有和Gameplay整合到一起。在所有主要的日常功能搞定前,我还得搞照相搜身和拘留系统。在那之后我会让这两个系统在真正的故事里起作用。所以在最近一段时间里我不会更新。Sorry。

问:我的妹纸在她的电脑上试了一下(台式机版本)。在她进入游戏的时候,游戏画面会横置过来。之后她用管理员身份运行了游戏,一切都正常。好奇怪的Bug。我自己的电脑就不需要用管理员身份运行游戏。我唯一能想到的解释就是:她电脑用的是Intel的集成显卡,而我用的是ATI的卡。

答:谢谢让我知道这件事。还有其他人也报告了这个Bug。她有没有可能误把显示器的显示方向改成垂直了?我误把一些iPad的定位逻辑加到了台式机版里。显示方向设定为正常的电脑也可能碰到这样的问题。所以我会把这些逻辑删掉。

 

这就是为什么我们不能好好玩耍……

友好的边境卫兵什么的……

TVtOtAE

精灵(Sprite)制造

我已经花了一段时间来制作动态的精灵,我觉得现在应该把我最后用到的流程发上来(译注:Sprite是2D游戏里的一个素材类别,主要是除地形外的图像素材。想象一个口袋妖怪游戏里的场景,你看到的人物啊,小路牌啊,小道具啊,对话框等等都可以属于Sprite。地形和建筑一般称为Tileset)。基本思想是创作/编辑/动画化每一帧,然后把它们导出为一系列png文件。接着我会用TexturePacker把所有单独的帧合并在一张图上(Sprite Sheet)。我试过很多的精灵动画软件,几乎所有的软件都会有人推荐。不过因为我用的是Mac,所以我没有试过被很多人捧为最好用的Graphics Gale。

Pixen

这是一个Mac上的原生应用,所有的基本功能都有。我几个月前用Pixen把入境者的站立,行走,快跑的基本动画都做好了。几天前,我想继续把剩下的动画都做好,但没有多少新进展。最大的问题是,在导出png图片的时候,我都要按鼠标按到手发酸。我记得Pixen好像有Onion Skinning这个功能(译注:Onion Skinning是2D动画术语。所有的帧会同时显示,方便修改动作。最早指一种像洋葱皮一样又薄又有点透明的纸),但是我怎么找也找不到,所以就放弃了。

ASEPRITE

这个应用操作起来实在效率太低,特别是在OSX上。不过在学习了一点快捷键之后,我觉得简单了不少。虽然我在学习操作上花了很多时间,但还是有一些成果的。读取/保存功能做得很好,所以在我制作强行爬过围栏和卫兵行走+站立动画的时候还算顺利。Onion Skinning功能也不错。不过在我准备做爆炸效果的时候,问题就来了。因为这个软件提供的工具很有限,所以最初的爆炸效果简直不忍直视。

Photoshop

在意识到爆炸效果的难点后,我选择了更为复杂的Photoshop。希望作图的过程简单,且导出方便。Photoshop的动画系统很赞,那些工具和图层用起来都很顺手。PS Extended有Onion Skinning这个功能,但是我后来发现没有我也能活。就导出而言,有一个内置的“导出图层”脚本,但是屁用不管。我最后就导出成网页用的gif,之后再用ImageMagick抓取每一帧。

ImageMagick

这是一个使用命令行(command-line))的图片处理工具。主要工具叫做“convert”,你可以用这个做很多碉堡的事情。我最近越来越喜欢用ImageMagick,而且也觉得越来越顺手。举个例子吧,抓取gif,把背景色换成透明的,最后把帧动画导出为一系列32-bit的png图片。

那么代码是这样的:convert -coalesce ‘Boom.gif’ -define png:format=png32 -channel rgba -fill none -draw “color 0,0 replace” border/Boom-%02d.png

简单,快速。

现在我确定好了以Photoshop为主的流程,我估计会在之后一直用这套流程来工作。我昨天总共花了6个钟头在爆炸效果上。我再也不想逐帧画爆炸效果了。游戏里,在你还没有反应过来的时候,应该就炸完了。不过我还是把这个图放在这里,留给喜欢刨根问底的同学:

UqaZ6tE

 

这是一些小更新。最近在弄故事情节,进展一如既往的缓慢。

报纸头条

新的一天会从一张报纸开始:

e60b5cda4e04f243214d8a9cb9d2985b_b

《Papers, Please》将会是我第三个用报纸来连接故事情节的游戏。这种就是玩不腻啊。

囧脸不嫌多

更多男性囧脸。(译注:右下角疑似作者本人……)

e9884004bc92dd11c3fc2b7a18601afa_b

画图过程视频:

问:我觉得如果可以主动用麻醉枪放倒别人的话会更好。你还可以加一个选项,让其他人来干掉他。这样的话,在一个行为里可能会夹杂着道德方面的暗示。你还可以根据每天的威胁程度决定翻栏杆者的威胁程度。一个定时的选项按钮应该会和移动十字准星瞄准在功能方面差不多,但是在与游戏的风格的相符程度上可能会更好。是扣下扳机还是呼叫其他人来做这件事情会是个很有趣的道德上的抉择。(译注:Ethics里有killing和letting die的讨论。估计他说的是这个东西。)

答:我读了这段话好几遍,但是不好意思,我实在不知道你想说什么。在里面加入更多道德方面的选项是可能的。但坦白说,整个过程持续最多5秒,基本是这样的:“我应该亲自阻止那个男人吗?还是让卫兵处理……啊,已经结束了。”

问:实际上“不得不扣下扳机”这个设定让游戏的风格稍微过于黑暗了点,而且似乎玩家在这个场面被赋予的控制权比游戏的总体设定要高。

答:啊,这部分我读懂了。好主意,我会考虑的。让武器从致命性变成非致命应该会让游戏风格不至于太过黑暗。不过射击这个动作在游戏的多样性上是很重要的。我关心的问题不仅是在游戏里加入尽可能多的道德难题,我还要考虑游戏是不是好玩。

数值脚本

99%的时间里我会用XML来处理文字数据,但这个游戏里我还用了其他的东西。简单的首行缩进格式和从Numbers导出的CSV。(Numbers是Mac上的Excel。)

日子

54fd09754197733031e259dc78408f29_b

这张单独的电子表格记录了所有日常的设定,过境人员的安排,新闻,规则等等。我也会用其他的表格来记录设计逻辑等,在这里我可以直接把导出的CSV数据用到游戏里。在分开的电子表格里记录数据使得之后的相关查询和编辑工作变得更简单。如果这些东西是XML格式,那我在修改不同区域的时候会花比较多的时间在来回滚动屏幕上。可能自己搞一个工具会更方便,但最近时间紧,就不弄了。

入境者们

34ee1ff252ed283127b65dceb4f02c19_b

用一个缩进就可以标记出入境的人,在游戏里会被解析成一个节点树。语法高亮提示是我的最爱,所以我自己为Sublime Text 2搞了个.language文件,这样可以给所有缩进的行加上颜色。用这个简单的格式,在编每个人的脚本时我可以根据需要来增减对应的说明量。我可以自定义某一个人在被拒时说的对话,其他东西都由游戏自动生成。另外一些时候,我可以手动添加所有的细节(脸,姓名,对话,国籍,纰漏,等)来为剧情服务。

问:最终版本里,每一天都是预先被决定好的吗?比如,游戏有50天,每一天都有预先设定好的故事情节,然后游戏有一个类似“结局”的设定?如果是这样的话,你有没有想过加入“无尽模式”?在这个模式里你不用操心家人,只管玩到海枯石烂/炒鱿鱼/被枪毙等。

答:你基本都说中了。目前我计划在故事模式里有大概30天的时间。可能会有些小的分支剧情,但大多数的人都是随机生成的,照顾家人环节可能不会有。在某些情况下,游戏可能会提早结束,但是整个模式的话,是预先确定好的。

我一直在考虑“无尽模式”,还是看工作量吧。我目前觉得加那个模式应该很简单,所以很可能最终成品里会有。

问:游戏好赞。顺便说一句:期待成品!我已经挑选了一首片尾曲给你!

Arcade Fire - 《Surf City Eastern Bloc》

答:谢谢!好歌!

问:一个工作许可上的有效日期持续到一个月之后,但是那个人会待12个月。游戏没有显示这个为矛盾信息。

答:好像是日期生成出了问题,我会检查的,谢谢!

问:建议:在规则手册里加上侧边按钮;至少在前两三天里,警告单上直接告知失职的原因;也许把狙击枪的设定改成这样比较好:点击那个人就会引起卫兵的注意。如果那个人在边境后干点违法乱纪的事情,就会被请去喝茶。如果他已经越过边境了,就不要怪子弹不长眼睛。

答:侧边按钮很好!不过在beta版里我应该来不及加进去了,但是最终版本里肯定会有。目前游戏总是会告诉你失职所在。只有在左边无卫兵的情况下,才会有人越过围栏。我还是觉得第一人称的狙击比较好。

问:我没有看到你在论坛上说这个。就是在0.1.1版里我只能在护照上敲章,而之前的版本里可以在所有的文件上敲章。

答:到处盖章很好玩啊,但是我觉得这个也增加了很多无用功。我可以把这个设定成“可选”(只有护照是必选),但是这个或许会给玩家带来困惑,然后他们就会到处敲章。在游戏里你很难说清楚“你可以做这个事情,但是你不一定要做。而这里的这件事情你一定要做”。在游戏里你肯定会在许多护照上盖章。相信我,到最后你会因为只用在护照上盖章而暗自庆幸。 

0

授权转载 灯塔实验室

dtsys@chuapp.com

独立游戏制作,理论与发现。

查看更多灯塔实验室的文章
关闭窗口