街霸2的CPU是怎麼對玩家作弊的?

遊資網發表於2019-09-24
街霸2的CPU是怎麼對玩家作弊的?

實錘了!

《街頭霸王2》是無數玩家心中的經典遊戲,也曾讓不少玩家叫苦不迭。

遊戲中的CPU經常不按常理出牌,仗著自己有後門作威作福,有時甚至無視遊戲本身的規則。

街霸2的CPU是怎麼對玩家作弊的?

近日格鬥遊戲主播desk就進行了一系列的試驗,分析了街霸2中CPU究竟是如何不擇手段地作弊開掛的。

首先,《街頭霸王2》的CPU在某些時間可能會偷偷開啟無敵模式。

最典型的情況出現在CPU和玩家同時出招時。在實驗中,面對玩家的連續下段快拳攻擊,CPU用一招較慢的踢擊反擊玩家,玩家出拳並沒能打斷CPU。

街霸2的CPU是怎麼對玩家作弊的?

而當desk試圖自己還原這一動作時,發現這個動作本身並沒有無敵幀,正常一定是會被打斷的,只是CPU使用時開啟了無敵。

街霸2的CPU是怎麼對玩家作弊的?

類似的事情在街霸2中時有發生,在比拼手速的對決中如果CPU慢了就經常會開啟無敵幀,即使玩家先出手的情況下,最後贏的依然是CPU。

街霸2的CPU是怎麼對玩家作弊的?
有些時候CPU無視玩家的攻擊,而有些時候它還無視玩家的防禦

在desk的測試中,玩家明明已經提前蹲防了,但依然還是被CPU的攻擊打中。

他還發現,正常情況下達爾西姆這招從出手到產生判定需要經過3幀,但當CPU使用時,第一幀就有了判定。也許CPU出招的判定機制都是不一樣的。

街霸2的CPU是怎麼對玩家作弊的?

此外,還有一種明顯的作弊就是CPU的解暈大法。

在CPU眩暈之後,如果玩家想進行追擊,CPU會以超人的速度瞬間恢復正常,擋下玩家的攻擊。

根據試驗,CPU從眩暈中恢復只需要12幀,也就是五分之一秒的時間,這對於CPU來說幾乎等於沒有。

街霸2的CPU是怎麼對玩家作弊的?

還有更過分的是,CPU可以無視遊戲的機制,作出玩家做不出的操作。比如古烈的斬魂腳刀,本來需要先蹲下蓄力才可以發出。但在CPU使用時,這個技能基本是個瞬發技能,CPU會象徵性的蹲一下,但時間基本可以忽略不計。

CPU的下蹲更多處於禮貌,因為有時候它連裝都懶得裝了,直接旱地拔蔥就是一腳。

街霸2的CPU是怎麼對玩家作弊的?

一些投技可以通過連按造成多段傷害,但到了CPU手裡就變成了威力無窮的懷中抱妹殺。CPU可以非人的手速造成喪心病狂的傷害,一個投技甚至可以打掉95%的生命值。

街霸2的CPU是怎麼對玩家作弊的?

為什麼街霸2的CPU這麼喜歡開掛呢?此前一位名為SF2PLATINUM的愛好者通過反向工程得到了街霸2的程式碼,解答了一些問題。

街霸2的AI與現代遊戲相比簡單得多,CPU不會學習玩家的行為作出自己的判定,它的行為都是提前寫好的,由很多個指令碼組成的。包含了遊戲中可能出現的各種情況,然後根據不同的情況作出不同的動作。

比如CPU的攻擊就是從眾多預先寫好的攻擊指令中隨機抽取的,下圖就是隆的一套簡單難度下的出招模式——三連波動拳打暈加投技。

街霸2的CPU是怎麼對玩家作弊的?

街霸2中的CPU發出招式本身是不需要任何蓄力或者指令輸入的。指令碼里寫了發出技能,古烈就會直接作出腳刀的動作。只要指令碼需要,甚至可以讓他在空中發出腳刀。

而有些動作,比如春麗的百裂腳,CPU會先假裝作出一些動作好像是在輸入指令,但實際上這是寫在指令碼里的,讓玩家覺得比較真實——古烈的指令碼可能是忘了寫這段了。

街霸2中的每個後設資料都有一個標籤,對應每一幀的動畫。當玩家輸入指令後,電腦根據標籤調取相應的動畫,而CPU是可以看見這個標籤的。因此它作出的反應是在指令輸入的瞬間作出的,而且比螢幕上顯示的畫面還早。

CPU能很快從眩暈中醒過來,可能就是因為玩家的進攻觸發了某個防禦劇本,導致CPU直接無視了眩暈狀態而進行了防禦。

SF2PLATINUM說遊戲中還有一個指令可以關掉角色的碰撞效果,利用這個指令可以通過指令碼可以完成“白金之星”躲波動拳的操作,也就是之前看到的無敵時間的由來。

所以街霸2的CPU確實會作弊,不少作弊行為是因為遊戲設計本身所造成的。

這倒讓我鬆了一口氣,原來我格鬥遊戲打不過電腦就是因為它總作弊啊。

嗯,一定是的。

作者:百頁豆腐  
來源:遊戲研究社
原地址:https://mp.weixin.qq.com/s/gDVz_Kp2-RX7ZZ1SMKs7Hg

相關文章