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

盖个章吧

你已经检查了某人所有的文件,而且没有什么异常。所以现在你怎么才能放他们通行呢?在现实世界里,检查的官员会在护照上粘个小纸片,然后盖上带有日期的章。我一开始想的是在台面上放几个图章(红 = 拒绝,绿 = 通过)。

如果你要盖章的话,要把图章从台面的一边拿到另一边。下面是个drag/drop(拖动/放置)的演示图:

把图章拖到文件上面很简单,不过具体的敲章动作要怎么实行呢?在drag/drop的设定下,你靠按住鼠标按钮(mouse-down)来拖动物件,靠放松按钮(mouse-up)来释放物件。如果你没有在拖动一个物件,程序很容易就能检测到鼠标现在是处于静止状态而且按钮都处在放松状态,然后就能进行一个“按下(click)的动作。如此一来,敲章系统就是这样的:把图章拖到合适的位置,放下图章,然后单击确定。不过这个设定还是很逊啊。松开鼠标来敲章的话一点满足感都没有。我们要的是鼠标按下时图章发出“铮”的一声,而不是在放松按钮的时候发出那种声音。

所以现在我改了一下游戏里的装置,现在试验一个可随时拉到桌上的图章工具栏。现在图章的位置固定住了,所以你只能调整工具栏下面的文件的位置。感觉好了很多:

你在护照上敲好章之后,要把所有的文件还给他们,接着他们就带着所有的东西往右边离开。

问:这游戏太赞啦,根本停不下来!我拒绝了大概50个人。这实在太有成就感了,因为很多矛盾信息都藏得很隐秘。 答:谢谢你!听到这个我很开心! 问:我目前还没有发现任何能够过境的人,这是有意的吗?目前情况下,如果有人不该过境,但是我放行了,啥事都没有啊,不过我知道我应该往好的地方想。是不是因为那些人应该被放行?玩家是不是应该在游戏里得到一点相应的反馈,比如扣分的同时指出的文件哪里有问题? 答:是的,目前版本里只有非法入境的人。这个版本的主要目的就是敲定审查文件的流程。之后的版本会更加复杂,如果你放了不该放的人入境,那么你就要承担相应的后果。我的计划是把游戏分成很多日子,而在每天结束的时候会用某种方式来报告你一天的数据。也许我会加进去一些回顾系统让你能够清楚地知道自己哪里做错了。 问:如果我找到矛盾信息的话,那么入境文件能不能被自动回绝?那个可以关窗的杆子有啥用? 答:敲章只是我的个人爱好。:) 游戏的Gameplay就是和这种复杂而又机械的过程有关,所以我应该不会去掉这些元素。那个铁窗目前还没有任何用处。我在之前的回帖里也谈到了,这在今后会作为一个防御系统出现在游戏里。 问:在拒绝别人入境时产生的满足感令我十分不安。我想,这就是人吧。 答:呵呵。我也觉得拒绝别人时很爽。我想最主要的原因应该是他们都想们混过关,哪凉快去哪儿呆着。以后我会让有些申请人更可怜一点,所以这种感觉到时候应该不会那么强烈。 问:顺便说一句,我看到你用了Haxe,酷毙了!是HaxeFlixel还是你自己的代码?你会把游戏搬上其他平台吗?(iOS,Android) 答:只是最基本的Haxe/NME,没有用Flixel。这是我的第一个用Haxe的项目,而我选这个只是因为移植到其他平台会很简单。我的目标是首先做出原生的PC/Max/Linux版本。手机运行这个游戏可能比较吃紧,不过平板应该没有什么太大问题。 问:真的是非常好的游戏,有意思,让人欲罢不能!用那种巨大的图章实在是很棒啊,而且你可以在别人的护照上随便敲章! 答:谢谢!图章敲不够!

对话框

简单的对话框例子:

目前我还在搞标记矛盾信息后会出现的各种事情。每一种错误被标记后都会引出一段简短的对话,在一些条件下会有如搜身或者电传的选项。还有要求申请人提供更多文件的情况。例如,如果他们在一开始没有提供入境许可,在被你询问的时候,他们可以说:“噢!我太粗心了!在这里!”然后把对应的材料放到桌子上。

我会把对话系统里的不同回答按照同的“性格”来区分,所以申请人可以是二货,林妹妹,或者摆出一幅事不关己的样子。

表现追踪

现在我还没有着手的一个问题是怎么反映玩家在游戏里的表现。如果游戏是按“天”划分,每天结束时应该会有数据一样的东西出来。我最近在想可能会搞一个快速报告来总结一下你处理过的每一个人的近况。

举个例子吧,如果你无意中放跑了走私犯,会给你个小报告:(照片)李四:因走私被捕。拘留后被处决。或者是一些更加正面点的东西。如果你因为心生怜悯而故意放过了一个证件不全的人:(照片)小红:与子重逢。工作顺利。这些小信息实际上是来自未来的,而不是第二天。所以在这个意义上可能有点奇怪。

另一方面

我觉得吧,有时候检查官的焦虑就来自于他们不知道每天自己经手的移民身上会发生些什么。在《请出示文件》里会有一些立即可见的结果(如炸弹狂魔)。不过另外很多时候那个人会直接过境,直到每日报告时你才会知道到底发生了些什么。现在还不确定我到时候会不会重点描述那种“知之甚少”的感觉,只给出最少的状态信息;或者这个游戏变成每一个入境者身上都会有非常详细的信息。

问:举个例子哦,可能有一个人过境了,之后因为在黑市上买武器被抓了,而他的文件上存在矛盾信息。而你会因为这个拿到一个警告。可能在好几次书面警告后,你会面临纪律聆讯。另一方面,可能你放过了为了与家人团聚的可怜祖母后,你会收到感谢信,还有一罐泡菜。 答:这,这个主意实在是太棒了!比我之前的那什么状态报告好一万倍。我肯定会把这个加到游戏里去。太谢谢你了!

信件

每天早上会有一沓信出现在你的桌子上。在叫第一个申请人之前,你得把它们浏览一遍。这可能是部门里的通知,批评,感谢信或者是发泄的信,等等。

贿赂

我很想在游戏里引入贿赂这个元素。也许你在游戏里的分数就是你的“钱”。一些狡猾狡猾的申请人会直接把钱塞到你面前,或者保证日后必定把钱寄给你。他们这么做都是为了让你高抬贵手。这会给你一点非利他主义的刺激,好让你对坏分子睁一只眼闭一只眼。

进程

金钱系统也会很好地与总体进程联系在一起。比如说你每天依照表现从部门里领俸禄,同时也会因为日常开销用掉一部分钱。你当前的收入也代表了你的财富等级(会有好几级)。故事和游戏会随着你不断往上爬而推进。

问:一位女士遗失了她的入境许可,但是游戏告诉我说没有相互联系。唔(她的护照也过期了呀)…… 答:哪两个东西没有互相联系?如果没有入境许可的话(仅限于非Arstotzkans公民),你得选中对应的规则还有桌面。我会修复你说的其他问题。在下一个版本里,你能够单击“护照签发城市必须有效”然后把它和错误的城市联系到一起。 问:我觉得之后你应该加进伪造文件相关的错误(不同的字体,纸张等)。 答:我已经试验过了,但是这些变化实在太不易察觉了。取而代之的是文件上的公章,有些伪造的章会和正牌的不一样。 问:用右击来标记矛盾信息怎么样,这可以省下检查模式。 答:我可以在原生版本里加入右击这个快捷键,不过Flash版本大概不行。或许我可以用空格键来开启检查模式,这样的话可以快一点。 问:对于规则手册我有点建议。翻页的那个边角应该大一点,在我看来应该尽可能的大。左上角有个丝带,看起来就像浏览器上的“后退按钮”,不过在书里有这个东西看起来还是很奇怪。我觉得这么设计应该会更好(或者更像真的书):读者应该总是能够快速翻到目录上。 答:你不应该翻页翻得太频繁,不过我同意书的角落应该大一些。我把书签做得比较像浏览器是因为我觉得这个可能更方便,不过你是对的。我总是狂按它好几次来回到目录。我会在以后把它改成直接回到第一页。 问:你从哪里得到这个游戏的灵感的呢? 答:在过去的几年里我跨过边境无数次。作为外来人的焦虑和终于回家的释怀,这些让我开始思考过境的整个流程以及是否可以将它们变成一个游戏。我也从很多谍战片里找到灵感,因为在边检的时候往往是这些电影的高潮部分。

一些效果预览:

验明正身

我计划搞一个点选手指尖的小游戏。

光身搜查

为了保证界面的一致性,光身搜查会通过照片来完成。窗帘合上,申请人脱光,之后相机会拍两次。就像其他文件一样,你可以检查这些照片。照片可以翻面来看受检人的背后。我还没有决定好最后的裸露程度。

问:我去!这个指纹扫描对于设定在50年代冷战背景的游戏也太高级了点吧!瞬间出戏啊!你可以考虑用个按手印的墨盒,然后待检的人可以把大拇指的手印按在一本书上,然后你再拿这个和档案里的对比? 答:对,你说得不错。这个游戏是设定在80年代的,所以能够勉强符合那种技术水平。不过我们讲的是某主义者的80年代,所以不管怎么样那个高级设备还是不符合总体的美学。我会把这个换成技术含量较低的装备。感谢你的建议。我会尽力在今天内把新(更落后)的指纹系统发到论坛上。 问:有几样东西我在玩的时候实在是搞不明白。怎么激活“拒绝”图章?这写在了游戏下方的规则里,但你为什么不把它加到规则手册里呢?在知道这游戏居然还有本规则手册前,所有的东西玩家都不能理解啊。不如在游戏尽可能早的阶段里就在这方面引起玩家的注意?在我读你的帖子之前,我都还不知道原来你可以选中手册里的规则。完全不知道。 答:在.swf文件下面有几行字说了一下你提的问题。不过这些都是很好的建议,我会在之后的游戏版本里把这些问题解决。 问:一位女士有护照但是没有入境许可。我选中了规则书里的“须要入境许可”,然后点击桌面,但是显示出来的是“没有相互关系”。但在一个人既没有护照也没有入境许可的时候,我点击“须要护照”然后点击桌面会找到矛盾信息。我其实一直不知道怎么把这位女士拒绝,所以我一直就让她通过了,因为我想看后面的内容。 答:Arstotzkan的公民不需要入境许可,大概这就是为什么?其实你描述的情况听起来就像个bug,不过我现在已经改写了很多基本的逻辑,希望这种事情不要再发生了。 问:当某人的护照上是无效的签发地区时,我在规则手册里找到相应的地区然后再把这个和护照/护照国家连接起来一点用都没有。你必须首先选中护照上的签发城市,然后在规则手册里选中有效的签发地区。就我个人而言,两种方法都在逻辑上可行,而且也都应该在游戏里可行。 答:好主意。找到正确的国家接着选中正确的签发城市加上错误的护照——这个方法看起来简单多了。我也同意所有找矛盾的逻辑方法都应该有效。我会修复的。 问:我好想快点玩到新版本。看起来在12月15号之后你加了很多东西啊。 答:很多东西目前还是半成品,所以我大概还需要一个礼拜左右的时间才能把新版本做好。这个开发日志的同时也算是对我自己的一个鞭策,所以我目前来说都还算按计划进行。感谢所有玩了试玩并且提出建议的朋友!

改良的指纹系统

上面的纸条是申请人上交的,下面的身份证明是系统根据申请人护照上的名字打印出来的。同一个名字可能会有好几份记录,每一份记录里也可能会有别名。这个系统可以为识别不同文件上的伪造姓名来使用。

目前的话也没有加其他的新东西。我一直在理清生成错误部分的基础逻辑,这样的话我之后就能着手故事方面的工作了。对了,我现在也想明白了基本的故事框架。不过我不知道我是不是应该在这里过多透露这方面的内容,因为这不太影响Gameplay,而且很多人也希望故事到时候能给他们带来惊喜。

再会了,曾经的指纹系统

我在删除旧系统相关的代码前截了这张图:

看起来还可以,但实际上也没有什么用。就像之前讨论的那样,它与主题不符。放在这里作为今后参考之用吧。

夜间统计数据

一些故事相关的东西:

你作为检查官的表现会在每天早上通过信件的形式传达,而你的家庭状况会在晚上通过这个界面来反馈。你白天去上班就是为了保障你家庭成员的生活。就像在一个典型的某主义国家里一样,你们一起住在一套小公寓里,被房租,暖气,食物,医疗以及其他杂七杂八的费用困扰着。你作为小检查官的收入勉强能够维持日常开销,所以很多时候你得在把钱花在什么地方做出艰难的选择。

如果你的工作很出色,那么你会升职也会得到其他一点福利。另一方面,很多申请人会非常迫切地要进去过境,所以一些无足轻重的灰色收入也是会有的。

问:音乐也很赞!你用的啥软件? 答:谢谢。我用雅马哈MOX6键盘来谱曲。它有一个足够强大的音序器(sequencer),所以我只需要在我的Mac上用Audacity把音频输出录下来就可以了。 问:我只有一个很小的建议。我觉得有戏的标志应该出现在第三个节拍上,而不是第二个,所以最开始的两个声音会在空白的屏幕上播放。 答:明白,会照办。

一些最近改变/更新过的小玩意:

对话

我一开始用了单独的一个对话框,谁一说话就会蹦出来。不过来来回回的对话过程实在是太慢了,所以我把它改成了更像是滚动聊天的窗口。虽然我不太喜欢对话框盖住脸,不过整个看起来好多了。

再会,电传

在那个图里你会发现电传系统也消失了。因为在我加入了指纹系统后,我找不到再留下它的理由。这个位置变成了每日简报。

每日简报

这是整个游戏里的第一份简报。每天早上上班的时候你会在桌子上找到它们。后面的简报会包含一些通缉犯的照片。这些本来都是在电传系统里的,但是我还是觉得放在这里更合适。

对话

我最近一直在比较笼统地写一些问题和回答。起初我用了正常的英语语法,但是对话就失去了东欧风格。所以现在我用了些更粗糙的英语,感觉好多了:

“I’ll stay for three months.”变成了“I stay three months.”(译注:for后加一个时间段)

变化还是比较细微,但我也惊讶于原来流畅的英语对于氛围的负面影响有多大。我希望目前这个版本会好很多。

行动按钮

在审讯的情况下,这些按钮会出现。在检查模式里选中有错误的信息后,只有一个选项会出现:审讯。根据对方的回答,一个或者更多的按钮会出现。这些按钮会一直在那里,直到你按下了其中的一个或者叫下一个申请人。

归还文件

取代了原先一股脑把所有文件还给对方,现在你得一件件地还。这为后来的充公和文件交换打下基础。

问:赞!一开始感觉信息量有点多,但是经过一段时间的适应一切都很好!我喜欢研究游戏,但是我也能理解很多人会因为上手难度高而放弃这款游戏。我觉得这个游戏目前唯一欠缺的就是我对游戏里的工作没有什么感情。 答:谢谢,谢谢。我希望能逐渐地引入游戏里的概念,并且在日后通过对话来增加感情方面的影响力。 问:非常喜欢现在这个版本,不过我还是希望有个合法的老兄过境啊。 答:酷!我最近就在调试难度和平衡。就一方面来说,我希望游戏里能有足够多的错误。不过为了让游戏更真实,而且让你不能掉以轻心,在游戏里应该会有很大一部分持有合法文件的人。 问:已经下载了,今夜我能够安心入睡啦。这绝对是近年来我玩过的最有意思的游戏,而且它变得越来越好啦! 答:谢谢你!我倒有点担心你对于这个游戏言之太过啦。在现阶段我不敢说这个游戏有哪里好,但是听到你这么样的夸奖我还是很开心。 问:我注意到了一点,就是在每天快要结束的时候,钟会暗掉,倒计时会停止。在第一天,游戏在我处理完当前的移民后就结束了。但是在第二天,游戏在我超时后再处理了3个人才结束。这让我有点想不通啊。 答:每天你必须要处理的人数会有一个下限。如果在这个之前倒计时就结束了,你仍然要完成余下的工作。我把游戏设计成这样是因为这么一来一些在剧情上很重要的任务就可以被安排到每天的日程里,而且也能和每日简报相符合。我会在游戏早期的一个简报里解释这个配额设计。 问:在游戏里有一件比较奇怪的事:拒绝和通过的图章上现在也有了日期,但它们不会随着游戏的进程而增加,所以我默认你会对这个做些什么? 问:在另外一个周目里,我发现磅秤和拘留按钮都没有用,这是你故意的吗? 答:好眼力!这些都还没有完全搞定,我应该会在之后的版本里加以完善。 问:我在一个周目里拿到了7个警告?而且我都不知道我错在哪里,我反复核对了所有的项目。 答:我正在考虑需不需在那些警告里加上错误详情。我觉得这应该不管什么用,因为在你拿到警告的时候,被你放跑的人早就走远了,所以你也不能再次检查他们的文件。不过因为你和Armageddon都提到了这一点,所以我会继续试验一下。 问:另外一个问题是,如果一份文件上有多处矛盾信息,是不是游戏只允许我找出其中的一组? 答:你能说得再具体点吗?检查模式应该要让你选中任意两处信息。你已经选中了两处明显的矛盾信息,但是游戏没有显示审问按钮? 问:谈到游玩的经历,在我上一周目里,我在第一天就拿了四次警告,我也不知道我哪里做错了。第一天里我觉得我应该让大多数人通过,因为我不能选中矛盾信息。所以你能不能在游戏里提供更多的信息? 答:嗯。这个警告数稍微有点多了,因为第一份简报里明确写了由于安全警报,你只能让公民进入过境。请问你读了那个没有?就我过去的经验来说,不论简报上的警告写得多详细,人们都会漏掉一些重要的信息。 问:第一天里一个可疑的都没有发现,然后第二天突然连续碰到了四个。我真的不知道我漏掉了什么东西啊。 答:嗯,谢谢你又试了一遍,我会在下一个版本里加入错误清单。 问:我个人的话只把检查模式看作是复查的手段,或者用作比较日期。除此之外,我碰都不会碰它,因为我在这之前已经检查过了所有的东西。 答:我能理解,但是检查模式肯定会在最终的游戏里出现。在游戏里,玩家需要用这个模式来清楚地表达他们的意图。游戏里所有的错误都源于相互之间的对应关系(两条本该一样的信息不匹配)——我觉得游戏里有这样一个清楚的结构很重要。如果你能够点击任何你觉得是错误的信息,那么实际上你就可以乱点一通然后等对话框出现。有了检查模式后,你必须要证明你理解了游戏里每一个错误的所在。 问:在这个情况下,你得拽那个藏在话筒后面的对话记录,然后选中他说的“他来工作”以及入境许可上写的“他来旅游”。这样才能找出矛盾信息。 答:不错,这就是我想要的游戏方式。但是DustyDrake 提到的那种方法应该也可行。该游戏的一个目标就是:任意一个错误都能找到对应的逻辑关系。所以如果某人说他来工作,你应该能指出他缺少了一张工作许可,然后让他改口。我会尝试在下一个版本里加入这个。 问:在游戏进行过程中为里面的道具加入一些简短的教程也许是个不错的选择(像我一开始就不知道的那个玩艺原来是对话记录)。例如“规则手册居右。日新,时查之。谈话记录居中。录而为鉴,以国之敌者,顾左右而言他者也。钟居左。时不我待。若小憩,有杆于上。禁绝。” 答:这个主意不错哦!还可以这样,如果玩家拉了那个杆子的话,总部会发一个警告。