每周转载:格斗与代码的极致——Mugen简史

 

目录

前言

关公战秦琼

量级划分

从军备竞赛到降维打击

幕后的战斗,终结

尾声

 

 

 

 

原文:20年来,有一群人用这个引擎探索格斗的极限》

 

前言

 

永远追求更强。

 

       一款游戏引擎的寿命是多久?

       很复杂。如果只是这个引擎本身,寿命短则2年,长则5年,不会太久,就会被代码技术的进步淹没。

       但如果把引擎的名字一代代继承下去,不断更新代码,那理论上这个引擎就能活很久,我们熟知的大部分引擎都是这么干的:虚幻4Unity 2019RPG Maker MV⋯⋯

 

       Mugen是一款格斗游戏引擎,它诞生于1999年前后,基于Dos系统。

       在将引擎适配到当时已经成为主流的Windows系统上以前,Mugen的开发者就停止了对引擎的更新。

       2003年,支持Windows系统的winmugen被内测用户泄露出来,但是由于开发者停止更新,这个引擎没有办法再做大的调整,只能打一些小补丁——降低崩溃率,增加语言文件,支持更高分辨率。

       Mugen的用户们真的把winmugen用到了2020年。今天,在哔哩哔哩等视频站上的很多最新Mugen视频,仍然用的是winmugen这个舞台。

 

 

 

关公战秦琼

 

       Mugen最初的动机非常简单,可以称得上是相当朴素:格斗玩家想要满足自己关公战秦琼的欲望。

       这可能是人类最底层的强者崇拜观念。从张无忌能不能打过扫地僧,到泰森能不能打过老虎,再到《魔兽世界》里的法师能不能打得过哈利波特里的法师,大家总是想把完全不相干的两个东西拿到一起比一比,看看谁更强。Fate系列最初就是这么火起来的,谁不爱看亚瑟王大战拿破仑啊。

 

       Mugen就能让玩家很容易地做到这一点。

       Mugen作为一款引擎而言,非常简洁,也非常开放。格斗场景中的一切都可以修改,开场动画、选人界面、场地背景、血条样式,当然还有格斗对战中最重要的角色人物。玩家可以自己导入贴图,制作角色,不仅是角色的模样,连他的连招、动画效果乃至招数的伤害数值都可以随意编写。

 

 

       编写完的角色可以被打包成人物文件,在任意一台电脑上的Mugen里加载出来,用于对战。

       想知道泰森和东北虎哪个强,双方支持者各做一个角色出来,约一个时间在Mugen里打一架不就知道了——这倒是很符合人们对于跨世界对战的朴素判定法则:讨论两本书里人物的强度高低,直接让两本书的作者出来打一架。

 

       不过,Mugen本身并没有什么联机功能,官方连开发工作都停了,自然也不会搞什么对战平台。在2000年前后,网络环境又不太发达,格斗游戏偏偏又是个对网络延迟有着非常极端要求的游戏类型,线上对战直到今天也还问题重重。

       这就导致了在Mugen发展的最早期,关公战秦琼的这个部分很难实现。做出喜爱的人物,还原他的各种招数,把人物包分享给大家Mugen引擎最主要的作用。这就有点类似于在现在各种各样能精准捏脸的游戏中,捏出一个知名角色,并把数据分享给其他人一样。

 

       直到有玩家想到:没法和人对战,我可以做AI对战啊

       AI人物对战,其实是个古老的设计。街机上的格斗游戏在没有第二名玩家时,大都可以和内置AI对战,玩家们一般管这叫打电脑

       Mugen当然也是可以自己编写AI的,虽然这个AI名不符实,不能学习、记忆(因为每局战斗都会重置数据),但有那么个意思就行了,好歹可以真的战起来了。

 

 

       Lmu041点评Mugen的模式就是:玩家开发角色,电脑自动对战。

       由于格斗游戏的角色通常会有不错的动作性和打击感,就算是电脑对战,观赏性也很高。即便只有两个角色反复削,每局的战斗也都不一样。

       另外,Mugen的角色数量已经难以穷尽,单单是选两个角色出来对战看谁会赢这件事,就可以提供消耗不完的内容所带来的大量新鲜感。

       (有个词叫电子斗蛐蛐,用来形容Mugen很合适)

 

 

 

 

量级划分

 

       那时候的AI当然是打不过人的。不能学习的AI,打出的连招套路很容易就被人类玩家看穿。

       再者,程序设计得再完美,机械的判断也总有漏洞,这就会被人类玩家屈死(指玩家利用AI的判断漏洞不光明正大地干掉AI)。

       在去年的《只狼》中,我们已经见过很多招数强大却被玩家用阴招屈死(注:气死/Cheese)的Boss了。

 

 

       于是有些非要自己做的角色无人能敌、强大无比的Mugen作者,就动起了别的主意:既然角色的连招和伤害数值我都能自己改,那我干脆做个完全不平衡的角色出来,你打我一拳只掉一滴血,我打你一拳连击带顺劈直接秒杀你,那人类再强不也打不过了。

       这种不平衡的角色当然被很多人抵制,但是也没什么用。这种作弊就像恶魔的灵药,一旦喝下整个圈子就回不去了,更何况改数据本来也算不上作弊,Mugen引擎本身完全允许这种做法。

 

 

       如果事情就这样下去,Mugen可能就像很多小众圈子一样,持有不同观念的玩家逐渐分裂、争吵,圈子的氛围被破坏,最后所有人逐渐离开Mugen

       但是有一群经常在网上交流Mugen创作经验的权威玩家,偏偏想出了一个完美的解决办法。

 

       他们的解决办法其实非常直觉:格斗游戏,本质上不就是对于现实中拳击比赛的模拟吗,那么既然拳击比赛都要按照选手的体重分重量级,那么Mugen为什么不能也给角色们也划分出一个重量级来呢?相同重量级的角色对战才有效力,不然就像90公斤的拳王打败了75公斤的拳王一样,不算数。

       问题解决了,他们当然没有想到,这个决定从此掀起了Mugen神魔混战的序幕。

 

 

       Lmu041点评:堵不如疏!比如角色制作者把伤害加得很高很无敌,难道还要立一条规矩,单次伤害不得高于某一数值?这不仅不现实,还会损害Mugen的【健壮性】。

       只有开放,接受冲击和考验的事物才会具有强大的【健壮性】,甚至是【反脆弱性】

       Mugen并不是通过禁止,而是通过划分量级的方式经受住了角色强度爆炸的考验,这也是健壮性的体现。

 

 

 

 

       最初,玩家们把Mugen人物分为5个等级:纸、并、强、凶、狂,一目了然,非常好理解(并是日语里普通的意思)。

 

 

       纸角色就像名字所述一样,和纸片一样不堪一击。

       要么血量很低,要么防御很低,他们还大都没什么有效的伤害手段,有的甚至压根连攻击手段都没有,还有的开打后不用对手碰,自己就死了。

       这类角色大多是作者为了玩梗制作出来的,用来嘲讽某些非常弱小的游戏/动漫角色。

       比如鲤鱼王。鲤鱼王是精灵宝可梦中公认最弱最可怜的宝可梦(宝可梦图鉴语),一开始只有水溅跃这种什么都不会发生的招式。在Mugen里,鲤鱼王则只有1点血,除了能前进后退外,什么也做不了,悲惨至极。

 

 

       并,就是普通的角色。

       基本上就是一般格斗游戏中的角色平均水平,连招难度一般,伤害一般,血量和防御一般,总之就是都很普通的角色。这种角色很少,因为人类是个众所周知讨厌平庸的种族。

 

 

       强,其实也差不多。大概是格斗游戏中比较厉害角色的水准,比如拳皇中的机炮拳拉尔夫和K'

 

 

       到了凶阶,就都是一些正常格斗游戏绝不会提供给玩家的角色了。

       要么是攻防都很高,要么就是有无敌技能或者超高伤害的必杀技。代表人物是《拳皇2001》的最终Boss伊格尼兹,有近十个必杀技。

 

 

       而当时被判定为狂阶的角色,简单来说就是基本无法击败

       不需要任何条件的全屏闪电,快速的回血回气,都还是狂阶比较基础的手段,一击必杀、低血量时无敌并快速回血,在狂阶角色身上都不少见。很多时候,两个狂阶打来打去,屏幕乱闪,却谁也不掉血。

 

开场就释放全屏伤害技能的狂角色

 

 

       一个角色的等级判定,是有严格标准的。

       Mugen玩家们选出最能代表每个阶级顶端和底端的两个标准角色,一个新的角色出现,就让它从纸阶最强者开始对战,如果击败了纸阶最强的,就打并阶最弱的,依次对战下去,直到不敌为止。

       日本的Mugen玩家还有个审核员制度,每年审核这些标准角色能不能很好地反应各阶的区别。

 

       这个制度一出现,玩家们就不怎么再抱怨强度失衡没意思了。

       想把角色在一个阶别内调整到最强,也是一门手艺。稍有不慎,就可能击败下一阶的守门人,脱离这个级别。

       有玩家自豪地在Mugen论坛里评价强度制度,说这个制度中有平衡的精髓

 

 

       Lmu041点评:这五个量级之间,【表面上看】是(线性的)强度递增关系。

       而【本质上】,这五个量级分别代表了截然不同的(离散的)游戏态度乐趣追求

       比如:纸阶角色追求的是娱乐与喜剧效果;强阶角色追求的是与正常格斗游戏相仿的对战;狂阶角色追求的是思路和技术手段上的突破。

       一旦角色过强不慎冲入下一量级,就会和道不同不相为谋的角色对战,破坏原本的游戏态度乐趣追求

       出现这种情况,创作者自然就会把角色的强度下修,使其保持在当前量级。

       这形成了一种【负反馈】。

       要比其他人更强,但又不能太强。这种诗意的设计艺术就此产生了 :)

 

 

 

 

从军备竞赛到降维打击

 

       他可能没有想到,格斗玩家永远是追求更强、最强的玩家。

       很快,Mugen玩家们就开始研究,如何击败其他的狂角色,让自己的角色变成最强Mugen角色。改数值这条军备竞赛的道路明显是走不通了:当双方的攻防都是无限大时,数值又有什么意义呢。

       Mugen最复杂、也最迷人的一面终于被掀开了,玩家们之间的代码战开始了。

       在这种战斗面前,之前所有靠修改数值登上狂阶的角色,都像是火炮、机枪面前的竹刀木剑一样,不堪一击。

 

 

       最基础的代码战是即死。

       既然对方的防御是无限大,那么就不用攻击,而是用判定直接将对手杀死。这是很直接的逻辑推理。

       单是即死这一条,就衍生出了若干层的复杂攻防战。

 

       即死在程序上总要有个触发条件,比如说对方血量满,那么开场即死就可以直接击败对手。但是如果对手知道了这点,直接把自己的血量调成开场不满呢。

       这只是个最简单的例子,实际上大部分即死都采用了多个判定条件:对方血量满或不满对方站在我的左边或者右边,力求覆盖所有可能性(全集)。

 

       但是防御方也不是没有办法可言。

       一个普遍的做法就是把自己的角色判定隐藏起来,让对方的逻辑条件找不到目标。我们之前介绍了《灵魂能力》里把自己用彩虹方块包起来的角色,而Mugen里防御即死的角色也是同理,他们在代码层面给自己套了一层彩虹方块。

 

用彩虹方块让对手摸不到自己的角色

 

       除此之外,还可以直接让游戏的时间停止。既然时间不继续走,对手当然就不能进行任何判定了。

 

 

       即死逐渐在Mugen里发展出了一套专门的即死技术,专门研究各种即死的实现方法和防御方法。

       用这些方法武装起来的角色被称为神阶(注:第六个量级),神们对战起来其实毫无观赏性可言,因为真正的战斗已经不再发生在可以看见的屏幕上,而是在程序内部。

       虽然大部分作者都会给自己的角色加上大量特效,但是这些特效根本也没什么意义,被Mugen玩家们戏称为灯光师

       不过也有很有创意的灯光师角色。有人做了一个叫现实的角色,这个角色除了武装了很多即死技术外,还会给对手施加精神攻击:一开场,它就会把模型变成对方的样子,然后不停在屏幕上放出大量辱骂对方的话语,失败者高龄童贞星期一(指又要上班了)、天天写简历⋯⋯

 

 

 

 

幕后的战斗,终结

 

       神阶并不是Mugen作者们研究的尽头。有些作者发现,光靠Mugen内提供的代码已经不能满足他们了,他们开始研究Mugen程序本身的漏洞。

       这几乎是降维打击,大部分即死都没法抵抗这种盘外招。

 

       比如阻止代码和替换代码,这种人物包干脆直接向对方的角色下手。当对战者电脑加载了人物包,这个人物包就会修改Mugen的程序,让别人对战自己时无法读取代码,也就是直接不让对手上场,或者把对手替换成一个鲤鱼王,那当然是天下无敌。

 

 

       还有些更匪夷所思的盘外招,比如修改获胜画面。有些人物本身毫无战斗力,一上去就被对手击败,但是它会直接修改获胜画面,即使自己输了,也让游戏显示“You win”

       修改代码的巅峰是一个名字为魔女之混元至尊的人物。这个人物的根基建立在Windows XP系统的某个内存泄露漏洞上,因此即使是其他修改Mugen程序的人物,也无法击败直接从系统下手的魔女。

 

魔女会让Mugen只能播放自己的画面

 

 

       这种修改代码走火入魔之后,就变成了真的电脑病毒。有些玩家在加载了人物包后上论坛反映说,自己用了这个人物包后游戏一打开就是这个人物的动画,就连重新安装游戏也没办法解决。大家推测是这个人物修改了系统的注册表,最后他只能重装了系统。

 

 

       Lmu041点评:最强的神阶并没有强度上限。无限制的求胜最终演变为了软件攻防战,出现类似于病毒的程序几乎是必然。

       反过来讲,信息安全本质就是攻击者防守者之间的求胜游戏。

       对于这种手段,Mugen社区发出了禁止的号召。这与前面提到的数值爆炸不同:病毒式的角色,损害了玩家的基本权益。

       因为其可能对玩家造成的伤害足够大,所以玩家们都有意愿去响应号召。

 

 

 

 

       Mugen玩家们开始反思这种愈演愈烈的代码战是不是过了火。

       几年前,几位研究代码战的资深玩家号召将超出一定限度的人物包收回,不要让它们伤害到Mugen——有些玩家根本不懂这些代码人物包怎么用,就为了炫耀和争强好胜,就把它们下载下来和别人对战,最后双方都闹得不愉快,这污染了Mugen的环境。

 

       Mugen版的核武器不扩散条例效果不错。

       像混沌魔女、P蛟这种修改代码的超级人物现在已经基本没法在网络上搜到人物包或者代码了。很快,他们变成了神话故事里的传说人物,一些玩家会在过去神级人物对战的视频下评论:这个角色都这么强了,当年被评为最强角色的XXX真是令人神往啊

 

 

 

 

尾声

 

       很多人并不能理解研究Mugen人物的强度到底有什么意义可言。

 

       一位国内制作Mugen对战视频的作者曾经说过一个有些好笑的例子:他说他年轻时带一个朋友入坑Mugen,上来就给朋友看了好几场代码战,结果朋友看完后一个劲嘲笑他好强哦即死哦神哦:因为代码战斗双方就是站在那,屏幕闪了一会就结束了,胜负在后台已定。没研究过Mugen代码的人完全弄不懂这到底有什么意思。

 

 

       这个疑问不妨用Mugen诞生之初的故事来回答。

       Mugen的开发者叫Elecbyte。他开发出Mugen时,给这款格斗引擎写了一个内置角色,叫功夫男。

       功夫男还有一段挺无聊的背景故事,有天他和女朋友出去散步,结果被坏人抓走了女朋友,功夫男前往坏人的基地救女友,打败了一个自己的复制人后却发现,更强的敌人还没被开发者做出来,因此坏人方无法被击败,他的女朋友当然也就救不回来。

       剧情这么写道:不要哭,功夫男,也许下次你有机会⋯⋯

 

       这个故事没什么逻辑可言,可能是Elecbyte觉得剧情对于一个格斗引擎并不重要。但是这个剧情背后的某些东西却一直伴随着Mugen

       直到二十多年后,Mugen已经衍生出了他当年肯定无法想象的圈子和体系后,更强的敌人还没有被做出来这点仍然是Mugen最核心的主题。

       做出更强的人物击败对手,而不是追求可玩性、故事性,这就是Mugen作为一款游戏引擎和其他游戏引擎最大的区别。在每一个苦心孤诣试图做出更强角色的Mugen作者耳边,可能都回响着这样的声音:不要哭,开发者,也许总有一天你有机会⋯⋯

 

 

       Lmu041点评:还是那句话,要比其他人更强,但又不能太强。

       这种诗意的设计艺术,就是【钻研】Mugen的乐趣所在。

       其实作者最后一段举的例子略显平淡。容我篡改一下《死神Bleach》中涅茧利的发言,来给本文作结:

 

 

       『最强』⋯⋯吗?

 

       这个世界上根本就不存在最强这种东西。

       这个理论虽然老套,却是事实。

 

       也因为这样,凡人才会崇尚『最强』,进而去追求『最强』。

 

       不过⋯⋯『最强』有什么意义呢?

 

       什么都没有。

       一点儿意义⋯⋯都没有。

 

       我十分痛恨『最强』。

 

       一旦『最强』,便意味着终结。

       没有了『进步』的余地,就意味着锻炼与才能都派不上用场。

 

       你明白吗?

       对我们玩家而言,

       所谓『最强』⋯⋯便是『绝望』。

 

       要比目前存在的任何东西都出色,但是⋯⋯

       决不能最强。

 

       玩家就是不断苦恼于这样的矛盾,

       却又能从中发现乐趣的生物。

 

 

       换言之⋯⋯

 

       在你说出『最强』这样狂妄的话时,

       你便已经输给我了。

 

       当然⋯⋯

       前提是把你『当成玩家』。

 

 

 

 

本博客上,相关的原创博文:

《《反脆弱》精华汇总——颠覆世界观的三组概念》

 

评论