《请出示文件》(Papers, Please)是一款像素风格的文字冒险游戏,近期终于登上了iOS平台。从这篇开发者日志中,我们可以清晰地感受到这款经典的游戏是如何从无到有,又是如何在开发者的思考和玩家的建议下逐渐变得越来越好玩的。
《请出示文件》曾经获得包括2014年BAFTA(英国电影电视艺术学院)最佳模拟游戏奖在内的诸多奖项。但因为一些问题,这款游戏始终未能通过苹果App Store的审核,不过最近游戏的作者Lucas Pope在Twitter上宣布,《请出示文件》终于通过了苹果的审查成功上架,定价为7.99美元。首发期间限定价格为5.99美元,在中国区定价40元人民币——但这游戏没有中文,如果你的英文不太好,那就会丧失接近95%的乐趣。
本文出自tigsource,是《请出示文件》开发者的开发日志,记录了他在制作这个游戏的过程中不断出现的种种想法,以及与热心的读者和玩家们的即时交流。从开发者的描述和与读者的交流中,我们可以非常清晰地感受到,这款经典的游戏是如何从无到有,又是如何在开发者的思考和玩家的建议下逐渐变得越来越好玩的。本文由陆佳琪编译,并发布在知乎专栏灯塔实验室中。触乐网与编译者联系取得授权,进行转载。
我的朋友,你有没有过这样的经历呢?坐飞机前往异地他乡,而在过海关的时候总是焦虑不堪。《请出示文件》(Papers, Please)让你也来当一回移民官。不过这次你不会坐在高级的机场办公柜台里,而是被安排到饱受战争的反乌托邦国家Artotzka,你将会在那里的入境管理局工作。 “荣耀”与“自由”的国度Arstotzka刚刚结束了与邻国Kolechia的六年战争,现在他们拥有了位于两国边境的小城——Grestin一半的领土,而你的工作就是监控从另一半Grestin涌入的人流。在移民和外来务工人员里潜藏着走私犯、间谍和恐怖分子,以他们提供的文件为依据,你可以用入境管理局标配的老式电脑来决定待入境者们的去留。
OK,这就是故事设定。一些内容和我的另外一个游戏《The Republia Times》很像。偶就是喜欢反乌托邦设定~下面是一个先期预览模型:
这里面看起来还是比较简单。敌国在左边,祖国在右边。屏幕上面是实际上的边境检查站,屏幕下面是站内的情况。等待入境的人会排在左上角,依次穿过你的检查站,之后继续往右走进入Arstotzka。在人们进入检查站后,你单击他们的证明文件然后检查其中的矛盾之处。之后你可以批给他们签证,或者否决(但否决的具体原因,天知地知)。把图片放大一点:
我还没有把游戏的机制完全想清楚。不过基本上可以归结为检查所有的文件,然后找到任意两条不匹配的信息。举个例子,如果这个人的护照上写着他80公斤,但是他实际测下来的重量是84公斤,那么你有理由去怀疑他。在UI上标记这两条信息,然后会开启进一步的选项。在这个例子里,你会用到金属探测器来搜身,甚至可以让他脱掉外衣。不过原因只是他最近胖了一点。欢迎来到Arstotzka!
初衷
我之前的一些游戏都是先完成了程序部分,之后才是美术。这次我想尝试把注意力放在美术上。我设想了很多酷炫的像素画像以及文件,但是还没有想太多的技术方面的问题。这个游戏的重要组成部分是过境者们的画像,所以在这上面花了很多时间。我也一直在想怎么样搞一个系统,它能在我最初的画作基础上创造不同的人脸。这大概是个技术上的难题。
关于美术
我没有受过正规的美术训练,所以我就模仿在其他地方看到的画。我对于像素游戏最喜欢的一点是他们只用了很有限的调色盘。我没有选择通用的调色盘,而是试着把单个物体或者背景限制在3个色度(Shade)左右。不过这也不是什么硬性规定,如果看起来效果不好,我就会马上改掉。在上面的模型里你就可以看到这样的情况。 在游戏的最初版本里,我会用中等级别分辨率的像素画绘制所有的东西。就我个人而言像素画是一种非常简单快捷的方式,而且我也很喜欢这种艺术形式。像素画对独立游戏人和喜欢独立游戏的人都很有吸引力,但我觉得可能大多数倾向于玩主流游戏的玩家更喜欢那种非像素风的、看起来比较平滑的风格。我也做过一些把角色画像转换成矢量图的小实验,它们看起来也不错。所以如果我想要把这个游戏在日后变为商业游戏的话,我也有办法转换所有的美术素材。实际上,在制作《Helsing’s Fire》的时候,我就是这么干的,当然最后效果也可以。
技术
我已经有了一个很赞的基于SDL的自定义C++引擎,不过对于这个游戏,我想用HaxeNME。我之前做过两个Flash游戏,我很喜欢它们这种对于玩家很友好的特点。HaxeNME看起来很有意思,在这个游戏从开始制作到能够作为原生应用发售的过程里也能算是一个小的保险。我其实是全职的独立开发者,所以我非常希望在一个游戏做完的时候能够发售它。如果这个游戏还算凑或的话。
开发日志
我已经开发了很多游戏,但是写开发日志还是头一次。我会尽力用最近的截图和版本来持续更新这个帖子。我不希望整个游戏的开发时间会超过几个礼拜(译注:作者后来把“礼拜”换成了“月”)。欢迎大家来反馈(译注:原贴很长很长很长……很长,所以我就节选了一些和大家分享,不过还是很长很长很长的,所以会分成几次连载。有兴趣看原帖里各种版聊和吐槽的朋友们请点击原文网址:tigsource)。
1. 如果我让所有的人都进入国境会咋样?有木有啥惩罚呀?如果有,具体有些啥。
2. 那如果我不让任何人入境捏?比如国境封锁。
3. 作为一个玩家,什么才算是最终目的?在什么情况下偶可以爆机捏?
答:我目前想的是,Gameplay会以天为单位,而且每天都有一定的配额。你在游戏里的目标应该是尽可能快地处理每一个人的文件,还不能出错。游戏里会有一个故事情节与天数紧密结合。级别比较低的每日事件会在可控范围内随机生成,但整个故事是预先写好的。 如果一个都不让进的话,可能几天后你的领导就炒你鱿鱼了。如果你让所有人都进的话,之后的间谍/恐怖/走私的干活会都算在你头上。我目前的想法是每天结束的时候会有一个报告,显示你这一天干得怎么样。不过也会有些结果是立刻显现的,比如自爆狂魔会一离开你的检查站就引爆炸弹。
问:
1. 如果玩家能决定护照上的照片和站在那里的人看起来是不是同一个的话,应该也很有搞头哦。
2. 如果要提高难度的话,可以让照片上的人看起来比较年轻,而且还顶了个不同的发型。
答:这正是我想做的!即使盯着预览模型看的时候,我也觉得来回对照那个囧脸和护照上的照片很有意思!同一个人?大概吧……一名称职的入境管理员一定要张大怀疑警惕的双眼。换眼镜/帽子/年龄也非常有意思!这也和下面的话题有关。
通缉要犯
当你在开启了电脑终端后,你可以在好几个界面来回切换。一个界面里会列出一系列著名的间谍/恐怖分子/罪犯/走私犯。在你审核过境的人的时候,不要忘记把他们的脸和公告上的照片核对一下。如果你发现了符合的地方,选中他们的脸和照片,然后就会出现“逮住这个小子”的选项。根据这个衍生出来的“紧急通告”系统也会营造一种“谍影重重”的氛围。可能你会突然被紧急通知,说在之后的几分钟里会有个伪装过的罪犯通过检查站,之后你肯定会焦急地等他出现,但很有可能是白忙一场。
伪造证件
除了基本规定以外,规则手册里还有周边国家的常用文件和护照样本。如果你想的话,你可以随时查看那些样本来判断它们是不是伪造的。这个设定有个很好的一点就是,在游戏进行了几天后,你将会记住大部分常见文件的样子,也不需要再浪费宝贵的时间翻看规则手册。
问:我平时也会审查很多文件。我个人不喜欢文件从“桌下预览”直接移到开阔的桌面上。也许你能够把游戏做成这样:平时文件是折叠起来的,但是当你把文件拖到桌上然后放开鼠标按键的时候,文件自动打开了?同时,我好期待这款游戏!
答:嗯。其实这个设定我一开始很满意,因为你可以在把文件拖动到桌上之前就看个大概。这样会很方便。我一开始觉得这样就直接拖动看起来不错,不过现在你这么一说我也觉得有点奇怪。
你看起来是好同志
新版本:
这里我已经加上了最初版本的规则手册、对话记录以及电传系统(Telex Dispatch)。我也手动编了一个待入境的人,所以你现在可以没事翻看一下他提供的文件。不过其实除了这个你也不能干其他什么事情,因为我还没有把你在他护照上敲章的部分搞定。 现在的版本还是早期版本,所以啥都没有啊。没有故事情节,没有有趣的遭遇,总的来说没有什么意思。很多东西都没有做好,看起来也有点让人摸不着头脑。所以我也觉得这部分对于机制的介绍,我实在做得太渣了。我会通过持续更新来完善游戏,最终版本里的基础概念肯定会被解释的很清楚。所以就目前来说的话,大家就看看游戏里的规则手册吧。
脸谱
我又画好了一些过境的人了。
即使目前颜色看起来一般,细节也有待完善,不过这是我大致确定好了的风格。 因为要我手动画无数的人脸很不现实,所以我会用到一个过程式系统(Procedural System)来生成无数的囧脸。一开始我想的是把一张脸映射到一个大致的三角形网格(Mesh)上,然后再调整图上的几个点。不过在我仔细看了一下目前的美术素材后,我觉得上述方法做出的结果会很一般,或者说多样性不够。 所以我在Photoshop里做了点小试验,然后找到了一个更简单的解决办法。我把每一个囧脸分成三个部分:
1. 头和肩
2. 俩眼睛
3. 嘴巴和鼻子
第1条可以大致确定嘴巴、鼻子和眼睛的位置,所以可在这种的情况下产生一些随机的2和3。之后可以根据需要移动或者缩放来让整个脸看起来正常一点。 可以得到例如下图的囧脸:
嗯,那哥们看起来还凑合,不过那姐们看起来就有点神经。用整个的脑袋和肩膀也限制了总的人物轮廓不会有太大变化。也许把肩膀部位再细分,或者加一点头饰会好一点。不过他们看起来还是地球人呀,而且和我原始画的囧脸很不一样。 这个技巧让“伪造文件”相关的部分变得比较容易,因为我可以很轻易地实现那种“似是而非”的囧脸。我也可以用同样的技术在他们以前的文件上生成他们的年轻版囧脸。我还可以在脸的数据里加一点例如“戴眼镜”,“戴帽子”等信息,所以加个把饰品也不是难事。
终于把囧脸生成系统搞定,现在来看看吧:
如果我要生成64个囧脸,那么我一开始先画一张有4个脸的,然后在另外的图层上画眼部区域,鼻子和嘴巴区域,瞳仁位置,鼻子位置以及嘴巴位置。接着用游戏读取这些信息,然后从一开始的脸上按区域裁剪下来,最后再重新合并到一起。
这个技巧的一大好处就是简单。如果我画8张图,那么最后就会有32768个独一无二的囧脸。我现在也开始做一件事情,就是把头部和肩膀分开,这样的话会有更多的组合。
答:谢谢啦!我选用目前的调色板只是因为画风的关系,所以技术上应该不难实现淡入效果。不过我试了一下发现那个看起来有点奇怪啊。大概是因为调色板颜色比较少的缘故,阴影看起来比较诡异。
今天我搞了个不错的截屏系统,然后下面是一个卷帘铁窗的演示:
答:不像那些友好的边境检查官,他们坐在你的同一高度。在Artstotzka里,检查官们高高在上,以俯视那些满怀希望的人。也就是你说的,在窗口前有几级小台阶。
问:坦白地说,我很喜欢你一开始的那种淡入淡出效果。现在每个人过来的时候铁窗都要开关一下看起来好奇怪。坐办公室的人可不想整天把窗摇上摇下。如果有淡入的话,就有这种感觉:那些人只有在正对你的时候才能够吸引到你的注意力。
答:下面是两个对比图:
我喜欢铁窗所暗示的敌意。例子里可能显得窗的开关过于频繁了。在实际游戏里,两个入境者之间会有一段时间间隔,所以窗不总是上上下下。如果玩家们能够手动控制铁窗,他们可以选择让外面的人多等一会,或者早早把他们赶走。可能会很有趣哦。另外一种选择里的淡入淡出效果非常简单明了,也看起来不错。所以我还没有想好到底最后选哪个。
问:买买买!!啥时候更新!!我看到了Oliver Campbell!!(译注:美国已故网球选手)
答:不好意思,我之前一直没有看到你的回复。最近我可能会继续忙文件生成系统,还有怎么标记矛盾信息。我还不知道这些东西什么时候能加到新的版本里,不过我还是希望尽快搞定它们。
问:如果在铁窗开了之后他们淡入会怎么样捏?(原因是他们在铁窗开了之后才走过来。)
答:呃,实际上铁窗是用来显示阴影的媒介。如果入境的人在铁窗升上去的时候淡入就做不出那种效果。
问:如果人来的时候铁窗一直关着,你可不可以让等的人表现得很急躁或者心灰意冷?甚至他们会敲窗?
答:这是个好主意呀。我能把这个加到游戏里:如果你让窗外的人等得太久也不开窗,或者还没有归还他们的文件的时候就把窗关了的话,他们就会拼命砸窗。
问:嗯,还有一个问题哦。这些文件看起来都没有问题,除了两个地方:他的护照3年前就过期了;他只有6个月大。
答:啊,日期标示方法是“年,月,日”(译注:YY.MM.DD)。我会在游戏里把这个格式表述得更清楚一点。
问:在有人企图冲过检查点的时候,你可以让铁窗紧急关闭。也许会增加一点紧张的气氛。
答:呵,好主意!我原本想,如果你不放某人过边境,那个人会拿枪指着你的脑袋。紧急关闭铁窗会是一个自保的好办法。
问:这么做有啥特别的原因吗? “月,日,年”或者“日,月,年”在我眼里更有道理啊。
答:我想让纪年方法感觉起来是从另外一个时代过来的(两位数),并且很有异域风情(年,月,日)。我来自米国,我喜欢“月日年”。但是我住在日本,他们都用“年月日”,再加上两位数的皇帝纪年。我选“年月日”一开始是因为不论对于“日月年派”还是“月日年派”而言,这种应该都是最不容易搞错的。所以不论是住在欧盟国家还是在美国,大家都能比较容易地理解。但是我这种想法还是太天真了。因为(有读者表示):
“ISO 8601里说了,如果你用年/月/日的话,格式应该是4位数,不是2位数。”
“年份只有两位数的话,有时候看起来还是很困惑。”
你们都说得对,我想这应该是问题的根源。在这个版本里我故意选了个只有一种解读方法的日期(62.11.23),不过日期是本游戏的重要组成部分,我还是不能冒这个险。所以我还是用4位数来表述年份,然后游戏里的日期会根据玩家所在地换成相应的格式。
嫌疑发现
你提供的文件里只有一个小问题,韩梅梅小姐。如果这是你的真名的话。我们都知道它不是。
我不想光身搜查你(strip search),女士。但这是能证明你文件上的错误单纯只是个笔误的唯一方法。
检查模式
按右下角的按钮进入到检查模式。点击任意两条信息,如果他们互相矛盾,会有更多的选项供你选择。我很喜欢目前的界面分布,因为所有种类的错误信息都很容易被找到。举个例子吧,如果这个移民没有入境许可,那么你可以:
· 选中空空如也的桌子(上面本该有入境许可)
· 选中规则手册里的某一条款(所有等待入境的人都应持有有效的入境许可)
这两条信息指出了一个可怀疑的点,接着你可以训斥他们:“你丫到底是怎么想的。我现在当班啊,拜托啊,严肃点好不好,严肃点啊。”
伪造文件
除了无效的信息外,文件本身也可以是伪造的,我也花了许多时间在这上面。一开始我想的是让伪造文件的排版不一样。因为规则手册里有标准文件的范例照片,玩家要观察对比两者间的不同。但是我觉得改排版总是很奇怪。有人已经花了功夫伪造了一份文件,难道会没有考虑到基本的排版?所以那个时候我就想,要么让排版在比较微妙的地方发生错误,或者干脆想点其他的法子。
其他的法子(公章)
在现实生活里,官方文件经常会有公章,水印,全息标志,纹章还有其他一些安保措施。复制文件的结构和排版很简单,但是搞到对路的公章就比较难了。所以《请出示证件》(Papers, please)里的全部文件上都会敲章。官方承认的印章会在规则手册里列出来:
并且在文件上看起来应该是这个样子的:
这个东西为游戏难度的提升埋下伏笔。随着游戏的进程,坏分子会变多,你也会碰到更多更复杂的公章。还有一个就是,之后会有肉眼不可见的公章,所以你得把文件放在特殊的灯光下面来看。
答:这样的话就很没有效率。等待过境的人的护照,入境许可,回答,外貌还有你的规则手册里共有35条独一无二的信息。然后会有大概600种组合方式,所以全部按的话应该会按得手抽筋。而且因为所有的信息不是一开始就可见的,你得隔一段时间就重新拿出某份文件。
直接目测文件里的矛盾信息应该要快得多。
问:游戏里的分数是按照每一个人身上所花时间来记的,还有你的判断的正确与否?
问:是不是可以加个连击系统(巧妙地糅合到游戏里,不是什么“超级无敌酷炫46连击!!”)?
答:说实话,我其实还没有考虑过计分系统。你说的很有道理,但是我个人不太关心计分。不过用分数做个排行榜应该也不错,可以针对这个搞一个没有剧情的模式。在《Helsing’s Fire》里有个不错的赏金模式,你可以玩在线谜题,而且和故事没有关系。
我觉得升级不错。我脑子里有点这样的想法,不过还是先要等我把基本的每日Gameplay搞好,才能开始做出取舍。新的装备和审讯问题听起来比较靠谱。
时间
游戏里的时间的话,我还是倾向于即时。你可以暂停游戏(屏幕变暗?)来休息一下。不过你点击物件的那些提示和整理文件都是你在游戏里的工作,所以它们都应该算在总时间里。你手脚越麻利越好。就像现实生活一样,你自己决定是不是应该把时间浪费在查阅规则手册,或者通过电信电传来询问一个名字。这其实很简单,我不需要用特殊的颜色或者其他什么来解释什么会消耗时间——时间会消耗时间。
答:谢谢!有!:D 做这个游戏的一个初衷就是给玩家艰难的道德选择。我觉得这个游戏里的选择会比《The Republia Times》里的更难。实际上你的例子很好。