關(guān)于只狼里AI索敵機(jī)制的一些研究和完善

去年四月份,我就整過(guò)了關(guān)于敵人索敵機(jī)制和仇恨機(jī)制的解析。

當(dāng)然,還是那句話(huà),畢竟這個(gè)領(lǐng)域雖然很常用,但并不是很多人關(guān)注,這個(gè)視頻我也沒(méi)完全完善,例如沒(méi)解釋為什么敵人正面,足夠近的距離下會(huì)強(qiáng)制被發(fā)現(xiàn)。
后面也是靠我自己不斷修改整出來(lái)的,后面的口哨文章就更細(xì)致一些,但也是不完善的結(jié)論。

現(xiàn)在的話(huà),應(yīng)該能做一個(gè)比較完善的總結(jié)了。

和之前的差不多,敵人的索敵方式,可以理解為是一個(gè)雷達(dá)。
只狼作為天誅的精神續(xù)作,潛入暗殺也是一個(gè)繼承前作的要素。
當(dāng)然,魂系列的引擎用起來(lái)這么香,按照我對(duì)FS社一群懶鬼的獨(dú)特個(gè)人偏見(jiàn)……
那群老賊肯定為了偷懶會(huì)沿用到前作的引擎去開(kāi)發(fā)修改,然后做到“接近天誅時(shí)的潛入”的暗殺機(jī)制。
那咋整呢?
要知道魂系列是沒(méi)有“蹲下”這個(gè)操作的!
所以我認(rèn)為的是,那群老賊,給只狼的“蹲”,加個(gè)buff就完事了!
同樣的,進(jìn)入草堆可以理解為進(jìn)入了類(lèi)似“溫暖的火”的buff,進(jìn)去就會(huì)享受一個(gè)buff,這個(gè)buff是可以減少警覺(jué)值的,來(lái)達(dá)到敵人發(fā)現(xiàn)不了玩家的特點(diǎn)。
然后和魂系列的一樣,玩家只要進(jìn)入了敵人的“索敵范圍”。
類(lèi)似仇恨值的東西,就會(huì)往敵人的警覺(jué)槽上累積,那個(gè)仇恨值,我就稱(chēng)之為“警覺(jué)值”……


這個(gè)過(guò)程有點(diǎn)像中毒一樣,累積夠了,就會(huì)發(fā)生中毒debuff。

而敵人的警覺(jué)槽滿(mǎn)了,就會(huì)讓敵人進(jìn)入“警覺(jué)狀態(tài)”,敵人就會(huì)到處搜索敵人,一般是按照玩家的站位決定敵人的搜索方向。
順帶一提,陶片以及口哨,就是讓敵人強(qiáng)制進(jìn)入警覺(jué)狀態(tài)。
但口哨的效果是自定義“警覺(jué)狀態(tài)發(fā)生的源頭”,也就是我可以把口哨的哨音砍出去,固定在其他位置。

敵人聽(tīng)到口哨后,就會(huì)往發(fā)聲源的方向搜索,從而引開(kāi)敵人。(有點(diǎn)像魂二的思鄉(xiāng)了)
而在警覺(jué)狀態(tài)下,如果再累積警覺(jué)值,警覺(jué)槽就會(huì)開(kāi)始累積紅色的警覺(jué)值,槽滿(mǎn)了之后,敵人就會(huì)進(jìn)入敵對(duì)狀態(tài)。
這就是說(shuō)明了玩家自己被發(fā)現(xiàn)了,敵人的要來(lái)sha你了。
當(dāng)然,還有一個(gè)情況,是跳過(guò)“警覺(jué)狀態(tài)”,直接變成“敵對(duì)狀態(tài)”。
往下我還會(huì)詳細(xì)講這個(gè)“直接發(fā)現(xiàn)”的敵對(duì)狀態(tài)解析。


同時(shí)還有行動(dòng)音量的設(shè)計(jì)。(還記得魂三里,歐貝克給你的眠龍戒嗎?)

所謂的行動(dòng)音量,本質(zhì)上也是索敵范圍的一個(gè)情況,在敵人背后也會(huì)累積玩家的警覺(jué)值的。滿(mǎn)了之后就會(huì)進(jìn)入警覺(jué)狀態(tài)。
因?yàn)閿橙说木X(jué)狀態(tài)下會(huì)周?chē)曈^察(一般是進(jìn)入警覺(jué)時(shí),按玩家當(dāng)時(shí)站的位置作為搜索方向),所以在警覺(jué)狀態(tài)下,敵人會(huì)更容易發(fā)現(xiàn)玩家。

這些都是只狼里的索敵系統(tǒng)的所有的基本情況了。

早些時(shí)候我做了些模型去模擬敵人的索敵情況。
但后來(lái)我拆包時(shí)就猜想,那個(gè)敵對(duì)狀態(tài)是“玩家自身”發(fā)出的。
因?yàn)橥婕易约撼詡€(gè)月隱糖,反而讓敵人卻自己瞎了,這就很玄幻。
還是老規(guī)矩,拆包下月隱糖的拆包是有三個(gè)這樣的效果。

一個(gè)是SightSearchEnemyCut=50
一個(gè)是unknown=0.5
一個(gè)是HearingSearchEnemyCut=0
而其他effect則是這樣的,月隱糖是減少50%的視覺(jué)索敵、100%的聽(tīng)覺(jué)索敵,以及減少玩家50%的警覺(jué)值累積。

因?yàn)檎?lái)說(shuō),哪怕堆了很多隱蔽性buff,玩家在敵人正面位置,足夠接近敵人的距離時(shí),敵人也會(huì)強(qiáng)制發(fā)現(xiàn)玩家。
這里我就有一個(gè)猜想:
如果說(shuō),我猜想玩家身上有個(gè)“圈”,這個(gè)圈是讓敵人進(jìn)入后,強(qiáng)制發(fā)現(xiàn)玩家。

如果玩家進(jìn)入敵人的視角范圍內(nèi),而玩家身上的“圈”并沒(méi)有和敵人有交集的話(huà)。
那就可以解釋玩家并沒(méi)有,進(jìn)入了敵人視角范圍內(nèi),敵人的頭頂,只會(huì)產(chǎn)生黃色的“警覺(jué)槽”,累積警覺(jué)值。

直到玩家移動(dòng)到距離足夠近的時(shí)候,敵人才會(huì)強(qiáng)制發(fā)現(xiàn)玩家。

也就是我個(gè)人認(rèn)為,SightSearchEnemyCut的系數(shù),應(yīng)該是控制是讓玩家自己的“圈”的大小,而這個(gè)圈,是能夠讓敵人進(jìn)入“敵對(duì)狀態(tài)”的圈。
當(dāng)然,要滿(mǎn)足這個(gè)強(qiáng)制敵對(duì)狀態(tài),是玩家必須暴露在敵人的索敵范圍里的,才能被強(qiáng)制發(fā)現(xiàn)的哦!

接著是那個(gè)Unknown系數(shù),應(yīng)該就是決定警覺(jué)值的累積,或者稱(chēng)之為“警覺(jué)累積系數(shù)”。

例如在站立狀態(tài)下進(jìn)入小兵的視角范圍,3秒就會(huì)累積滿(mǎn)警覺(jué)槽。
如果是帶屏息被動(dòng)下,則是6秒才累積滿(mǎn)警覺(jué)槽。(因?yàn)槿陶吡髅丶谋粍?dòng)屏息,警覺(jué)累積系數(shù)也是50%)
同樣的站立狀態(tài)下,帶月隱效果是,也是6秒才累積滿(mǎn)警覺(jué)槽。
而附帶屏息+月隱,則是要12秒才累積滿(mǎn)警覺(jué)槽。(也就是兩者關(guān)系獨(dú)立,警覺(jué)值累積只有25%)
當(dāng)然,行動(dòng)音量的概念,也是一個(gè)道理。

忍者流秘籍的被動(dòng)消音,是消除行動(dòng)音量50%,也可以理解為“聽(tīng)覺(jué)累積系數(shù)”是減少至50%。
也就是在敵人背后時(shí),敵人要花一倍的時(shí)間去累積警覺(jué)值,也就是呆在敵人背后的時(shí)間更長(zhǎng)。
而月隱糖則是消除行動(dòng)音量,行動(dòng)完全消音,玩家在敵人背后時(shí)就絕對(duì)不會(huì)產(chǎn)生警覺(jué)值。



目前特殊的情況,就應(yīng)該是鐵炮要塞那里。
這個(gè)情況估計(jì)和魂一、魂三的銀騎士堆,是一樣的處理。
因?yàn)槟切┥哐圩搴豌y騎士一樣,距離近的時(shí)候,仇恨表達(dá)和正常怪物完全一樣。

我也不好說(shuō),就有幾個(gè)猜想:
①?gòu)?qiáng)制仇恨的機(jī)關(guān),也就是當(dāng)玩家進(jìn)入這個(gè)領(lǐng)域就會(huì)強(qiáng)制觸發(fā)仇恨。
(類(lèi)似魂二那種,玩家走到某個(gè)地點(diǎn)時(shí),在遠(yuǎn)處待機(jī)的敵人就會(huì)自主發(fā)動(dòng)“敵對(duì)狀態(tài)”上來(lái)砍你。)
②這類(lèi)敵人比較特殊,在一定距離外的,警覺(jué)值獲得會(huì)更高。
(因?yàn)橐郧巴孢^(guò)個(gè)mod,銀騎士的仇恨發(fā)現(xiàn)距離遠(yuǎn)到離譜,在我剛剛到后院的平臺(tái)就拿弓射我……但又可能是我的“圈”,變大了……)

當(dāng)然,個(gè)人更偏向前者的……
(畢竟魂二就有的機(jī)關(guān)觸發(fā)機(jī)制,按照做游戲要偷懶摸魚(yú)的思路,直接搬過(guò)來(lái)用,豈不快哉?。?/p>

封面頭圖:Trashcan Shinobi By enlan (deviantart)