淺談格鬥遊戲的精髓——方塊的戰爭

爲什麼這招兒能打中你,爲什麼逆向能有判定,爲什麼我都跳了還能吃你的必殺,種種奧妙其實都能用一個“框”字來解釋。

“框”的奧秘

2D格鬥遊戲對於廣大玩家來說應該都不陌生。從開創系列的鼻祖街霸到紅遍國內大江南北拳皇,都滿載着格鬥迷們熱血和回憶。任何一名硬核格鬥玩家對於每屆的鬥劇和EVO的執着,不亞於球迷們對於世界盃的追捧。

得益於近些年《街霸4》的宣傳與官方活動,北美的EVO也成爲了每年一度的格鬥盛會

作爲一名沉迷於2D格鬥遊戲的玩家,我對於遊戲背後運作原理有着濃厚的興趣。所以希望藉着這此機會,爲大家淺析一下格鬥遊戲的運作原理。

2D格鬥遊戲其實就是一堆方塊的碰撞。這聽起來可能會讓你想起俄羅斯方塊,但是爲了讓大家有個直觀的感受,我們用下圖來做解釋:

圖1. 隆和Rose的判定框[1]

在這幅圖中,除了左邊在發升龍的Ryu,和右邊在出對空指令投的Rose外,我們還能看到一些疊在一起的帶顏色框框。這些方框就是判定框。它們纔是格鬥遊戲裡真正的“主角”。

重新認識“判定”

格鬥遊戲裡常見的判定框分爲以下幾類:攻擊判定、受創判定、投技判定、碰撞判定、飛行道具判定,下面我們來分別介紹。

1、攻擊判定

作爲格鬥遊戲裡最爲重要的判定框,攻擊判定直接決定了你的拳腳是否打到了對方

圖2. 紅色區域爲攻擊判定框[2]

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

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

圖3. 如月影二(左)超大的判定框[3]

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

2、受創判定

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

圖4. Hugo站中收招時所出現的深藍色以及淺藍色受創判定[4]

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

胖胖的角色受創判定會比較大,所以他們成爲了連段視頻中最受歡迎的沙袋

3、投技判定

投技判定的原理和攻擊判定一樣,但是如何判斷投技是否命中會因遊戲而異。我們這裡用《街霸33》來舉例

圖5. Hugo SA1超殺發動瞬間的橙色綠色判定框[5]

上圖中,Hugo近身超殺的瞬間會出現投技判定(橙色判定框)。如果橙色框與對面的綠色被投判定框重疊,則超殺成立。下圖是豪鬼瞬獄殺的判定(是的,瞬獄殺是個投技):

圖6. 豪鬼瞬獄殺那“短小”的投技判定[6]

我們可以看到街霸33中的地面投技判定都集中在腳部。這是爲了防止站在地面的角色把跳在空中的對手給抓下來。當然,某些爲了對空所設計的投技除外:

圖7. Hugo對空超殺的判定[8]

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

4、碰撞判定

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

圖8. 豪鬼與春麗撞到一起

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

圖9. 八神背上高聳淡藍色碰撞判定[7]

爲什麼97裡對戰時要禁用八稚女對空呢?爲什麼一個貼着地板滑行的動作可以打到空中跳過來的對手呢?因爲當對手跳過來時,會被八神高高的碰撞判定(淡藍色區域)給擋下來,然後落到他頭上的攻擊判定框上。所以爲了修訂這招的BUG,98裡做了如下調整:

圖10. 經過修訂後的淡藍色碰撞判定[7]

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

5、飛行道具判定

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

圖11. Remy的手刀和Urien的鏡子[2]

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

注:圖11中各種白色的十字代表了各個物品以及人物的中心。

方塊的戰爭

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

直到今天,格鬥遊戲依舊沿用傳統而有效的判定框

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

來源:機核網 /xizongbu