《請(qǐng)出示文件》(Papers, Please)開(kāi)發(fā)者日志編譯(四)

在這部分日志中,開(kāi)發(fā)者解決了不少玩家提出的問(wèn)題和游戲中的bug。另外我們還看到了開(kāi)發(fā)者對(duì)于游戲畫(huà)面的改進(jìn):既要保留像素風(fēng),又要提升分辨率,于是做了很多嘗試。

授權(quán)轉(zhuǎn)載燈塔實(shí)驗(yàn)室2014年12月25日 11時(shí)45分
本文出自tigsource,是《請(qǐng)出示文件》的開(kāi)發(fā)者dukope記錄下的開(kāi)發(fā)日志,其中包括他在制作這個(gè)游戲的過(guò)程中不斷出現(xiàn)的種種想法,以及與熱心的讀者和玩家們的即時(shí)交流。從dukope的描述和與讀者的交談中,我們可以非常清晰地感受到,這款經(jīng)典的游戲是如何從無(wú)到有,又是如何在開(kāi)發(fā)者的思考和玩家的建議下逐漸變得越來(lái)越好玩的。本文由陸佳琪編譯,并發(fā)布在知乎專欄燈塔實(shí)驗(yàn)室中。觸樂(lè)網(wǎng)與編譯者聯(lián)系取得授權(quán)轉(zhuǎn)載。

查看前文:《請(qǐng)出示證件》(Papers, Please)開(kāi)發(fā)者日志編譯(一)、(二)、(三)

 
玩家:哈。我沒(méi)有注意到圖章位置被對(duì)調(diào)了,所以不小心在第一個(gè)人的護(hù)照上蓋了“拒絕”。我試著用另外一個(gè)章再敲一次,但是好像不管用啊。在最終版的游戲里,你能不能在游戲里的規(guī)則手冊(cè)之外再弄一個(gè)有關(guān)各種重要細(xì)節(jié)的說(shuō)明?我總覺(jué)得可能是有方法來(lái)改正誤敲的公章的,不過(guò)同時(shí)我也感覺(jué)這種設(shè)定似乎是有意那么做的——落子無(wú)悔嘛。

dukope對(duì),在蓋章的時(shí)候你可得小心了。拒絕的圖章蓋了之后就不能取消了,不過(guò)如果你先蓋了“通過(guò)”章,那么你可以再蓋一次“拒絕”來(lái)覆蓋掉之前的。所以在你沒(méi)有百分百確認(rèn)的時(shí)候,不要輕易蓋章。其實(shí)我還是有點(diǎn)想讓圖章系統(tǒng)考驗(yàn)一下玩家的。我估計(jì)除了制作人員表以及其他一些什么東西外不會(huì)再另外弄個(gè)“必讀”文件出來(lái)。我看看能不能把圖章系統(tǒng)的說(shuō)明加到每日簡(jiǎn)報(bào)里去。

玩家:一個(gè)不起眼的小問(wèn)題:第八天出來(lái)的那個(gè)家伙好像不能拘留啊。雖然我試著點(diǎn)選了很多地方,例如別人留下的紙條上的名字以及他護(hù)照或者身份證上的名字,但除了“信息相符”之外游戲就沒(méi)有其他提示了。但那個(gè)人看起來(lái)還是很可疑?。ú徽撐野鸭垪l塞給他與否,好像都能讓他入關(guān))。

dukope:那個(gè)哥們是Ezic Star教團(tuán)的成員。在后面的游戲里你會(huì)知道關(guān)于他們的資料還有為什么你不能拘留他們。嘿嘿。

玩家:我非常喜歡這個(gè)游戲,還有故事的走向。特別是新加的預(yù)先安排好的部分很不錯(cuò)。

我注意到兩件事:第一天似乎結(jié)束得很倉(cāng)促。外面的人群還沒(méi)有走完,而且檢查站里還有一個(gè)人在呢。另外,“違規(guī)”的次數(shù)每天都會(huì)重置,這樣的話我其實(shí)可以在工作中犯很多錯(cuò)誤。我知道把瀆職的懲罰調(diào)高會(huì)讓游戲難度上升,不過(guò)這樣應(yīng)該也會(huì)讓游戲變得更真實(shí)。

dukope:謝謝!我會(huì)再檢查一下時(shí)間方面的設(shè)定。我覺(jué)得正常情況下你應(yīng)該總是能看到人群慢慢散開(kāi)這個(gè)過(guò)程,但如果時(shí)間正好,那一天會(huì)在這個(gè)之前結(jié)束。我一直覺(jué)得目前的懲罰設(shè)定還是比較寬松的。這個(gè)會(huì)在晚上處理各項(xiàng)支出的時(shí)候產(chǎn)生影響,不過(guò)我現(xiàn)在還沒(méi)有把夜間支出的平衡調(diào)好,所以我覺(jué)得目前這個(gè)版本里,還是讓你的上級(jí)領(lǐng)導(dǎo)稍微寬宏大量一點(diǎn)比較好。最后我可能會(huì)減少單純警告的次數(shù),即在一兩次后你就會(huì)受到處罰?;蛘呶铱梢噪S著游戲的進(jìn)行逐步增加處罰的力度。

玩家:還有第三件事,我剛剛忘記說(shuō)了。在OSX系統(tǒng)上,alpha版是全屏模式。不過(guò)現(xiàn)在的beta版里,游戲畫(huà)面只在正中間出現(xiàn),然后周圍全是黑邊。我比較喜歡以前那個(gè)。

dukope:你顯示器的分辨率是多少?游戲比原來(lái)的版本要寬90像素,所以這個(gè)問(wèn)題可能和像素比例有關(guān)。對(duì)于這個(gè)問(wèn)題我現(xiàn)在做不了什么,除非把比例調(diào)回3:2。但這樣一來(lái),會(huì)對(duì)Gameplay有負(fù)面影響,因?yàn)橛疫吜艚o文件的地方就少了。

玩家:看了其他人的帖子之后,我覺(jué)得這個(gè)游戲應(yīng)該會(huì)有難度設(shè)定。每日違規(guī)次數(shù)會(huì)疊加,上級(jí)更嚴(yán)格,等等。你可以在當(dāng)前版本的最后一個(gè)入境者身上多加幾句臺(tái)詞?在日后再加入一個(gè)懷疑系統(tǒng)——所有的對(duì)話都是直接監(jiān)控的,而不是像現(xiàn)在那樣一定要和某些被誤解的文件有關(guān)?

dukope:我會(huì)再考慮一下難度的問(wèn)題,看起來(lái)還是很有必要加一個(gè)。不過(guò)我不明白你關(guān)于對(duì)話的那條建議。

玩家:最后一件事。能不能在裸露設(shè)定開(kāi)啟與否上加一個(gè)開(kāi)關(guān)?這樣的話大家用視頻來(lái)推廣你游戲的時(shí)候會(huì)更加方便一點(diǎn)。

dukope:好主意。我會(huì)在游戲里加進(jìn)去。

玩家:有一個(gè)東西看起來(lái)很奇怪啊。即使指紋是相符的,但是如果他們新的別名沒(méi)有出現(xiàn)在總部傳回的清單上的話,放走他們的我還是會(huì)拿到一張警告。但是指紋是一樣的?。∧氵€要什么證明?也許那個(gè)人的個(gè)人資料需要更新一下。

dukope:這應(yīng)該代表了他的入境許可(或者身份證)是偽造的或者是其他人的。所以他的身份沒(méi)有問(wèn)題,但是提供的文件有問(wèn)題。拒他沒(méi)商量。

玩家:音效為整個(gè)游戲添色不少。不過(guò)我的妹紙覺(jué)得廣播的音效聽(tīng)起來(lái)有點(diǎn)詭異。某個(gè)人第一次說(shuō)的停留時(shí)長(zhǎng)不對(duì),但是改口之后就對(duì)了。我放走了他,卻拿到了張警告。之后我吃一塹長(zhǎng)一智,果斷拒掉了相同情況的人,我又拿到了一張警告!說(shuō)是可以放行。>.>

dukope:嗯,這是個(gè)bug……

玩家:一次一個(gè)人的長(zhǎng)相和照片不符,但是收集指紋的選項(xiàng)沒(méi)有蹦出來(lái)啊。

dukope:在一開(kāi)始的幾天里你不需要檢查他們的指紋,所以碰到這種情況的話,直接拒掉就可以了。

玩家:“良家婦女”(Brothel Help)事件。那名女子叫我“做點(diǎn)什么”的時(shí)候,我不是很清楚我到底該“做點(diǎn)什么”。在我拒掉后面的那個(gè)男的后,我拿到了一張警告,上面寫(xiě)著“良家婦女:無(wú)效”。

(譯注:這個(gè)說(shuō)的應(yīng)該是在第六天的時(shí)候會(huì)有一個(gè)女的過(guò)境,跟你說(shuō)后面排著個(gè)青樓老板,要強(qiáng)迫她與其妹妹在青樓賣身。順便說(shuō)一句,這個(gè)青樓老板名字叫Dari Ludum,疑似惡搞 Ludum Dare的彩蛋。 Ludum Dare應(yīng)該是目前世界范圍內(nèi)最有名的“48小時(shí)內(nèi)做一款游戲”的比賽。參賽者都是比較專業(yè)的,比如《Papers, Please》的制作人。與之對(duì)應(yīng)的但是相對(duì)比較業(yè)余的比賽叫做Gamejam。)

dukope:這應(yīng)該也是個(gè)bug。應(yīng)該不會(huì)給你這種警告,因?yàn)檫@個(gè)小任務(wù)和你規(guī)則手冊(cè)里的東西沒(méi)有任何關(guān)系。如果你信的話,我在測(cè)試的時(shí)候沒(méi)有一次放他過(guò)境的(道德上的原因),所以我從來(lái)沒(méi)有看到過(guò)這條警告。(譯注:Lucas Pope這里應(yīng)該想說(shuō)的是每次都“拘留”了那個(gè)男人。后面會(huì)提到。)

玩家:游戲太讓人不可自拔了!

dukope:謝謝!

玩家:還會(huì)有人走私點(diǎn)違禁品嗎?還是感覺(jué)有點(diǎn)奇怪,就是某一天你突然會(huì)著重檢查某一項(xiàng)信息,但是第二天在這一項(xiàng)里基本就不存在矛盾信息了。我?guī)缀跻徊橐粋€(gè)準(zhǔn),然后都把他們拘留起來(lái)。他們應(yīng)該也不會(huì)有什么怨言吧。

dukope:對(duì),每次一個(gè)新的機(jī)制被引入的時(shí)候,游戲里出現(xiàn)的錯(cuò)誤(譯注:矛盾點(diǎn))會(huì)比較集中于相關(guān)的方面。在一開(kāi)始的幾天里,每天都有新的機(jī)制加入,所以你有這樣的感覺(jué)很正常,入境者們會(huì)配合檢查官的學(xué)習(xí)過(guò)程。-_-。在學(xué)完了所有新東西后肯定會(huì)加入更多違禁物品相關(guān)的東西。

玩家:“這應(yīng)該也是個(gè)bug。應(yīng)該不會(huì)給你這種警告,因?yàn)檫@個(gè)小任務(wù)和你規(guī)則手冊(cè)里的東西沒(méi)有任何關(guān)系。如果你信的話,我在測(cè)試的時(shí)候沒(méi)有一次放他過(guò)境的(道德上的原因),所以我從來(lái)沒(méi)有看到過(guò)這條警告?!薄乙矝](méi)讓他過(guò)境啊。我都搞糊涂了。

dukope:啊,不好意思啊。我是想說(shuō)我每次都拘留他了,從來(lái)沒(méi)有試過(guò)單純地拒絕他過(guò)境。

正好找到了那個(gè)bug,感謝提醒。如果直接拒絕他入境的話,你應(yīng)該會(huì)拿到一個(gè)警告(因?yàn)樗峁┑奈募际呛戏ǖ模?。不過(guò)警告上應(yīng)該會(huì)說(shuō)“申請(qǐng)人可以入境”,而不是什么“良家婦女”之類的。我覺(jué)得只給你兩個(gè)選擇的話也比較奇怪——逮捕或者放行。因?yàn)槿绻妒莖k的,那么只把他拒掉應(yīng)該也不會(huì)有什么問(wèn)題?,F(xiàn)在還沒(méi)有想出來(lái)怎么解決這個(gè)問(wèn)題。

玩家:其他人似乎還沒(méi)有提這件事:在我違規(guī)的第三次,警告上說(shuō)了我被扣掉了10塊錢。在夜間總結(jié)畫(huà)面里,只扣掉了5塊錢。

dukope:好眼力!你是第一個(gè)發(fā)現(xiàn)這問(wèn)題的人。我也沒(méi)有看出來(lái)??隙〞?huì)修復(fù)這個(gè)問(wèn)題。

玩家:我只想說(shuō),你的游戲太贊了,而且很有新意。我打通了《The Republia Times》,有些東西很逗也很發(fā)人思考。《Mightier》也很贊!我準(zhǔn)備去入《Helsing’s Fire》。

dukope:感謝支持呀!

玩家:對(duì)了,我是搞語(yǔ)言學(xué)的,我可以為你的游戲設(shè)計(jì)點(diǎn)新的語(yǔ)言出來(lái)。

dukope:好,我會(huì)留意這件事的。雖然目前來(lái)說(shuō)在這個(gè)游戲里不太必要,不過(guò)還是謝謝你。

 

提高分辨率

我已經(jīng)思考了好一陣了,就是怎么把這個(gè)像素風(fēng)格的游戲畫(huà)面提升到現(xiàn)代,甚至視網(wǎng)膜屏幕級(jí)別的分辨率。雖然我本人是很喜歡這種畫(huà)風(fēng)啦,但是我不覺(jué)得大多數(shù)人會(huì)這么想。所以最近我開(kāi)始搞一點(diǎn)相關(guān)的東西。

近鄰你好

游戲的原生分辨率為570×320,然后我把這個(gè)用近鄰縮放的方法擴(kuò)大到了2倍。

(譯注:原文中說(shuō)的是“nearest neighbor scaling”,術(shù)語(yǔ)指的是“Nearest-neighbor interpolation”。這是一種現(xiàn)代游戲并不常用的采樣方式,它的效果是這樣的:如果原來(lái)最基本的像素大小是1的話,放大到2倍,現(xiàn)在最基本的像素大小就是2。這種方式可以保留像素畫(huà)原有的鋸齒邊緣并讓其顯得更銳利。)

wH7K4sc

看起來(lái)不錯(cuò)哦。和預(yù)計(jì)的一樣,像素風(fēng)。

矢量化

我原先的計(jì)劃是用Illustrator提供的LiveTrace來(lái)手動(dòng)矢量化所有的圖像素材,保存成SVG文件,然后根據(jù)分辨率的需要把它們導(dǎo)出成相應(yīng)的柵格圖(位圖)?!禜elsing’s Fire》里的人臉就是這么處理的,而且效果很好。對(duì)于《Papers, Please》來(lái)說(shuō),這個(gè)任務(wù)可能比聽(tīng)起來(lái)要繁重得多,主要是因?yàn)槲业冒严袼刈煮w轉(zhuǎn)換成TTF文件,這就要求在字體方面做出很大的調(diào)整,而且把我一開(kāi)始的界面布局全都搞亂了。我把所有圖像都矢量化后得到了這么一個(gè)玩意兒:

admLix1

唔,跟我一開(kāi)始想的真TM差遠(yuǎn)了啊。文件現(xiàn)在的可讀性降低了,而且感覺(jué)起來(lái)各種細(xì)節(jié)沒(méi)有平均分配。其中一些問(wèn)題可能用個(gè)更寬的字體可以改善,但是現(xiàn)在我看到字體已經(jīng)有點(diǎn)想吐了。目前在入境許可里也搞不出Arstotzka專用字體,TTF里根本沒(méi)有類似的東西。

專用工具

Ok,再試一次。高端像素縮放技術(shù)。現(xiàn)代,在模擬器的情境下會(huì)用到很多高端像素縮放技術(shù):例如EPX,SuperEagle,Super2XSa等等。我分別對(duì)它們做了些研究,然后得知了他們的老祖宗是hqx。之后我發(fā)現(xiàn)了這篇非常碉堡的文章。講述了像素轉(zhuǎn)化到矢量的算法,可惜它上面不提供源代碼。不過(guò)我還是有點(diǎn)收獲,因?yàn)橛袀€(gè)頁(yè)面上提供了很多算法的結(jié)果比較,所以你可以很方便就知道不同算法間的不同。從這個(gè)頁(yè)面上看,hqx很不錯(cuò)。

所以我滿懷希望地搞了點(diǎn)hgx的代碼,根據(jù)cocos2d上的這個(gè)帖子把代碼編譯成OSX的。一些技巧似乎能很好地處理抖動(dòng)過(guò)的區(qū)域,不過(guò)hqx顯然不屬于這一類(譯注:cocos2d的帖子鏈接似乎失效了。關(guān)于抖動(dòng)dithering的具體內(nèi)容可參見(jiàn)“一起來(lái)畫(huà)像素畫(huà)吧2”,或者“手把手教你畫(huà)像素2”)。所以就先抱著試一試的態(tài)度,我把原圖里的抖動(dòng)區(qū)域全部變成純色區(qū)域,然后運(yùn)行hqx。

YkHVsyU

不壞。細(xì)節(jié)看起來(lái)比上面那個(gè)統(tǒng)一得多。文字看起來(lái)有一點(diǎn)兒奇怪,不過(guò)我可以手動(dòng)修復(fù)這個(gè)問(wèn)題。它本身不是像素構(gòu)成的,但卻看起來(lái)很有像素風(fēng)格。寡人很喜歡。

“抖動(dòng)”何從

我又回去對(duì)比了一下hqx和近鄰縮放。我依然覺(jué)得一開(kāi)始的看起來(lái)比較好,特別是在我看到?jīng)]有使用抖動(dòng)的版本后。

hkq0GzA

看起來(lái)還是有點(diǎn)一塊一塊的感覺(jué),不過(guò)沒(méi)有明顯的低分辨率的抖動(dòng)。

沒(méi)有結(jié)論

我現(xiàn)在還是下不定主意。不過(guò)我可能會(huì)主要運(yùn)用hqx,再手動(dòng)調(diào)整點(diǎn)東西,還有些在2倍,3倍或者4倍大小預(yù)先烘焙好的素材。

(譯注:烘焙,bake,計(jì)算機(jī)圖形學(xué)和圖像處理的術(shù)語(yǔ)。大致是指預(yù)先讓電腦計(jì)算好一些東西,以增加之后的處理效率。例如你在渲染一個(gè)很大的場(chǎng)景時(shí),可能電腦要直接算很久很久,但是你可以預(yù)先bake好一些場(chǎng)景內(nèi)的素材。后面要用的時(shí)候可以直接拿來(lái)用,最后的用時(shí)會(huì)縮短。這里是指用hqx算法預(yù)處理圖像。)

 
玩家:游戲會(huì)有個(gè)設(shè)定菜單嗎?我希望有能夠直接控制全屏顯示的選項(xiàng),而不是點(diǎn)窗口上的那個(gè)按鈕。還有我希望能夠手動(dòng)調(diào)節(jié)音量,音樂(lè)是不錯(cuò),但是太響了。我也希望在設(shè)定菜單中加入關(guān)于難度和裸露程度的選項(xiàng)。

dukope:對(duì)我會(huì)加進(jìn)去的。目前你可以用Alt+ Enter(Windows)或者Option+ Return(OSX)來(lái)控制全屏顯示。

玩家:Bug(?):在每天結(jié)束的時(shí)候,即使沒(méi)有選擇框你仍然可以打開(kāi)或者關(guān)閉“房租”選項(xiàng),就點(diǎn)在數(shù)額上就可以了(有時(shí)候可能點(diǎn)上去會(huì)不管用,盡量點(diǎn)紅色部分)。還有提交自己名字好像也不管用,我不能編輯“請(qǐng)把你的名字填在這里”以及性別。

(譯注:這里說(shuō)的應(yīng)該是作者收集網(wǎng)友姓名,之后用作游戲里的路人名字上。)

dukope:哈,這解釋了為什么有人跟我說(shuō)房租其實(shí)是“非強(qiáng)制的”。我希望把這個(gè)做成強(qiáng)制的項(xiàng)目。已經(jīng)找到了bug所在而且搞定了,謝謝啦。如果你要提交你的名字的話,你要先輸入你的E-mail地址,然后點(diǎn)擊發(fā)到你郵箱的激活鏈接。你不能直接編輯。也許我該把這段說(shuō)明放到圖片上,以免日后更多人摸不著頭腦。

玩家:我個(gè)人印象比較深的一個(gè)場(chǎng)景是在第二天。有個(gè)行色匆匆的男人跟我說(shuō)他趕時(shí)間,所以我格外仔細(xì)地檢查了他的文件。我當(dāng)時(shí)想,你丫給我在這里等著!這就是所謂的沉迷嗎!

dukope:我喜歡這種遭遇。因?yàn)榧词鼓莻€(gè)人是個(gè)傻缺,但是文件都準(zhǔn)備妥當(dāng)了,你也只能讓他過(guò)去。我想這應(yīng)該是連真的移民檢查官都會(huì)咬牙切齒的時(shí)候吧。給這些人的護(hù)照上蓋章的時(shí)候我心里一直很不爽。

 

護(hù)照

前一陣子有人提到(實(shí)際上是建議),說(shuō)不同國(guó)家的護(hù)照看起來(lái)都差不多。作為制作beta版素材的一個(gè)環(huán)節(jié),我在不同的護(hù)照類型里加了不同的細(xì)節(jié)。

Zr4IVWG

護(hù)照設(shè)計(jì)還是很基本的,我希望現(xiàn)在這樣能讓大家在分辨不同國(guó)家的護(hù)照時(shí)更容易些。小心Kolechia的矛,它們可是很鋒利的喲。

0

授權(quán)轉(zhuǎn)載 燈塔實(shí)驗(yàn)室

dtsys@chuapp.com

獨(dú)立游戲制作,理論與發(fā)現(xiàn)。

查看更多燈塔實(shí)驗(yàn)室的文章
關(guān)閉窗口