【專欄】方塊的戰爭:淺談格鬥遊戲的精髓

Faust
經「機核網」授權轉載,在此僅做簡繁轉換,並不修改內文用字。
原始文章連結:「方塊的戰爭:淺談格鬥遊戲的精髓」  / 作者 Xizonbu
8da92477024399921d4d7d3181bcecfd b | 吹著魔笛的浮士德
為什麼這招式能打中你,為什麼逆向能有判定,為什麼我都跳了還能吃你的必殺,種種奧妙其實都能用一個「框」字來解釋。

 

不知道有多少朋友聽了之前我們錄製的「ACT之難」的專題節目,在節目中我們的嘉賓白夜曾經用了「框」的概念為大家介紹了角色碰撞與攻擊的判定是如何運作的,不少玩家也表示對此非常好奇。而今天我們也請到資深格鬥遊戲愛好者 Mashers 為大家好好講講格鬥遊戲發展以來的各種「框」,到底有多神秘。

「框」的奧秘

2D格鬥遊戲對於廣大玩家來說應該都不陌生。從開創系列的鼻祖街霸到紅遍國內大江南北的拳皇,都滿載著格鬥迷們的熱血和回憶。任何一名硬核格鬥玩家對於每屆的鬥劇和EVO的執著,不亞於球迷們對於世界盃的追捧。
0f6cef7f0e862d1cf2069f88683f7bbb b | 吹著魔笛的浮士德
得益於近些年《街霸4》的宣傳與官方活動,北美的EVO也成為了每年一度的格鬥盛會
作為一名沉迷於2D格鬥遊戲的玩家,我對於遊戲背後運作的原理有著濃厚的興趣。所以希望藉著這此機會,為大家淺析一下格鬥遊戲的運作原理。
2D格鬥遊戲其實就是一堆方塊的碰撞。這聽起來可能會讓你想起俄羅斯方塊,但是為了讓大家有個直觀的感受,我們用下圖來做解釋:
Advertisement

056268a56debf12ab8332ea41691e6c1 b | 吹著魔笛的浮士德
圖1. 隆和Rose的判定框[1]
在這幅圖中,除了左邊在發升龍的Ryu,和右邊在出對空指令投的Rose外,我們還能看到一些疊在一起的帶顏色的框框。這些方框就是判定框。它們才是格鬥遊戲裡真正的「主角」。

重新認識「判定」

格鬥遊戲裡常見的判定框分為以下幾類:攻擊判定、受創判定、投技判定、碰撞判定、飛行道具判定,下面我們來分別介紹。
1、攻擊判定
作為格鬥遊戲裡最為重要的判定框,攻擊判定直接決定了你的拳腳是否打到了對方。

fc35e1d8febb9377a5f6d28607a36c1b b | 吹著魔笛的浮士德
圖2. 紅色區域為攻擊判定框[2]

從上圖中我們可以看到,兩邊的春麗都在用不同的重拳攻擊對方,在攻擊發生時,會出現紅色的判定框圍繞在她們的拳頭旁。這個就是攻擊判定框。當這個方框與對方身體重合時,系統就會認為你打到了對方。

聰明的你一定會想到,這個框越大,在對戰中不就越佔便宜嗎?確實是這樣,攻擊判定框的大小直接影響到了一款格鬥遊戲的平衡度:

e362c423b05140ee5838684c85544d35 b | 吹著魔笛的浮士德
圖3. 如月影二(左)超大的判定框[3]

所以在對戰中,有時候你覺得對方明明沒碰到你,但還是中招了,那很有可能就是這些看不到的判定框在作怪。

2、受創判定
從名字應該很容易理解,這個判定框所畫出的範圍如果和攻擊判定框重疊,那麼你就被打中了:

22c571cc4e46ed980caac419b1bc9cb4 b | 吹著魔笛的浮士德
圖4. Hugo站中拳收招時所出現的深藍色以及淺藍色受創判定[4]

上圖中出現了兩種受創判定框,深藍色的受創判定是人物在站立時就固有的,在每個姿勢中都會出現。但是淺藍色的判定是只有在招式發出的那幾幀才有,並且會在收招後消失。

胖胖的角色受創判定會比較大,所以他們成為了連段視頻中最受歡迎的沙袋。
3、投技判定
投技判定的原理和攻擊判定一樣,但是如何判斷投技是否命中會因遊戲而異。我們這裡用《街霸33》來舉例

f034740e7615fc900e3e6726a96d6b96 b | 吹著魔笛的浮士德
圖5. Hugo SA1超殺發動瞬間的橙色及綠色判定框[5]

上圖中,Hugo近身超殺的瞬間會出現投技判定(橙色判定框)。如果橙色框與對面的綠色被投判定框重疊,則超殺成立。下圖是豪鬼瞬獄殺的判定(是的,瞬獄殺是個投技):1b29aebfa27d30eeb0ae4dd5182df0e8 b | 吹著魔笛的浮士德
圖6. 豪鬼瞬獄殺那「短小」的投技判定[6]

我們可以看到街霸33中的地面投技判定都集中在腳部。這是為了防止站在地面的角色把跳在空中的對手給抓下來。當然,某些為了對空所設計的投技除外:a61799a6a7ed2c9d496441b0578b404e b | 吹著魔笛的浮士德
圖7. Hugo對空超殺的判定[8]

我們可以看到Hugo自身的投與被投判定(橙色和綠色)的判定都增大了不少。

4、碰撞判定
碰撞判定是指遊戲人物自身在場景中所佔的面積。試想一下,當兩個角色面對面頂著走時,雙方是沒法穿過對方的。造成兩個人頂住的原因就是下圖中綠色的碰撞判定(判定框的顏色都是模擬器自己定義的,所以沒有某個顏色是固定的):

a7a642751440b822c9605fcc6a7a45ac b | 吹著魔笛的浮士德
圖8. 豪鬼與春麗撞到一起

不要以為碰撞判定不重要,有時候碰撞判定的錯誤設定也會導致招式變的極不平衡。最著名的例子就是拳皇97裡的八稚女:

88a8e597df680637aa5361b6d1e8ae35 b | 吹著魔笛的浮士德
圖9. 八神背上高聳的淡藍色碰撞判定[7]

為什麼97裡對戰時要禁用八稚女對空呢?為什麼一個貼著地板滑行的動作可以打到空中跳過來的對手呢?因為當對手跳過來時,會被八神高高的碰撞判定(淡藍色區域)給擋下來,然後落到他頭上的攻擊判定框上。所以為了修訂這招的BUG,98裡做了如下調整:0298f16470c3952df69629f6f1dd74df b | 吹著魔笛的浮士德
圖10. 經過修訂後的淡藍色碰撞判定[7]

當背上無形的「駝峰」被降低後,八神從此可以順滑的從對面下方穿過。

5、飛行道具判定
飛行道具就是指遊戲裡的各種波動。當一個波發出去後,它自身就具有了攻擊判定,這個就是飛行道具判定:

7f8596f7ea10d0a0cd245d7025ea382f b | 吹著魔笛的浮士德
圖11. Remy的手刀和Urien的鏡子[2]

從上圖中我們可以看出,每個飛行道具都有一個粉色的框框,這個就是飛行道具的判定框。判定框本身的大小並不一定要符合視覺上的大小。比如Remy扔出的手刀,判定大小並不是一個扁平的長方形。Urien的鏡子也不像畫中那樣形成一個斜面,而是一個豎長條的判定。
註:圖11中各種白色的十字代表了各個物品以及人物的中心。

方塊的戰爭

形形色色的格鬥遊戲中存在著各種判定框,本文只總結了格鬥遊戲中最常見的判定框。通過圖解,我們瞭解了2D格鬥遊戲最基礎的構成。就像文章開頭所說的,在精美的像素畫背後,其實是各種「方塊的戰爭」。

24590a3338ee1b31bc6476d273356145 b | 吹著魔笛的浮士德
直到今天,格鬥遊戲依舊沿用傳統而有效的判定框

有些朋友可能會問,為什麼非要把人物框到一個方塊裡,我們又不是在玩Minecraft 格鬥。為什麼不能有圓形,三角形甚至五角星形的判定框呢? 答案其實是可以的,但是開發者需要針對每種形狀做不同的碰撞處理計算。如果所有的框框都是長方形或者正方形,那麼碰撞計算就會容易很多。所以為了降低開發的複雜程度(也為了保證遊戲運行的幀率), 各種外形特異的人物和道具就都被框了起來。

今天Mashers的授課暫且先到這裡,如果關於格鬥遊戲您還有什麼感興趣的點,也歡迎經常來留言或者投稿,我們非常歡迎各種朋友的分享,另外大夥兒有空也可以去他的個人主站一逛,回頭見。

 

 點一下追蹤 IG 與吹著魔笛的浮士德粉絲團 🙏

追蹤 Instagram👍https://lihi3.cc/vlzV5

↓追蹤 Facebook 專頁↓