《機(jī)擂》:AI機(jī)器人、異步PvP……一個(gè)人,做一款或許根本不賺錢(qián)的游戲

“市面上的商業(yè)游戲如果是開(kāi)飯館的話,我這種充其量就是一個(gè)路邊的煎餅攤。煎餅攤得有自覺(jué),不能指望像麥當(dāng)勞、肯德基那么賺錢(qián),能養(yǎng)活自己就算是很成功了?!?/p>

編輯忘川2018年11月14日 11時(shí)08分

氪老師在知乎的個(gè)人簽名是:游戲策劃,有可能是知乎游戲板塊最喪的人——似乎為了印證這一點(diǎn),他在知乎專(zhuān)欄連載最久的系列文章,題為“游戲行業(yè)的100種死法”。他說(shuō),寫(xiě)這個(gè)系列文章的初衷是,“想把這些業(yè)內(nèi)每天都在發(fā)生的悲劇講給那些行業(yè)外的人士,看看這些前浪是怎么死在沙灘上的,也許能夠幫到一部分同學(xué),減少整個(gè)業(yè)界的能耗?!?/p>

兩年前,氪老師為觸樂(lè)寫(xiě)過(guò)一篇題為“素人游戲策劃指北”的大型“勸退”文,底下有讀者評(píng)論道:“看完這文估計(jì)沒(méi)剩幾個(gè)想做策劃的了?!?/figcaption>

記錄到第66種“死法”時(shí),“想不開(kāi)”的氪老師突然宣布,下一個(gè)“作死”的人將是自己——既不會(huì)程序、也不會(huì)美術(shù)的他,決定要獨(dú)力開(kāi)發(fā)一款獨(dú)立游戲。因?yàn)椤皼](méi)有預(yù)算”“沒(méi)有人”“放棄美術(shù)效果”,又“想做點(diǎn)前人沒(méi)做過(guò)的東西”,氪老認(rèn)為這個(gè)項(xiàng)目“注定要迎來(lái)失敗的命運(yùn)”。

可氪老畢竟給觸樂(lè)供過(guò)稿呀!我們自然對(duì)氪老師的游戲會(huì)有別樣的關(guān)注。我們眼看他花兩個(gè)月入門(mén)C#和Unity,之后便每日在家倒騰,一再經(jīng)歷“功能不會(huì)做想找外包”“沒(méi)有錢(qián)還是自己做吧”“自學(xué)了一下好像不是特別難”的循環(huán)。

氪老師說(shuō),游戲的名字叫做《機(jī)擂》。早年,國(guó)內(nèi)引進(jìn)過(guò)一檔名為《機(jī)器人大擂臺(tái)》的英國(guó)綜藝。節(jié)目中,來(lái)自世界各地的機(jī)器人發(fā)燒友們集結(jié)于此,遠(yuǎn)程操縱自己設(shè)計(jì)制造的機(jī)器人,在封閉的擂臺(tái)上捉對(duì)廝殺,并在層層選拔和淘汰后決出最終的冠軍——氪老師的設(shè)計(jì)靈感正來(lái)自這里。

可能現(xiàn)在不少年輕人會(huì)對(duì)《機(jī)器人大擂臺(tái)》這檔節(jié)目感到陌生——其實(shí)今年優(yōu)酷才剛播出過(guò)同類(lèi)型的綜藝《這!就是鐵甲》

但和同類(lèi)題材的游戲略有不同的是,玩家在《機(jī)擂》中無(wú)法操作機(jī)器人,而是通過(guò)事先編寫(xiě)AI,讓機(jī)器人在戰(zhàn)斗時(shí),基于“觸發(fā)條件”來(lái)執(zhí)行相應(yīng)的行動(dòng)。比方說(shuō),玩家可以設(shè)定“如果與對(duì)方的距離大于1米”,則“左手武器啟動(dòng)”,但若“與對(duì)方的距離小于5米”,則“偏轉(zhuǎn)移動(dòng)方向”。經(jīng)過(guò)設(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開(kāi)啟測(cè)試,在AppStore也正式上線。閉關(guān)多時(shí)的氪老師登門(mén),留下了一段介紹視頻和三個(gè)字:“求報(bào)導(dǎo)”。

氪老師自己剪輯的游戲介紹視頻

這不,報(bào)導(dǎo)來(lái)了,我們同氪老師簡(jiǎn)單地聊了聊這款游戲——不過(guò),對(duì)于現(xiàn)階段還想搞“一人工作室”的獨(dú)立開(kāi)發(fā)者來(lái)說(shuō),或許氪老師的故事也會(huì)有一些參考意義呢?

為什么是這個(gè)玩法?

能具體說(shuō)一說(shuō)“玩家自己編寫(xiě)AI”是怎么回事嗎?

氪老師(以下簡(jiǎn)稱(chēng)“氪”):這個(gè)游戲的特點(diǎn)就是戰(zhàn)斗中玩家無(wú)法操作,完全通過(guò)AI來(lái)控制機(jī)器人的行動(dòng)。機(jī)器人什么時(shí)候移動(dòng),往哪個(gè)方向移動(dòng),什么時(shí)候開(kāi)火,什么時(shí)候?;穑际怯葾I決定的。

舉個(gè)例子,比如說(shuō)你使用的是霰彈槍?zhuān)@種武器的特點(diǎn)是威力大,子彈少,射程近。那么你就可以通過(guò)編寫(xiě)AI實(shí)現(xiàn)諸如“與對(duì)方接近到一定距離再開(kāi)火”“如果對(duì)方遠(yuǎn)離則停止開(kāi)火”等效果。幾乎所有武器都需要一定的AI策略才能發(fā)揮威力。另一方面,玩家也需要通過(guò)AI控制機(jī)器人的行為,以躲開(kāi)對(duì)方的攻擊。游戲的大體過(guò)程是:觀察對(duì)手的行為模式-調(diào)整裝備改進(jìn)AI-嘗試效果-繼續(xù)改進(jìn)直到擊敗對(duì)手。我想模擬一種“自己拼裝機(jī)器人并編寫(xiě)AI程序”的體驗(yàn)。

“AI配置”中的所有行動(dòng)在條件滿足時(shí),都會(huì)被執(zhí)行

試玩《機(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)游戲。

《最終幻想12》中的“Gambits”指的是作戰(zhàn)指示書(shū),簡(jiǎn)單來(lái)說(shuō)就是:玩家可以設(shè)定所有隊(duì)友的AI,即戰(zhàn)斗時(shí)這些電腦控制角色的行動(dòng)策略——以上圖為例,“在我方有角色血量小于50%”時(shí),法蘭會(huì)自動(dòng)“為隊(duì)友療傷”,戰(zhàn)斗時(shí)也會(huì)“自動(dòng)攻擊血量最少的敵人”

在TapTap測(cè)試的時(shí)候,很多玩家都提到有點(diǎn)像《異常》和《CATS》。后來(lái)我去玩了一下這倆游戲,確實(shí)有一部分比較像,《異常》像的是編寫(xiě)AI的部分,《CATS》則是核心概念比較接近,都是主打PvP異步對(duì)戰(zhàn)。但《異?!肥莻€(gè)單機(jī)關(guān)卡制游戲,我這個(gè)是以PvP為主的網(wǎng)游,《CATS》的話,畢竟不帶編程模塊,不是一個(gè)類(lèi)型。

“玩家編寫(xiě)AI”聽(tīng)起來(lái)比較硬核,為什么做成這樣?

氪:是的,這游戲不是多數(shù)人能玩進(jìn)去的類(lèi)型,估計(jì)會(huì)比較小眾。至于為什么要做成這樣,一方面,作為獨(dú)立游戲,由于沒(méi)有美術(shù)的支持,美術(shù)效果差強(qiáng)人意,如果玩法再?zèng)]有創(chuàng)新就真沒(méi)什么意思了,算是作為游戲策劃的一點(diǎn)小小的堅(jiān)持;另一方面,我希望這個(gè)游戲能提供足夠的策略深度,具備一定的可擴(kuò)展性,就像《我的世界》和《DOTA》那樣——這倆游戲在某種意義上來(lái)說(shuō),也是由一個(gè)人做出來(lái)的?!稒C(jī)擂》通過(guò)不斷添加新的道具和AI部件,理論上可以提供無(wú)限的可能,就像MOBA游戲添加新英雄一樣。

目前游戲的完成度如何?

氪:我給自己定的時(shí)間表是1年半到2年時(shí)間?,F(xiàn)在游戲已經(jīng)上線了,基本可以說(shuō)完全實(shí)現(xiàn)了最初的設(shè)計(jì),從這個(gè)意義上說(shuō),我覺(jué)得這個(gè)研發(fā)計(jì)劃是比較成功的。

但這個(gè)游戲目前存在很多問(wèn)題,比如:美術(shù)效果一般,不吸量;新手引導(dǎo)也比較粗糙,估計(jì)留存不會(huì)太高;玩法太硬核無(wú)法推廣,等等——如果與商業(yè)游戲相比差距很明顯。在可支配資源非常有限的情況下,只能慢慢優(yōu)化更新了?;蛟S會(huì)有一些不是那么在意畫(huà)面效果、又喜歡琢磨的玩家會(huì)喜歡這個(gè)游戲。

游戲的賣(mài)點(diǎn)顯然不是畫(huà)面

為什么要自己一個(gè)人來(lái)?

目前游戲完完全全都是你一個(gè)人開(kāi)發(fā)的嗎?

氪:設(shè)計(jì)和代碼的部分完全由我一個(gè)人負(fù)責(zé),不過(guò)開(kāi)發(fā)過(guò)程中得到了很多程序同學(xué)的幫助。美術(shù)方面,所有3D模型都是Unity商店里買(mǎi)的。2D的UI部分本來(lái)也是買(mǎi)現(xiàn)成的,做到最后的時(shí)候覺(jué)得不統(tǒng)一,就外包給前同事又翻新了一遍。

聽(tīng)說(shuō)寫(xiě)代碼也是臨時(shí)學(xué)的?能聊聊這段自學(xué)的經(jīng)歷嗎?

氪:我是2017年4月開(kāi)始學(xué)習(xí)編程,之前一行代碼也沒(méi)寫(xiě)過(guò)?;A(chǔ)部分學(xué)了2個(gè)月,主要的方式是看視頻。網(wǎng)上有很多教C#基礎(chǔ)的免費(fèi)視頻,一般是培訓(xùn)機(jī)構(gòu)用來(lái)招生的。我找了一個(gè)看起來(lái)還行的,看了一個(gè)月,照著視頻一步一步操作下來(lái),基礎(chǔ)部分就差不多了。之后一個(gè)月是實(shí)踐,下載了一些小游戲的開(kāi)發(fā)視頻,也是按照視頻中教的實(shí)際做一遍。之后我大概花3個(gè)月,完成了基礎(chǔ)的前端玩法。

接下來(lái),我用1個(gè)月左右看完了后端的視頻教學(xué),然后花3個(gè)月把后端跑通了,實(shí)現(xiàn)了基本的通信功能。剩下的時(shí)間都用來(lái)填充內(nèi)容,調(diào)整音效特效,做測(cè)試,準(zhǔn)備上線。

我覺(jué)得學(xué)代碼最關(guān)鍵的就是學(xué)完了要立刻實(shí)踐,這樣效率最高。還有就是善用搜索引擎。在基礎(chǔ)部分弄懂以后,幾乎90%的問(wèn)題都可以在搜索引擎上找到答案。

氪老師還在TapTap社區(qū)發(fā)布了一篇“上手指南”,因?yàn)樗a是現(xiàn)學(xué)的,新手引導(dǎo)至今仍做得不是很完善——所幸《機(jī)擂》的玩家對(duì)游戲目前的不足都足夠包容,從當(dāng)前TapTap的評(píng)分便可以感受到這點(diǎn)

你算是比較資深的游戲策劃,可既不會(huì)程序、也不會(huì)美術(shù),為什么突然決定辭職,還一個(gè)人來(lái)做一款這樣的游戲?

氪:先說(shuō)辭職的事兒吧。這就像是一個(gè)副導(dǎo)演,總是給別人打下手,時(shí)間長(zhǎng)了就想拍個(gè)自己的片子。由于預(yù)算的問(wèn)題,拍出來(lái)的效果不能跟大片比,甚至可能完全不掙錢(qián),但就是想拍。在游戲公司打工那么多年,寫(xiě)過(guò)太多無(wú)法通過(guò)的策劃案,這次沒(méi)拿任何人的投資,用的全是我自己的積蓄,就是想體驗(yàn)一把“想怎么做就怎么做”的快感,于是就挑了一個(gè)實(shí)現(xiàn)成本最低,玩法最奇怪,放在任何公司都立不了項(xiàng)的方案來(lái)做。

而且我年齡也不小了,感覺(jué)這么愚蠢的事現(xiàn)在不做,可能以后就沒(méi)機(jī)會(huì)了。

但老實(shí)說(shuō),可能因?yàn)槭恰耙蝗斯ぷ魇摇保螒蚰壳巴嫫饋?lái)還是個(gè)比較“糙”的狀態(tài)。你沒(méi)想過(guò)找?guī)褪謫幔?/strong>

氪:主要原因就是窮。當(dāng)時(shí)設(shè)想有相當(dāng)部分的工作可能要外包出去,壓根沒(méi)覺(jué)得能自己一個(gè)人做完。剛開(kāi)始學(xué)代碼時(shí),我想的是,很多優(yōu)秀的游戲策劃都有代碼基礎(chǔ),代碼能力一方面有助于設(shè)計(jì)工作,另一方面在做獨(dú)立游戲時(shí),策劃的工作量是不飽和的,學(xué)些基礎(chǔ)的代碼,起碼能幫程序分擔(dān)一些體力活,比如調(diào)整UI什么的。后來(lái)意識(shí)到,我其實(shí)沒(méi)錢(qián)雇程序全職做,學(xué)著學(xué)著,又感覺(jué)好像自己一個(gè)人也能搞定。

而且這個(gè)游戲的玩法過(guò)于硬核,在盈利上的預(yù)期不是很高,即使上線了可能也養(yǎng)活不了團(tuán)隊(duì)。但如果團(tuán)隊(duì)只有我一個(gè)人的話,成本一下子下降很多——而且自己在家開(kāi)發(fā),連租房的錢(qián)也省了!后來(lái)我就一步一步推進(jìn),遇到不會(huì)的就上網(wǎng)查,實(shí)在查不到就請(qǐng)教一下程序朋友。做的過(guò)程中也有一些曲折,不過(guò)最終還是把所有的坑都趟過(guò)去了。

所以會(huì)選擇“機(jī)器人對(duì)戰(zhàn)”題材,也是因?yàn)槊佬g(shù)上比較好做嗎?

氪:對(duì)。如果以人類(lèi)為主角的話,很難買(mǎi)到大量美術(shù)風(fēng)格統(tǒng)一的3D模型,還要涉及骨骼動(dòng)畫(huà),那樣的話就得請(qǐng)專(zhuān)業(yè)的動(dòng)作美術(shù)來(lái)調(diào)動(dòng)作——可我連程序都請(qǐng)不起,3D美術(shù)就更別提了!如果是以“粗糙的家用電器拼裝而成的機(jī)器人”為主角,動(dòng)畫(huà)部分我就可以自己做,也能買(mǎi)到比較合適的3D模型。

而且,《機(jī)器人大擂臺(tái)》這個(gè)電視節(jié)目很多人應(yīng)該都看過(guò),正好能切合游戲設(shè)計(jì),也能提升玩家的代入感。

其實(shí)這些模型原本的用途是做裝飾

“一人工作室”的現(xiàn)狀和未來(lái)

你覺(jué)得一個(gè)人全職開(kāi)發(fā)一款游戲,最主要的困難是什么?

氪:我覺(jué)得主要的困難來(lái)自三個(gè)方面。

第一個(gè)就是長(zhǎng)期沒(méi)有固定收入帶來(lái)的心理壓力。雖然家里人現(xiàn)在還比較支持,但我也明白長(zhǎng)期這樣下去肯定是不行的。偶爾夜深人靜的時(shí)候就會(huì)陷入強(qiáng)烈的自我懷疑。

第二個(gè)是游戲設(shè)計(jì)上的不確定性帶來(lái)的焦慮。因?yàn)槊刻於家鎸?duì)自己的游戲,很容易就會(huì)失去感覺(jué),有時(shí)會(huì)認(rèn)為“這個(gè)點(diǎn)子蠢爆了,這個(gè)游戲肯定沒(méi)有前途”。不過(guò)幸好之前有過(guò)很多項(xiàng)目經(jīng)驗(yàn),當(dāng)腦子里出現(xiàn)類(lèi)似想法的時(shí)候就會(huì)強(qiáng)迫自己不能放棄,按照原定計(jì)劃把游戲做完——完成比完美更重要。但明知道游戲有各種各樣的問(wèn)題,又找不到特別好的解決方案,或者以自己的能力無(wú)法實(shí)現(xiàn),實(shí)在是一件讓人非常沮喪的事情。

第三個(gè)就是孤獨(dú)感。一個(gè)人窩在家里做開(kāi)發(fā),缺乏社交,時(shí)間長(zhǎng)了對(duì)身心健康都很不利。另外遇到一些設(shè)計(jì)上拿不準(zhǔn)的地方,也找不到合適的人商量。

其實(shí)每天都能學(xué)到新東西,代碼水平逐漸提高的感覺(jué)還挺好的,有點(diǎn)像大家所說(shuō)的“心流”。很多人都說(shuō)過(guò)做獨(dú)立游戲很苦,我覺(jué)得可能主要是來(lái)自心理層面,畢竟坐著寫(xiě)代碼,再怎么樣也不會(huì)比送快遞搬磚更累,對(duì)吧?

游戲上線后,肯定收到了一些反饋和回響,這里頭有什么讓你印象深刻的嗎?

氪:游戲在TapTap測(cè)試的時(shí)候收到了很多反饋,熱心玩家們幫我找到了很多漏洞,其中有個(gè)驚天大Bug:玩家在通過(guò)某個(gè)關(guān)卡后,服務(wù)器會(huì)修改玩家的寶石數(shù),讓寶石數(shù)量和金幣數(shù)量相等——這是我在寫(xiě)服務(wù)器代碼的時(shí)候腦子一抽,一個(gè)變量名寫(xiě)錯(cuò)造成的。這個(gè)Bug是如此驚人,好在處于刪檔測(cè)試階段,我只能哈哈一笑,改掉后就當(dāng)無(wú)事發(fā)生。

游戲上線至今,有產(chǎn)生任何收益嗎?

氪:截止目前,還沒(méi)有產(chǎn)生什么收益,唯一一筆充值記錄是我自己充了6元,用于測(cè)試IAP是否生效。我覺(jué)得這也挺正常的,游戲前期并沒(méi)有做什么宣傳工作,僅僅是在自己的知乎專(zhuān)欄里說(shuō)了一下。對(duì)于免費(fèi)手游來(lái)說(shuō),游戲做到上線僅僅是第一步,不導(dǎo)量,沒(méi)有用戶,自然不會(huì)有什么收入。之后可能會(huì)進(jìn)行一些低成本的宣傳工作,比如說(shuō)在漫展里租個(gè)小攤位,或者聯(lián)系一下游戲主播幫忙宣傳之類(lèi)的。

游戲主題海報(bào)

你曾在知乎專(zhuān)欄寫(xiě)說(shuō),這個(gè)項(xiàng)目“注定要迎來(lái)失敗的命運(yùn)”,目前你的看法有發(fā)生轉(zhuǎn)變嗎?

氪:游戲這個(gè)行業(yè)存在很多運(yùn)氣成分,很多事都說(shuō)不好?!稒C(jī)擂》這個(gè)游戲顯然不會(huì)成為所謂的“爆款”,但萬(wàn)事皆有可能,如果不去做,可能性就是零。市面上的商業(yè)游戲如果是開(kāi)飯館的話,我這種充其量就是一個(gè)路邊的煎餅攤。煎餅攤得有自覺(jué),不能指望像麥當(dāng)勞、肯德基那么賺錢(qián),能養(yǎng)活自己就算是很成功了。

我認(rèn)識(shí)很多小型游戲公司的朋友,這種公司一般都不大,也就十幾個(gè)人。他們做的游戲絕大多數(shù)人都沒(méi)聽(tīng)說(shuō)過(guò),主要收入來(lái)源也就是游戲內(nèi)廣告,但他們都活得不錯(cuò)。我的想法就是,既然他們十個(gè)人做小游戲都能養(yǎng)活自己,那我自己做一個(gè),不求掙大錢(qián),能養(yǎng)活自己還是有機(jī)會(huì)的吧?

如果最后游戲的收益不夠養(yǎng)活自己,未來(lái)你準(zhǔn)備怎么辦?

氪:“凜冬將至”,我這也算是“生產(chǎn)自救”吧。目前的計(jì)劃是繼續(xù)全職做一段時(shí)間,把一些計(jì)劃內(nèi)的工作完成,比如添加新裝備,完善新手引導(dǎo),優(yōu)化美術(shù)資源,多語(yǔ)言版本什么的。這些都做完,如果收益不理想,那就開(kāi)始找工作,回去打工,業(yè)余時(shí)間維護(hù)這個(gè)游戲。目前來(lái)看,單純的維護(hù)成本我還可以負(fù)擔(dān),只有一年幾百塊的云服務(wù)器費(fèi)用。

最后你有什么想跟讀者說(shuō)的嗎?

氪:只要還有玩家玩這個(gè)游戲,我就會(huì)持續(xù)更新下去。

4

編輯 忘川

zhangwang@chuapp.com

須知參差多態(tài),乃是幸福本源。

查看更多忘川的文章
關(guān)閉窗口