今年8月,經(jīng)歷了三年打磨的《弈劍行》正式上線,卻以一種意想不到的方式登上了熱搜。由于受到黑客攻擊,《弈劍行》開發(fā)團(tuán)隊(duì)不僅當(dāng)機(jī)立斷決定退回所有充值,并且將游戲從聯(lián)機(jī)對(duì)戰(zhàn)版改為了單機(jī)版。直到上個(gè)月,《弈劍行》才正式上線了聯(lián)機(jī)模式。
截圖來源于TapTap
這場風(fēng)波非但沒有勸退玩家,反而讓大家看到了一個(gè)踏踏實(shí)實(shí)做游戲的團(tuán)隊(duì)的決心。
《弈劍行》上線前就有超27萬人預(yù)約,直到現(xiàn)在TapTap評(píng)分仍高達(dá)9.1。這對(duì)于一款幾乎沒有任何宣發(fā)的獨(dú)立游戲來說,絕對(duì)是足以引以為傲的。我們在采訪《弈劍行》制作人宋九辯的時(shí)候,他表示《弈劍行》對(duì)他而言并不是一款游戲,而是一個(gè)試驗(yàn)品,他的最終目標(biāo)是做出一款打斗極致爽快的動(dòng)作游戲。
圖片來源于網(wǎng)絡(luò)
宋九辯說,開發(fā)《弈劍行》的過程是“尷尬”且“遺憾”的。尷尬在于做了太多加法,越來越鉆牛角尖,在一心想把游戲做好的同時(shí)也提高了玩家上手的門檻,結(jié)果就是純粹的自我滿足。
而遺憾在于,由于反復(fù)試錯(cuò)的成本太高、手機(jī)性能有局限,再加上人員不足,短時(shí)間內(nèi)將其繼續(xù)完善是很有挑戰(zhàn)的一件事情。
這次,Unity采訪到了這個(gè)死磕自己的獨(dú)游開發(fā)團(tuán)隊(duì),聽他們講一講如何打造出心中的江湖夢。
圖片來源于網(wǎng)絡(luò)
請先和開發(fā)者介紹下游戲和團(tuán)隊(duì)吧,我們了解到《弈劍行》是由一個(gè)很小規(guī)模的團(tuán)隊(duì)開發(fā)的,但卻在TapTap的評(píng)分高達(dá)9.1分,非常厲害!能和廣大獨(dú)立開發(fā)者分享下經(jīng)驗(yàn)嗎?
這款游戲是從2018年8月誕生的,當(dāng)時(shí)是4個(gè)人一起,分別負(fù)責(zé)策劃、程序、美術(shù)及動(dòng)作。當(dāng)時(shí)就憑著初生牛犢不怕虎的沖勁兒,把我們對(duì)于動(dòng)作游戲的理解給做到游戲中去了。誕生由于當(dāng)時(shí)大家的經(jīng)驗(yàn)都不足,所以這款游戲摸著石頭過河,好幾次瀕臨放棄。
我覺得做獨(dú)立游戲,立項(xiàng)的時(shí)候一定要結(jié)合團(tuán)隊(duì)的實(shí)際情況,別一上來就搞大的。先做讓自己游刃有余的事情,等有了基礎(chǔ)再往上挑戰(zhàn),打造自我實(shí)現(xiàn)層面的游戲。
游戲中的硬核格斗動(dòng)作受到了玩家的一致好評(píng),能和大家分享下這是如何利用Unity特性制作出來的嗎?
開發(fā)中我們采用了Unity比較新的版本,并且使用了URP(Unity通用渲染管線)。URP帶來了很可觀的性能提升,并且支持更便捷的調(diào)試與開發(fā)工具,這為我們節(jié)省了很多的開發(fā)時(shí)間,而且畫面表現(xiàn)也有了提高。
由于我們?nèi)肆Σ蛔?,所以在開發(fā)的過程中我們制作且利用了很多資源商店的插件,讓我們從以往需要大量人力調(diào)整的工作流程中解放出來。當(dāng)然這需要針對(duì)項(xiàng)目的編輯器做出大量拓展,而這方面在Unity中實(shí)現(xiàn)起來還是比較輕松的。
圖片來源于網(wǎng)絡(luò)
關(guān)于打擊感這塊,我們一直在不斷嘗試,目前仍并不完善,下面的一些經(jīng)驗(yàn)仁者見仁智者見智吧。
攝像機(jī)視角:
首先是確定好攝像機(jī)距離及透視等參數(shù),如果攝像機(jī)確定不下來,以后再更改對(duì)手感有很大影響,比如動(dòng)作上的視覺遮擋、速度感等等。
攻擊命中:
我們使用了武器揮動(dòng)路徑檢測,配合滑屏交互來保證真實(shí)性,以及那種“差一點(diǎn)就能命中”的效果。最終做到了近距離可以根據(jù)身法、對(duì)方的攻擊方向和武器類型精確躲避攻擊。但弊端也很大,雖然做到了“失之毫厘”,但受視角遮擋及玩家心里預(yù)期影響,一旦揮空,這種反饋上的落差也是十分難受的,沒有范圍+特效檢測這種釋放即結(jié)果的反饋來得爽。
命中頓幀:
我們根據(jù)動(dòng)作的輕重程度,做出了幾檔不同的頓幀曲線,通過曲線來模擬真實(shí)的切割感,但由于手機(jī)物理幀率的性能限制,作用并不太明顯,聊勝于無吧。
根節(jié)點(diǎn)位移:
動(dòng)作使用了根節(jié)點(diǎn)位移,可以極大的保證動(dòng)作節(jié)奏,加上左右腳回待機(jī)的融合動(dòng)畫,使腳降低漂移感。缺點(diǎn)就是工作量太大,而且改起來更是牽一發(fā)動(dòng)全身,如果不追求物理真實(shí)性,受擊用浮空動(dòng)作可以省下很多工作量。
屏幕震動(dòng)+音效+動(dòng)作前后搖+特效遮掩這些老生常談,就不班門弄斧了。
手機(jī)性能:
在性能這方面我們選擇了PBR的渲染,加上實(shí)時(shí)的布料解算,造成了非常高的性能開銷。另一方面也是因?yàn)槲覀儽旧砟P唾Y源精度不高,所以也只能選擇這條路來保證項(xiàng)目擁有更好的畫面,但這些帶來的后果就是在低端機(jī)上幾乎沒有獲得相應(yīng)的體驗(yàn)。而作為一個(gè)動(dòng)作游戲,在幀率較低的情況下玩家體驗(yàn)是非常難受的。
所以我們增添了更多的調(diào)整空間以及另一個(gè)風(fēng)格的著色來降低配置的需求,不過整體來講對(duì)于手機(jī)配置的要求還是比較高的。還有一個(gè)就是高負(fù)載情況下又要保持高幀率,帶來的手機(jī)發(fā)熱問題,這方面也只能通過后期不斷性能優(yōu)化慢慢調(diào)整。
所遇到的最大困難是什么?又是如何克服的?
最大的困難就是選擇了1v1格斗游戲這條路,零和博弈所帶來的挫敗感,已經(jīng)無法調(diào)和了,如果以后有機(jī)會(huì),會(huì)增加單機(jī)內(nèi)容的比重,或者多人團(tuán)體競技模式。
《弈劍行》在游戲上線曾遇到一些意外,能和我們大家講述下嗎?作為獨(dú)立開發(fā)者該怎么應(yīng)對(duì)此類事件呢?
當(dāng)時(shí)在上線的第一天就遭到了黑客的攻擊,導(dǎo)致聯(lián)機(jī)對(duì)戰(zhàn)服崩潰,幸虧當(dāng)時(shí)得到了TapTap平臺(tái)的支持,給我們提供了24小時(shí)的技術(shù)對(duì)接,及免費(fèi)的高防服務(wù),才讓游戲得以再次上線。對(duì)于使用網(wǎng)絡(luò)部分的服務(wù)確實(shí)有比較高的被攻擊的風(fēng)險(xiǎn),作為小團(tuán)隊(duì)并且第一次開發(fā)線上聯(lián)機(jī)游戲,我們之前也是完全不知道這方面的問題才導(dǎo)致了這次意外,對(duì)于DDOS攻擊游戲的數(shù)據(jù)服務(wù)器因?yàn)楸容^固定只能采取高防方案來對(duì)抗,但是成本確實(shí)還是高昂的。
聯(lián)機(jī)部分對(duì)戰(zhàn)服務(wù)器我們目前是用了Multiplay提出的避災(zāi)方案,如果被攻擊通過靈活的服務(wù)器調(diào)度來丟棄掉被攻擊的一組服務(wù)器,不斷開辟新的服務(wù)器來躲避攻擊,這方面的話成本就可以變得非常低,被影響的玩家開始新的對(duì)局也不會(huì)受到影響。
《弈劍行》聯(lián)機(jī)玩法采用了Unity Multiplay聯(lián)機(jī)對(duì)戰(zhàn)服務(wù),能和大家分享下使用心得嗎?
Multiplay對(duì)于我們來說使用起來非常舒服,因?yàn)閺慕尤氲讲渴鸶鞣矫娑紩?huì)有專門的工程師幫忙對(duì)接,出現(xiàn)問題后處理效率也非常高。在被攻擊后我們轉(zhuǎn)為單機(jī)版本并重做所有了聯(lián)機(jī)部分,也是這時(shí)候開始接入Multiplay,整個(gè)過程僅用了一個(gè)多月就開啟了測試,為我們省下了非常大的一部分時(shí)間開銷。
Multiplay的服務(wù)本身是純粹的幫忙分配對(duì)戰(zhàn)服務(wù)器,我們部署好服務(wù)器邏輯后不太需要關(guān)注調(diào)度過程,更新新的服務(wù)器版本客戶端也可以不停服過渡。因?yàn)橛闷饋碚娴暮芊奖愫唵嗡砸矝]有什么心得,只需要提出申請,拿到可用的服務(wù)器信息,然后加入就完成了整個(gè)流程,更復(fù)雜的一些功能目前我們也沒用到。
圖片來源于網(wǎng)絡(luò)
《弈劍行》團(tuán)隊(duì)后期想要開發(fā)一個(gè)山海經(jīng)題材的單機(jī)買斷制端游,揚(yáng)長避短,不炫技、不固執(zhí)、不跟風(fēng)、不用去考慮商業(yè)化,一心研究動(dòng)作游戲的打斗體驗(yàn)。大家是否也很期待呢?