隆重推出“刀塔漫談”,全新的特色博文,我們開發(fā)團(tuán)隊的成員會梳理在開發(fā)像Dota這樣獨(dú)特的游戲時遇到的一些挑戰(zhàn)、錯誤修復(fù)還有偶爾令人莞爾的意外。

每次Dota的大更新都讓我們有機(jī)會在游戲中推出新英雄、物品和技能——更不用說要對老的英雄、物品進(jìn)行無數(shù)的調(diào)整。 這讓Dota作為一款游戲不斷地發(fā)展,但也引入了無法估量的潛在交互。 雖然這意味著每場比賽中總會出現(xiàn)新的體驗(yàn),但也讓我們的部分改動更有可能偶爾帶來一兩個錯誤。 或者二十個。

幸運(yùn)的是,Dota社區(qū)一直都在試驗(yàn)和探索,很快就能發(fā)現(xiàn)隱藏的優(yōu)勢,新的打法和徹底破壞游戲的漏洞,連我們都是措手不及。

工程師的粘性炸彈錯誤就是一個極好的例子。 這個錯誤的根源可以追溯到去年工程師的更新,當(dāng)時他們的技能和玩法得到了全面重做。 這次重做產(chǎn)生了工程師的粘性炸彈不會消失的錯誤,在部分情況下還能被施放的玩家所控制。 不過有趣的是,在當(dāng)時的游戲機(jī)制下,這樣的錯誤并沒有在比賽中出現(xiàn)的環(huán)境。 所以一直就這樣蟄伏著,直到今年春天的大展宏圖7.33更新里出現(xiàn)了雙生之門。

突然之間,工程師玩家可以制造可控的粘性炸彈,在地圖上任意移動,向敵方玩家無限傾瀉致命的炸藥。 這優(yōu)勢……有點(diǎn)大了。 所以沒多久我們就在我們的GitHub上收到大量反饋。

在一般的游戲編程中常見的模式,特別是Dota中,創(chuàng)建(不會破壞游戲的)新東西是去找現(xiàn)有的(可以運(yùn)作而且不會破壞游戲的)相似物,利用它作為起點(diǎn)來加入改動。 粘性炸彈是基于經(jīng)典的工程師遙控炸彈。 他們是作為“npc_dota_techies_remote_mine”的召喚物來實(shí)現(xiàn)的——和老的遙控炸彈NPC相同的NPC類型。

工程師的粘性炸彈使用的是“扔出”/“追逐”/“倒計時后引爆”的序列,由NPC上一系列服務(wù)器端的修飾符(狀態(tài))來管理,處理序列里每一步的單位動作和行為。 “追逐”和“倒計時”修飾符通過修飾符的狀態(tài)標(biāo)記來阻止玩家指令。 “扔出”修飾符是動作控制器,阻止多個類型的玩家指令,另外npc_dota_techies_remote_mine本身還具有特殊性質(zhì)(具體而言是給NPC設(shè)置的攻擊能力DOTA_UNIT_CAP_NO_ATTACK)。

由于遙控炸彈可以由工程師使用炸彈本身的技能手動引爆,遙控炸彈NPC被允許使用技能。 這意味著它自帶的標(biāo)記有,歸施法玩家所擁有(用于結(jié)算擊殺),同時可以被施法玩家控制。 右鍵點(diǎn)擊雙生之門(或者任何可以持續(xù)施法的地圖實(shí)體)的生效機(jī)制是把點(diǎn)擊后發(fā)動攻擊轉(zhuǎn)變?yōu)閷Τ掷m(xù)施法目標(biāo)的施放技能(持續(xù)施法時時對雙生之門進(jìn)行“施法”)。 其他地圖實(shí)體需要英雄才能持續(xù)施法。 但是,由于雙生之門還要被肉山使用,所以也允許非英雄單位進(jìn)行持續(xù)施法。

這就帶來了粘性炸彈的錯誤:在粘性炸彈被扔出后在空中的極短時間內(nèi),如果玩家通過統(tǒng)一單位指令選中工程師和粘性炸彈后點(diǎn)擊雙生之門,炸彈也會對雙生之門持續(xù)施法。 這讓粘性炸彈進(jìn)入了持續(xù)施法的狀態(tài),終止了“扔出”并且破壞了修飾符的序列,導(dǎo)致產(chǎn)生意外的行為。

理解了這一切以后,解決的辦法就非常簡單了。 粘性炸彈不需要施法玩家可控制的屬性。 移除炸彈的這個標(biāo)記意味著修飾符的預(yù)期序列總是會按照原定的順序執(zhí)行,使炸彈最終得以爆炸。

與非常多的錯誤一樣,修復(fù)錯誤的99%時間里通常都是在排查。 真正的解決辦法一般都是改動一行代碼——還有可能是為了修復(fù)之前的錯誤編寫出來的同一行代碼。 (這就是為什么大家常說調(diào)試代碼就像是自己作為偵探調(diào)查一起兇手就是自己的謀殺案)。

所以,這就是粘性炸彈錯誤如何意外出現(xiàn)的過程;它引發(fā)了短暫的混亂;我們注意到玩家的反饋后又是如何去修復(fù)。 接下來會發(fā)生什么? 好,現(xiàn)在我們就坐等,刪除了那行代碼修復(fù)了老的錯誤后又會產(chǎn)生什么新的錯誤。 如果碰巧發(fā)現(xiàn)了,歡迎發(fā)到GitHub上。

Dota2 官方中文版下載
游戲類型:動作游戲發(fā)售時間:2013-07-10游戲發(fā)行:Valve游戲制作:Valve游戲平臺:PC游戲語言:簡體中文,英文游戲標(biāo)簽:網(wǎng)絡(luò)游戲,塔防,多人合作,即時戰(zhàn)略,策略
暫無購買

用戶評論

相關(guān)攻略

開發(fā)團(tuán)隊的幕后工作:刀塔漫談 - 拆解炸彈 DOTA2利雅得淘汰賽LGD回家了嗎 2023DOTA2利雅得大師賽LGD 0-2不敵QE 利雅得淘汰賽GG打石頭人是誰贏了 2023DOTA2利雅得大師賽淘汰賽GG2-1淘汰TUNDRA 利雅得淘汰賽茶隊打EG是誰贏了 2023DOTA2利雅得大師賽淘汰賽Aster 2-0戰(zhàn)勝EG 2023DOTA2利雅得LGD加賽贏了嗎 利雅得大師賽加賽LGD 0-1不敵9P落入敗者組 2023DOTA2利雅得茶隊打雪碧誰贏了 利雅得大師賽淘汰賽Aster0-2負(fù)于TSpirit 2023DOTA2利雅得哪個英雄勝率最高 利雅得大師賽小組賽英雄數(shù)據(jù)表現(xiàn) DOTA2利雅得大師賽淘汰賽有誰 2023DOTA2利雅得淘汰賽賽程 DOTA2Monet創(chuàng)造記錄了嗎 Aster戰(zhàn)隊Monet創(chuàng)造大賽零陣亡擊殺記錄 2023DOTA2利雅得小組賽Aster打BB誰贏了 2023DOTA2利雅得大師賽茶隊0-2不敵BB

相關(guān)閱讀

熱門推薦

新聞熱榜

游戲評測

熱門攻略

最新游戲

wu
wu