“市面上的商業(yè)游戲如果是開飯館的話,我這種充其量就是一個(gè)路邊的煎餅攤。煎餅攤得有自覺,不能指望像麥當(dāng)勞、肯德基那么賺錢,能養(yǎng)活自己就算是很成功了?!?/p>
氪老師在知乎的個(gè)人簽名是:游戲策劃,有可能是知乎游戲板塊最喪的人——似乎為了印證這一點(diǎn),他在知乎專欄連載最久的系列文章,題為“游戲行業(yè)的100種死法”。他說,寫這個(gè)系列文章的初衷是,“想把這些業(yè)內(nèi)每天都在發(fā)生的悲劇講給那些行業(yè)外的人士,看看這些前浪是怎么死在沙灘上的,也許能夠幫到一部分同學(xué),減少整個(gè)業(yè)界的能耗。”
記錄到第66種“死法”時(shí),“想不開”的氪老師突然宣布,下一個(gè)“作死”的人將是自己——既不會(huì)程序、也不會(huì)美術(shù)的他,決定要獨(dú)力開發(fā)一款獨(dú)立游戲。因?yàn)椤皼]有預(yù)算”“沒有人”“放棄美術(shù)效果”,又“想做點(diǎn)前人沒做過的東西”,氪老認(rèn)為這個(gè)項(xiàng)目“注定要迎來失敗的命運(yùn)”。
可氪老畢竟給觸樂供過稿呀!我們自然對(duì)氪老師的游戲會(huì)有別樣的關(guān)注。我們眼看他花兩個(gè)月入門C#和Unity,之后便每日在家倒騰,一再經(jīng)歷“功能不會(huì)做想找外包”“沒有錢還是自己做吧”“自學(xué)了一下好像不是特別難”的循環(huán)。
氪老師說,游戲的名字叫做《機(jī)擂》。早年,國(guó)內(nèi)引進(jìn)過一檔名為《機(jī)器人大擂臺(tái)》的英國(guó)綜藝。節(jié)目中,來自世界各地的機(jī)器人發(fā)燒友們集結(jié)于此,遠(yuǎn)程操縱自己設(shè)計(jì)制造的機(jī)器人,在封閉的擂臺(tái)上捉對(duì)廝殺,并在層層選拔和淘汰后決出最終的冠軍——氪老師的設(shè)計(jì)靈感正來自這里。
但和同類題材的游戲略有不同的是,玩家在《機(jī)擂》中無法操作機(jī)器人,而是通過事先編寫AI,讓機(jī)器人在戰(zhàn)斗時(shí),基于“觸發(fā)條件”來執(zhí)行相應(yīng)的行動(dòng)。比方說,玩家可以設(shè)定“如果與對(duì)方的距離大于1米”,則“左手武器啟動(dòng)”,但若“與對(duì)方的距離小于5米”,則“偏轉(zhuǎn)移動(dòng)方向”。經(jīng)過設(shè)定后,我方的機(jī)器人會(huì)一邊對(duì)敵人進(jìn)行遠(yuǎn)程射擊,一邊在敵人靠近自己時(shí)自動(dòng)走位閃避。
“《機(jī)擂》這個(gè)游戲是以‘AI機(jī)器人對(duì)戰(zhàn)’為主題。玩家利用手頭的零件拼裝自己的機(jī)器人,然后與其他玩家進(jìn)行對(duì)戰(zhàn)?!?/p>
是的,這款一個(gè)人做的小品級(jí)游戲,居然還是個(gè)可以聯(lián)機(jī)的異步PvP游戲。
一年半以后,《機(jī)擂》終于在TapTap開啟測(cè)試,在AppStore也正式上線。閉關(guān)多時(shí)的氪老師登門,留下了一段介紹視頻和三個(gè)字:“求報(bào)導(dǎo)”。
氪老師自己剪輯的游戲介紹視頻
這不,報(bào)導(dǎo)來了,我們同氪老師簡(jiǎn)單地聊了聊這款游戲——不過,對(duì)于現(xiàn)階段還想搞“一人工作室”的獨(dú)立開發(fā)者來說,或許氪老師的故事也會(huì)有一些參考意義呢?
能具體說一說“玩家自己編寫AI”是怎么回事嗎?
氪老師(以下簡(jiǎn)稱“氪”):這個(gè)游戲的特點(diǎn)就是戰(zhàn)斗中玩家無法操作,完全通過AI來控制機(jī)器人的行動(dòng)。機(jī)器人什么時(shí)候移動(dòng),往哪個(gè)方向移動(dòng),什么時(shí)候開火,什么時(shí)候?;?,都是由AI決定的。
舉個(gè)例子,比如說你使用的是霰彈槍,這種武器的特點(diǎn)是威力大,子彈少,射程近。那么你就可以通過編寫AI實(shí)現(xiàn)諸如“與對(duì)方接近到一定距離再開火”“如果對(duì)方遠(yuǎn)離則停止開火”等效果。幾乎所有武器都需要一定的AI策略才能發(fā)揮威力。另一方面,玩家也需要通過AI控制機(jī)器人的行為,以躲開對(duì)方的攻擊。游戲的大體過程是:觀察對(duì)手的行為模式-調(diào)整裝備改進(jìn)AI-嘗試效果-繼續(xù)改進(jìn)直到擊敗對(duì)手。我想模擬一種“自己拼裝機(jī)器人并編寫AI程序”的體驗(yàn)。
試玩《機(jī)擂》時(shí),我先是想到了《最終幻想12》,然后想到了另一款國(guó)產(chǎn)手游《異常》。我有些好奇,《機(jī)擂》的玩法有參考原型嗎?
氪:最初立項(xiàng)的時(shí)候,主要的參考對(duì)象確實(shí)是《最終幻想12》的“GAMBITS系統(tǒng)”。FF12是回合制的RPG游戲,我的想法是把GAMBITS系統(tǒng)改成一個(gè)以PvP為主的異步對(duì)戰(zhàn)游戲。
在TapTap測(cè)試的時(shí)候,很多玩家都提到有點(diǎn)像《異常》和《CATS》。后來我去玩了一下這倆游戲,確實(shí)有一部分比較像,《異?!废竦氖蔷帉慉I的部分,《CATS》則是核心概念比較接近,都是主打PvP異步對(duì)戰(zhàn)。但《異?!肥莻€(gè)單機(jī)關(guān)卡制游戲,我這個(gè)是以PvP為主的網(wǎng)游,《CATS》的話,畢竟不帶編程模塊,不是一個(gè)類型。
“玩家編寫AI”聽起來比較硬核,為什么做成這樣?
氪:是的,這游戲不是多數(shù)人能玩進(jìn)去的類型,估計(jì)會(huì)比較小眾。至于為什么要做成這樣,一方面,作為獨(dú)立游戲,由于沒有美術(shù)的支持,美術(shù)效果差強(qiáng)人意,如果玩法再?zèng)]有創(chuàng)新就真沒什么意思了,算是作為游戲策劃的一點(diǎn)小小的堅(jiān)持;另一方面,我希望這個(gè)游戲能提供足夠的策略深度,具備一定的可擴(kuò)展性,就像《我的世界》和《DOTA》那樣——這倆游戲在某種意義上來說,也是由一個(gè)人做出來的?!稒C(jī)擂》通過不斷添加新的道具和AI部件,理論上可以提供無限的可能,就像MOBA游戲添加新英雄一樣。
目前游戲的完成度如何?
氪:我給自己定的時(shí)間表是1年半到2年時(shí)間?,F(xiàn)在游戲已經(jīng)上線了,基本可以說完全實(shí)現(xiàn)了最初的設(shè)計(jì),從這個(gè)意義上說,我覺得這個(gè)研發(fā)計(jì)劃是比較成功的。
但這個(gè)游戲目前存在很多問題,比如:美術(shù)效果一般,不吸量;新手引導(dǎo)也比較粗糙,估計(jì)留存不會(huì)太高;玩法太硬核無法推廣,等等——如果與商業(yè)游戲相比差距很明顯。在可支配資源非常有限的情況下,只能慢慢優(yōu)化更新了?;蛟S會(huì)有一些不是那么在意畫面效果、又喜歡琢磨的玩家會(huì)喜歡這個(gè)游戲。
目前游戲完完全全都是你一個(gè)人開發(fā)的嗎?
氪:設(shè)計(jì)和代碼的部分完全由我一個(gè)人負(fù)責(zé),不過開發(fā)過程中得到了很多程序同學(xué)的幫助。美術(shù)方面,所有3D模型都是Unity商店里買的。2D的UI部分本來也是買現(xiàn)成的,做到最后的時(shí)候覺得不統(tǒng)一,就外包給前同事又翻新了一遍。
聽說寫代碼也是臨時(shí)學(xué)的?能聊聊這段自學(xué)的經(jīng)歷嗎?
氪:我是2017年4月開始學(xué)習(xí)編程,之前一行代碼也沒寫過?;A(chǔ)部分學(xué)了2個(gè)月,主要的方式是看視頻。網(wǎng)上有很多教C#基礎(chǔ)的免費(fèi)視頻,一般是培訓(xùn)機(jī)構(gòu)用來招生的。我找了一個(gè)看起來還行的,看了一個(gè)月,照著視頻一步一步操作下來,基礎(chǔ)部分就差不多了。之后一個(gè)月是實(shí)踐,下載了一些小游戲的開發(fā)視頻,也是按照視頻中教的實(shí)際做一遍。之后我大概花3個(gè)月,完成了基礎(chǔ)的前端玩法。
接下來,我用1個(gè)月左右看完了后端的視頻教學(xué),然后花3個(gè)月把后端跑通了,實(shí)現(xiàn)了基本的通信功能。剩下的時(shí)間都用來填充內(nèi)容,調(diào)整音效特效,做測(cè)試,準(zhǔn)備上線。
我覺得學(xué)代碼最關(guān)鍵的就是學(xué)完了要立刻實(shí)踐,這樣效率最高。還有就是善用搜索引擎。在基礎(chǔ)部分弄懂以后,幾乎90%的問題都可以在搜索引擎上找到答案。
你算是比較資深的游戲策劃,可既不會(huì)程序、也不會(huì)美術(shù),為什么突然決定辭職,還一個(gè)人來做一款這樣的游戲?
氪:先說辭職的事兒吧。這就像是一個(gè)副導(dǎo)演,總是給別人打下手,時(shí)間長(zhǎng)了就想拍個(gè)自己的片子。由于預(yù)算的問題,拍出來的效果不能跟大片比,甚至可能完全不掙錢,但就是想拍。在游戲公司打工那么多年,寫過太多無法通過的策劃案,這次沒拿任何人的投資,用的全是我自己的積蓄,就是想體驗(yàn)一把“想怎么做就怎么做”的快感,于是就挑了一個(gè)實(shí)現(xiàn)成本最低,玩法最奇怪,放在任何公司都立不了項(xiàng)的方案來做。
而且我年齡也不小了,感覺這么愚蠢的事現(xiàn)在不做,可能以后就沒機(jī)會(huì)了。
但老實(shí)說,可能因?yàn)槭恰耙蝗斯ぷ魇摇保螒蚰壳巴嫫饋磉€是個(gè)比較“糙”的狀態(tài)。你沒想過找?guī)褪謫幔?/strong>
氪:主要原因就是窮。當(dāng)時(shí)設(shè)想有相當(dāng)部分的工作可能要外包出去,壓根沒覺得能自己一個(gè)人做完。剛開始學(xué)代碼時(shí),我想的是,很多優(yōu)秀的游戲策劃都有代碼基礎(chǔ),代碼能力一方面有助于設(shè)計(jì)工作,另一方面在做獨(dú)立游戲時(shí),策劃的工作量是不飽和的,學(xué)些基礎(chǔ)的代碼,起碼能幫程序分擔(dān)一些體力活,比如調(diào)整UI什么的。后來意識(shí)到,我其實(shí)沒錢雇程序全職做,學(xué)著學(xué)著,又感覺好像自己一個(gè)人也能搞定。
而且這個(gè)游戲的玩法過于硬核,在盈利上的預(yù)期不是很高,即使上線了可能也養(yǎng)活不了團(tuán)隊(duì)。但如果團(tuán)隊(duì)只有我一個(gè)人的話,成本一下子下降很多——而且自己在家開發(fā),連租房的錢也省了!后來我就一步一步推進(jìn),遇到不會(huì)的就上網(wǎng)查,實(shí)在查不到就請(qǐng)教一下程序朋友。做的過程中也有一些曲折,不過最終還是把所有的坑都趟過去了。
所以會(huì)選擇“機(jī)器人對(duì)戰(zhàn)”題材,也是因?yàn)槊佬g(shù)上比較好做嗎?
氪:對(duì)。如果以人類為主角的話,很難買到大量美術(shù)風(fēng)格統(tǒng)一的3D模型,還要涉及骨骼動(dòng)畫,那樣的話就得請(qǐng)專業(yè)的動(dòng)作美術(shù)來調(diào)動(dòng)作——可我連程序都請(qǐng)不起,3D美術(shù)就更別提了!如果是以“粗糙的家用電器拼裝而成的機(jī)器人”為主角,動(dòng)畫部分我就可以自己做,也能買到比較合適的3D模型。
而且,《機(jī)器人大擂臺(tái)》這個(gè)電視節(jié)目很多人應(yīng)該都看過,正好能切合游戲設(shè)計(jì),也能提升玩家的代入感。
你覺得一個(gè)人全職開發(fā)一款游戲,最主要的困難是什么?
氪:我覺得主要的困難來自三個(gè)方面。
第一個(gè)就是長(zhǎng)期沒有固定收入帶來的心理壓力。雖然家里人現(xiàn)在還比較支持,但我也明白長(zhǎng)期這樣下去肯定是不行的。偶爾夜深人靜的時(shí)候就會(huì)陷入強(qiáng)烈的自我懷疑。
第二個(gè)是游戲設(shè)計(jì)上的不確定性帶來的焦慮。因?yàn)槊刻於家鎸?duì)自己的游戲,很容易就會(huì)失去感覺,有時(shí)會(huì)認(rèn)為“這個(gè)點(diǎn)子蠢爆了,這個(gè)游戲肯定沒有前途”。不過幸好之前有過很多項(xiàng)目經(jīng)驗(yàn),當(dāng)腦子里出現(xiàn)類似想法的時(shí)候就會(huì)強(qiáng)迫自己不能放棄,按照原定計(jì)劃把游戲做完——完成比完美更重要。但明知道游戲有各種各樣的問題,又找不到特別好的解決方案,或者以自己的能力無法實(shí)現(xiàn),實(shí)在是一件讓人非常沮喪的事情。
第三個(gè)就是孤獨(dú)感。一個(gè)人窩在家里做開發(fā),缺乏社交,時(shí)間長(zhǎng)了對(duì)身心健康都很不利。另外遇到一些設(shè)計(jì)上拿不準(zhǔn)的地方,也找不到合適的人商量。
其實(shí)每天都能學(xué)到新東西,代碼水平逐漸提高的感覺還挺好的,有點(diǎn)像大家所說的“心流”。很多人都說過做獨(dú)立游戲很苦,我覺得可能主要是來自心理層面,畢竟坐著寫代碼,再怎么樣也不會(huì)比送快遞搬磚更累,對(duì)吧?
游戲上線后,肯定收到了一些反饋和回響,這里頭有什么讓你印象深刻的嗎?
氪:游戲在TapTap測(cè)試的時(shí)候收到了很多反饋,熱心玩家們幫我找到了很多漏洞,其中有個(gè)驚天大Bug:玩家在通過某個(gè)關(guān)卡后,服務(wù)器會(huì)修改玩家的寶石數(shù),讓寶石數(shù)量和金幣數(shù)量相等——這是我在寫服務(wù)器代碼的時(shí)候腦子一抽,一個(gè)變量名寫錯(cuò)造成的。這個(gè)Bug是如此驚人,好在處于刪檔測(cè)試階段,我只能哈哈一笑,改掉后就當(dāng)無事發(fā)生。
游戲上線至今,有產(chǎn)生任何收益嗎?
氪:截止目前,還沒有產(chǎn)生什么收益,唯一一筆充值記錄是我自己充了6元,用于測(cè)試IAP是否生效。我覺得這也挺正常的,游戲前期并沒有做什么宣傳工作,僅僅是在自己的知乎專欄里說了一下。對(duì)于免費(fèi)手游來說,游戲做到上線僅僅是第一步,不導(dǎo)量,沒有用戶,自然不會(huì)有什么收入。之后可能會(huì)進(jìn)行一些低成本的宣傳工作,比如說在漫展里租個(gè)小攤位,或者聯(lián)系一下游戲主播幫忙宣傳之類的。
你曾在知乎專欄寫說,這個(gè)項(xiàng)目“注定要迎來失敗的命運(yùn)”,目前你的看法有發(fā)生轉(zhuǎn)變嗎?
氪:游戲這個(gè)行業(yè)存在很多運(yùn)氣成分,很多事都說不好?!稒C(jī)擂》這個(gè)游戲顯然不會(huì)成為所謂的“爆款”,但萬事皆有可能,如果不去做,可能性就是零。市面上的商業(yè)游戲如果是開飯館的話,我這種充其量就是一個(gè)路邊的煎餅攤。煎餅攤得有自覺,不能指望像麥當(dāng)勞、肯德基那么賺錢,能養(yǎng)活自己就算是很成功了。
我認(rèn)識(shí)很多小型游戲公司的朋友,這種公司一般都不大,也就十幾個(gè)人。他們做的游戲絕大多數(shù)人都沒聽說過,主要收入來源也就是游戲內(nèi)廣告,但他們都活得不錯(cuò)。我的想法就是,既然他們十個(gè)人做小游戲都能養(yǎng)活自己,那我自己做一個(gè),不求掙大錢,能養(yǎng)活自己還是有機(jī)會(huì)的吧?
如果最后游戲的收益不夠養(yǎng)活自己,未來你準(zhǔn)備怎么辦?
氪:“凜冬將至”,我這也算是“生產(chǎn)自救”吧。目前的計(jì)劃是繼續(xù)全職做一段時(shí)間,把一些計(jì)劃內(nèi)的工作完成,比如添加新裝備,完善新手引導(dǎo),優(yōu)化美術(shù)資源,多語言版本什么的。這些都做完,如果收益不理想,那就開始找工作,回去打工,業(yè)余時(shí)間維護(hù)這個(gè)游戲。目前來看,單純的維護(hù)成本我還可以負(fù)擔(dān),只有一年幾百塊的云服務(wù)器費(fèi)用。
最后你有什么想跟讀者說的嗎?
氪:只要還有玩家玩這個(gè)游戲,我就會(huì)持續(xù)更新下去。