20年來,有一群用這個引擎探索“格鬥”的極限
永遠追求最強。
一款遊戲引擎的壽命是多久?
很複雜。如果只是這個引擎本身,壽命短則2年,長則5年,不會太久,就會被程式碼技術的進步淹沒。但如果把引擎的名字一代代繼承下去,不斷更新程式碼,那理論上這個引擎就能活很久,我們熟知的大部分引擎都是這麼幹的:虛幻4、Unity 2019、RPG Maker MV……
Mugen是一款格鬥遊戲引擎,它誕生於1999年前後,基於Dos系統。
在將引擎適配到當時已經成為主流的Windows系統上以前,Mugen的開發者就停止了對引擎的更新。
2003年,支援Windows系統的winmugen被內測使用者洩露出來,但是由於開發者停止更新,這個引擎沒有辦法再做大的調整,只能打一些小補丁——降低崩潰率,增加語言檔案,支援更高解析度。
Mugen的使用者們真的把winmugen用到了2020年。今天,在嗶哩嗶哩等視訊站上的很多最新Mugen視訊,仍然用的是winmugen這個舞臺。
1 關公戰秦瓊
Mugen最初的動機非常簡單,可以稱得上是相當樸素:格鬥玩家想要滿足自己關公戰秦瓊的慾望。
這可能是人類最底層的強者崇拜觀念。從張無忌能不能打過掃地僧,到泰森能不能打過老虎,再到《魔獸世界》裡的法師能不能打得過哈利波特里的法師,大家總是想把完全不相干的兩個東西拿到一起比一比,看看誰更強。Fate系列最初就是這麼火起來的,誰不愛看亞瑟王大戰拿破崙啊。
2012年的一個回答,那時候拿破崙還沒變成FGO裡的角色
Mugen就能讓玩家很容易地做到這一點。
Mugen作為一款引擎而言,非常簡潔,也非常開放。格鬥場景中的一切都可以修改,開場動畫、選人介面、場地背景、血條樣式,當然還有格鬥對戰中最重要的角色人物。玩家可以自己匯入貼圖,製作角色,不僅是角色的模樣,連他的連招、動畫效果乃至招數的傷害數值都可以隨意編寫。
Mugen中兩位拳皇人氣角色八神的對決
編寫完的角色可以被打包成人物檔案,在任意一臺電腦上的Mugen里載入出來,用於對戰。想知道泰森和東北虎哪個強,雙方支持者各做一個角色出來,約一個時間在Mugen裡打一架不就知道了——這倒是很符合人們對於跨世界對戰的樸素判定法則:討論兩本書里人物的強度高低,直接讓兩本書的作者出來打一架。
不過,Mugen本身並沒有什麼聯機功能,官方連開發工作都停了,自然也不會搞什麼對戰平臺。在2000年前後,網路環境又不太發達,格鬥遊戲偏偏又是個對網路延遲有著非常極端要求的遊戲型別,線上對戰直到今天也還問題重重。
這就導致了在Mugen發展的最早期,關公戰秦瓊的“戰”這個部分很難實現。“做出喜愛的人物,還原他的各種招數,把人物包分享給大家”是Mugen引擎最主要的作用。這就有點類似於在現在各種各樣能精準捏臉的遊戲中,捏出一個知名角色,並把資料分享給其他人一樣。
玩家用《噬血程式碼》捏出的傑洛特
直到有玩家想到:“沒法和人對戰,我可以做AI對戰啊”。
和AI人物對戰,其實是個古老的設計。街機上的格鬥遊戲在沒有第二名玩家時,大都可以和內建AI對戰,玩家們一般管這叫“打電腦”。
Mugen當然也是可以自己編寫AI的,雖然這個AI名不符實,不能學習、記憶(因為每局戰鬥都會重置資料),但有那麼個意思就行了,好歹可以真的戰起來了。
那時候的AI當然是打不過人的。不能學習的AI,打出的連招套路很容易就被人類玩家看穿,再者,程式設計得再完美,機械的判斷也總有漏洞,這就會被人類玩家“屈死”(指玩家利用AI的判斷漏洞“不光明正大”地幹掉AI),在去年的《只狼》中,我們已經見過很多招數強大卻被玩家用陰招屈死的Boss了。
葦名七本槍可以被玩家用卡懸崖的方式屈死
於是有些非要自己做的角色無人能敵、強大無比的Mugen作者,就動起了別的主意:既然角色的連招和傷害數值我都能自己改,那我乾脆做個完全不平衡的角色出來,你打我一拳只掉一滴血,我打你一拳連擊帶順劈直接秒殺你,那人類再強不也打不過了。
這種不平衡的角色當然被很多人抵制,但是也沒什麼用。這種“作弊”就像惡魔的靈藥,一旦喝下整個圈子就回不去了,更何況改資料本來也算不上作弊,Mugen引擎本身完全允許這種做法。
如果事情就這樣下去,Mugen可能就像很多小眾圈子一樣,持有不同觀念的玩家逐漸分裂、爭吵,圈子的氛圍被破壞,最後所有人逐漸離開Mugen。但是有一群經常在網上交流Mugen創作經驗的權威玩家,偏偏想出了一個完美的解決辦法。
他們的解決辦法其實非常直覺:格鬥遊戲,本質上不就是對於現實中拳擊比賽的模擬嗎,那麼既然拳擊比賽都要按照選手的體重分重量級,那麼Mugen為什麼不能也給角色們也劃分出一個重量級來呢?相同重量級的角色對戰才有效力,不然就像90公斤的拳王打敗了75公斤的拳王一樣,不算數。
問題解決了,他們當然沒有想到,這個決定從此掀起了Mugen神魔混戰的序幕。
2 從軍備競賽到降維打擊
最初,玩家們把Mugen人物分為5個等級:紙、並、強、凶、狂,一目瞭然,非常好理解(並是日語裡普通的意思)。
紙角色就像名字所述一樣,和紙片一樣不堪一擊。要麼血量很低,要麼防禦很低,他們還大都沒什麼有效的傷害手段,有的甚至壓根連攻擊手段都沒有,還有的開打後不用對手碰,自己就死了。
這類角色大多是作者為了玩梗製作出來的,用來嘲諷某些非常弱小的遊戲/動漫角色。比如,鯉魚王。鯉魚王是精靈寶可夢中公認“最弱最可憐的寶可夢”(寶可夢圖鑑語),一開始只有水濺躍這種“什麼都不會發生的招式”。在Mugen裡,鯉魚王則只有1點血,除了能前進後退外,什麼也做不了,悲慘至極。
鯉魚王使用了水濺躍!然而什麼都沒有發生
並,就是普通的角色。基本上就是一般格鬥遊戲中的角色平均水平,連招難度一般,傷害一般,血量和防禦一般,總之就是都很普通的角色。這種角色很少,因為人類是個眾所周知討厭平庸的種族。
強,其實也差不多。大概是格鬥遊戲中比較厲害角色的水準,比如拳皇中的機炮拳拉爾夫和K。
拉爾夫部分強在他的基礎連招比較簡單
到了凶等階,就都是一些正常格鬥遊戲絕不會提供給玩家的角色了。要麼是攻防都很高,要麼就是有無敵技能或者超高傷害的必殺技。代表人物是《拳皇2001》的最終Boss伊格尼茲,有近十個必殺技。
而當時被判定為狂階的角色,簡單來說就是“基本無法擊敗”。不需要任何條件的全屏閃電,快速的回血回氣,都還是狂階比較基礎的手段,一擊必殺、低血量時無敵並快速回血,在狂階角色身上都不少見。很多時候,兩個狂階打來打去,螢幕亂閃,卻誰也不掉血。
開場就釋放全屏傷害技能的狂角色
一個角色的等級判定,是有嚴格標準的。Mugen玩家們選出最能代表每個階級頂端和低端的兩個“標準角色”,一個新的角色出現,就讓它從紙階最強者開始對戰,如果擊敗了紙階最強的,就打併階最弱的,依次對戰下去,直到不敵為止。日本的Mugen玩家還有個稽核員制度,每年稽核這些標準角色能不能很好地反應各階的區別。
這個制度一出現,玩家們就不怎麼再抱怨“強度失衡沒意思”了。想把角色在一個階別內調整到最強,也是一門手藝,稍有不慎,就可能擊敗下一階的守門人,脫離這個級別。有玩家自豪地在Mugen論壇裡評價強度制度,說這個制度中有“平衡的精髓”。
他可能沒有想到,格鬥玩家永遠是追求更強、最強的玩家。很快,Mugen玩家們就開始研究,如何擊敗其他的狂角色,讓自己的角色變成“最強Mugen角色”。改數值這條軍備競賽的道路明顯是走不通了:當雙方的攻防都是無限大時,數值又有什麼意義呢。
Mugen最複雜、也最迷人的一面終於被掀開了,玩家們之間的程式碼戰開始了。在這種戰鬥面前,之前所有靠修改數值登上狂階的角色,都像是火炮、機槍面前的竹刀木劍一樣,不堪一擊。
3 幕後的戰鬥
最基礎的程式碼戰是即死。既然對方的防禦是無限大,那麼就不用攻擊,而是用判定直接將對手殺死。這是很直接的邏輯推理。
就是即死這一條,就衍生出了若干層的複雜攻防戰。
即死在程式上總要有個觸發條件,比如說“對方血量滿”,那麼開場即死就可以直接擊敗對手。但是如果對手知道了這點,直接把自己的血量調成開場不滿呢。這只是個最簡單的例子,實際上大部分即死都採用了多個判定條件:“對方血量滿或不滿”、“對方站在我的左邊或者右邊”,力求覆蓋所有可能性。
但是防禦方也不是沒有辦法可言。一個普遍的做法就是把自己的角色判定隱藏起來,讓對方的邏輯條件找不到目標。我們之前介紹了《靈魂能力》裡把自己用彩虹方塊包起來的角色,而Mugen裡防禦即死的角色也是同理,他們在程式碼層面給自己套了一層彩虹方塊。
用彩虹方塊讓對手摸不到自己的角色
除此之外,還可以直接讓遊戲的時間停止。既然時間不繼續走,對手當然就不能進行任何判定了。
即死逐漸在Mugen裡發展出了一套專門的“即死技術”,專門研究各種即死的實現方法和防禦方法。用這些方法武裝起來的角色被稱為神階,神們對戰起來其實根本毫無觀賞性可言,因為真正的戰鬥已經不再發生在可以看見的螢幕上,而是在程式內部。雖然大部分作者都會給自己的角色加上大量特效,但是這些特效根本也沒什麼意義,被Mugen玩家們戲稱為“燈光師”。
不過也有很有創意的“燈光師”角色。有人做了一個叫“現實”的角色,這個角色除了武裝了很多即死技術外,還會給對手施加精神攻擊:一開場,它就會把模型變成對方的樣子,然後不停在螢幕上放出大量辱罵對方的話語,“失敗者”、“高齡童貞”、“星期一”(指又要上班了)、“天天寫簡歷”……
還有很多精神攻擊的話,就不一一翻譯了
神階並不是Mugen作者們研究的盡頭。有些作者發現,光靠Mugen內提供的程式碼已經不能滿足他們了,他們開始研究Mugen程式本身的漏洞。
這幾乎是降維打擊,大部分即死都沒法抵抗這種盤外招。比如阻止程式碼和替換程式碼,這種人物包乾脆直接向對方的角色下手。當對戰者電腦載入了人物包,這個人物包就會修改Mugen的程式,讓別人對戰自己時無法讀取程式碼,也就是直接不讓對手上場,或者把對手替換成一個鯉魚王,那當然是天下無敵。
使用阻止程式碼技術的人物P蛟
還有些更匪夷所思的盤外招,比如修改獲勝畫面。有些人物本身毫無戰鬥力,一上去就被對手擊敗,但是它會直接修改獲勝畫面,即使自己輸了,也讓遊戲顯示“You win”。
修改程式碼的巔峰是一個名字為“魔女之混元至尊”的人物。這個人物的根基建立在Windows XP系統的某個記憶體洩露漏洞上,因此即使是其他修改Mugen程式的人物,也無法擊敗直接從系統下手的魔女。
魔女會讓Mugen只能播放自己的畫面
這種修改程式碼走火入魔之後,就變成了真的電腦病毒。有些玩家在載入了人物包後上論壇反映說,自己用了這個人物包後遊戲一開啟就是這個人物的動畫,就連重新安裝遊戲也沒辦法解決。大家推測是這個人物修改了系統的登錄檔,最後他只能重灌了系統。
Mugen玩家們開始反思這種愈演愈烈的程式碼戰是不是過了火。幾年前,幾位研究程式碼戰的資深玩家號召將超出一定限度的人物包收回,不要讓它們傷害到Mugen圈——有些玩家根本不懂這些程式碼人物包怎麼用,就為了炫耀和爭強好勝,就把它們下載下來和別人對戰,最後雙方都鬧得不愉快,這汙染了Mugen的環境。
Mugen版的核武器不擴散條例效果不錯。像混沌魔女、P蛟這種修改程式碼的超級人物現在已經基本沒法在網路上搜到人物包或者程式碼了。很快,他們變成了神話故事裡的傳說人物,一些玩家會在過去神級人物對戰的視訊下評論:“這個角色都這麼強了,當年被評為最強角色的XXX真是令人神往啊”
混元魔女視訊下的評論
尾聲
很多人並不能理解研究Mugen人物的強度到底有什麼意義可言。
一位國內製作Mugen對戰視訊的作者曾經說過一個有些好笑的例子:他說他年輕時帶一個朋友入坑Mugen,上來就給朋友看了好幾場程式碼戰,結果朋友看完後一個勁嘲笑他“好強哦即死哦神哦”:因為程式碼戰鬥雙方就是站在那,螢幕閃了一會就結束了,勝負在後臺已定。沒研究過Mugen程式碼的人完全弄不懂這到底有什麼意思。
這個疑問不妨用Mugen誕生之初的故事來回答。
Mugen的開發者叫Elecbyte。他開發出Mugen時,只給這款格鬥引擎寫了一個內建角色,叫功夫男。功夫男還有一段挺無聊的背景故事,有天他和女朋友出去散步,結果被壞人抓走了女朋友,功夫男前往壞人的基地救女友,打敗了一個自己的複製人後卻發現,更強的敵人還沒被開發者做出來,因此壞人方無法被擊敗,他的女朋友當然也就救不回來。
劇情這麼寫道:“不要哭,功夫男,也許下次你有機會……”
這個故事沒什麼邏輯可言,可能是Elecbyte覺得劇情對於一個格鬥引擎並不重要。但是這個劇情背後的某些東西卻一直伴隨著Mugen。直到二十多年後,Mugen已經衍生出了他當年肯定無法想象的圈子和體系後,“更強的敵人還沒有被做出來”這點仍然是Mugen最核心的主題。
做出更強的人物擊敗對手,而不是追求可玩性、故事性,這就是Mugen作為一款遊戲引擎和其他遊戲引擎最大的區別。在每一個苦心孤詣試圖做出最強角色的Mugen作者耳邊,可能都回響著這樣的聲音:“不要哭,開發者,也許總有一天你有機會……”
作者:魚人蹦蹦
來源:遊戲研究社
原地址:https://mp.weixin.qq.com/s/3PIvejhY6r9ZX-jfbBJIBg
相關文章
- 太極限了,JDK的這個BUG都能被我踩到JDK
- 這個網站用 AI 來創造無限數量的「假臉」網站AI
- 帶有下取整的求和的極限
- 一個極限小問題
- 能源的極限
- 《高達EXVS極限爆發》戰鬥設計、機制分析
- 48小時腦洞不間斷!這個探索AI創新的極客大賽有何不同?AI
- 極限
- 原來我也可以這麼優秀(一)一個簡單的極限測試(還在修訂中)
- 哪位大師能用匿名遞迴下這個無限極分類?遞迴
- 通道的極限容量
- 分享一個無限極分類的函式函式
- 極限limitMIT
- 極限森林
- 分享一個用 ORM 寫無限極分類的帖子, 大佬請跳過.ORM
- 久違的格鬥領域探索者 如何看待《一人之下》手遊試圖詮釋的“國術格鬥”?
- 探索Gameplay的無限可能GAM
- 從零開始:用REACT寫一個格鬥遊戲(二)React遊戲
- 從零開始:用REACT寫一個格鬥遊戲(一)React遊戲
- Explore the Sky丨來 TiDB Hackathon 2021 探索無限可能TiDB
- 極限國度steam叫什麼 極限國度在哪個平臺配置要求怎樣
- 《鬼鬥》Steam: “純粹”的格鬥遊戲遊戲
- 分層資料 Hierarchical Data 探索 (1.遞迴) 無限極分類遞迴
- 從《任天堂明星大亂鬥》來看:什麼是格鬥遊戲中的立回?遊戲
- 從《任天堂明星大亂鬥》來看:什麼是格鬥遊戲中的真連?遊戲
- 模仿KOA,用php來寫一個極簡的開發框架PHP框架
- 怎樣解題|題9.3.40:帶有下取整的求和的極限
- 自己實現鬥地主引擎
- Path 突破Canvas極限Canvas
- 極限與連續
- 極限程式設計程式設計
- 耐火極限測試
- 無限極分類
- 一群年輕的工程師打造的語音識別引擎工程師
- 且看這個Node全棧框架,實現了個Cli終端引擎,可無限擴充命令集全棧框架
- 《極樂迪斯科》:一款沒有戰鬥的RPG也足夠精彩
- FTG不是格鬥手遊的出路,那大亂鬥呢?
- 有這麼一群人,他們通過AI撬動世界!AI