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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dukope:謝謝!

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

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

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

dukope:啊,不好意思啊。我是想說我每次都拘留他了,從來沒有試過單純地拒絕他過境。

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

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

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

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

dukope:感謝支持呀!

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

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

 

提高分辨率

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

近鄰你好

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

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

wH7K4sc

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

矢量化

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

admLix1

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

專用工具

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

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

YkHVsyU

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

“抖動(dòng)”何從

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

hkq0GzA

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

沒有結(jié)論

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

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

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

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

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

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

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

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

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

 

護(hù)照

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

Zr4IVWG

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

0

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

dtsys@chuapp.com

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

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