首先说一下,为什么对mugen感兴趣。
因为mugen里面的评级貌似很合理的样子,而且mugen也是大乱斗的无限战场,想着能不能做为无限流设定的参考,抱着这种心态,我不敢说深入,但也算是比较全面的了解了一下mugen的分级制度。
结果......这么说呢?有些收获,但也有些失望吧......具体请看我下面的吐槽——
......
mugen是一款可以自由添加人物的格斗游戏......或者更准确说是游戏引擎?
因为里面的人物都是按照个人作者的想法制作,所以人物角色与人物角色之间,性能差距大的让人发指。凭心而论,作为一款格斗游戏而言,角色强弱的平衡性是一塌糊涂。
而这时候,就需要玩家自己进行大概的分级。
现在流行的分级是这样:弱、普通、强、凶、狂、神、论外。
每个人物角色处于什么等级,玩家要心里有数,把不同等级的人物角色分开,省得出现一招秒的囧境。
这种分级实际上比大多数小说的设定都要合理,因为mugen中引入到一个很有趣的设定——门番。
所谓的门番是指那些经长期对战,公认的比较符合某一阶位实力的角色。mugen里把测试的角色与门番在电脑的操控下对战,依成绩来确定角色的等级,胜率五成左右就达标。
这种经过实战的分级,从合理性讲,比大多数网文的设定都合格。
说到这里,必须说一个问题,有的人喜欢用一个凶恶向的人物去蔑视一个普通向的人物,并不屑的认为后者垃圾,这显然是没搞清楚一件事情——人物角色的强度不同,只是反应了这个人物作者的制作理念,一个以口味清淡的普通到强等级之间的理念制作出来的角色,不是不能做的更强,而是作者认为这种强度更适合游戏也更适合观赏性。
那么去那拿凶恶向神级角色蔑视它不是很奇怪么?神级角色的理念是代码战,是完全脱离游戏本身的存在,而人家是要做一个很有观赏性的角色,这区别仅仅是作者的理念不同,没什么高下之分。
关于具体分级的强度如何,我不想复制百度百科,以我自己的观点来说一下。
弱,也可以说是纸,单纯就是卖萌的,脆的跟纸一样,一推就倒。老实说我还真没见过几个纸,这种角色人物搞笑卖萌,但现在的作者们似乎都瞄准凶狂或者神,纸已经没有什么人去做了。
普通,顾名思义就是普通。强度跟所有格斗游戏的普通角色一样,普普通通。这个等级的人物角色其实有些尴尬,因为这种强度太普通了,没有什么观赏性和娱乐性,大家大可以去玩别的游戏,何必关注mugen?
强,就是字面意思的强。怎么判断一个角色是否是强?很简单,能轻易击败普通角色,但本身又被凶角色轻易击败就是强。大概就跟普通游戏里面的难度较小的boss和好用的上位角色差不多。而mugen最吸引人的地方就是强、凶、和狂下——这个等一会放在一起说。
凶,人物角色的强度已经被作者们魔改到了很凶的地步,强度应该相当于普通格斗游戏里面,一般渣技术只能跪,即便是高手也需要费全力以赴才能攻克的高难度的boss的级别。
强于凶,本来是两个级别,但实际上随着时间的推移,分界已经开始模糊起来。
狂,这个等级原本还被细分为三个等级——狂下、狂中、狂上。
狂下:狂下就应该是格斗游戏的人物的顶点,能够轻易击败凶级人物,强度应该相当于普通游戏里面最高难度的终极boss。随便一个就拥有出招无敌,一套连击就能秒人,被人打到半空就非常不自重的脱离当身等等等等特性。
在这里说一下,为什么强、凶、和狂下最吸引人——很简单,因为高度的观赏性和趣味性。那种强凶人物各种技能的大乱斗,仿佛就是将大量boss集合起来跨越平台的战斗,他们有着凌驾在普通角色之上的强力技能,和种种奇奇怪怪的能力,仅仅回血就分为地回血比攻击吸血缓慢回血等等,还能能进行精彩的连招和鬼畜但有趣的连击,显然具有别的普通的游戏里面普通角色对战没有的乐趣。
但在往上,就强的过份了,强的只剩下鬼畜,却没有格斗游戏应该有的连招的观赏性。
狂中:虽然同样属于狂级,仅仅比狂下高了一阶。但实力却是压倒性的凌驾在狂下之上。如果说狂下虽然不自重,但还傲娇的留着一块遮羞布的话,那么狂中就是彻底的把这个遮羞布撕开。
无限气,随便个技能都是超高伤害,一击必杀更是不要钱随便放。而除此之外,更是有长时间的无敌技能,和全屏必杀。总之,已经开始超越格斗游戏的范畴了,非常鬼畜的角色。
狂上:狂中已经不自重到这种地步,但狂上却能在几秒内就秒掉狂中。硬要形容的话,就是玩单机游戏的时候,把角色开挂开到最大,这就是狂上。
准神:准神这个阶层本来不存在,不过时代的眼泪滴了下来的时候,就存在了。
准神,就是本来是神,不过随着时代前进,跟不上步伐,惨遭淘汰,被挤出了神的位置,只能成为准神。更惨的是传说中的准神五柱。
准神五柱,就是五个能成为神级门番的角色。因为据说能不能干掉他们是成为神的标准,与是他们每天都过着被新神们秒杀的悲惨日子......
当然,即便是准神,也是进入代码战斗的一员,即便被挤出了神的位阶,但实际上跟神也没什么大的差别,对于非神的角色就是秒杀,甚至能跟下位神一战。只不过因为即死攻击和即死攻击抗性强性不够罢了。
神:如果说狂上就已经是玩游戏的开挂到极限的存在,那么神就是彻底抛弃游戏本身正式就是开始进入代码战斗。各种凶残能力层出不穷:无受击框、血量锁定、死后复活、血归0不死、全屏即死......
血条完全就是个摆设,无敌是标准配置,全屏必杀跟喝水似的,只要一出场就能轻易秒掉没有即死攻击耐性的狂上和在短时间内ko即死抗性不够的准神。
在这里我要吐槽下,如果说从弱到狂上的分级,还算是条理分明,那么从神开始往上,等级划分就开始变的混乱起来。
神具体还分为神下,神中,和神上。区分它们的区别就是攻击代码和防御代码的强度的差别。但显然人不可能直接就看出代码的强弱,所以实际上神的分级是很模糊和主观的。
当然,可以通过大量的测试来试出神级角色的具体位阶,但这往往只是个人行为,无法进行广泛的传播与认可。所以说到底,还是很主观。
神最上:神最上,就是在数量多如狗的神里面,选拔出攻击力最高的神,通过大量的击破特定的神级角色的门番,来进行评分。分数最高的,就是神最上。
但实际的问题是......神最上,仅仅只是个评分罢了。而这个评分,还是根据个人的测试,没有统一的标准,也许在这个测试者的眼里,某个人物是神最上,而到了另一个测试者眼里,则称不上神最上,所以实际上神最上是一个很混乱很主观的东西。
且因为都是个人进行评测,所以影响力往往只是一个比较小的资深者的范围之内,无法进行有效的传播,所以影响力有限,很多人根本就不知道这回事。
而且还有的是更新问题,某个角色在更新之前也许只是神上,但在更新后也许有了神最上的水准,但这时候测试已经结束,那么这个人物有着实际上的神最上水准,但却在别人眼里只是个神上——类似的种种的问题还很多,比如时效问题,神最上的评测应该多久进行一次?答案是没有固定时间,全看个人。也许半年测一次,也许一年测一次,总之是十分随便。
而神最上的测试没有固定时间,这也代表着时效性很让人疑惑——这神最上的测试,也许刚刚测试完毕的时候,是比较准确的,但过了数月半年之后,旧的神级人物纷纷更新,新的神级人物以凶残的姿态登上舞台,那么神最上什么时候过时是不是都不知道?
且本质上来说,神最上说到底,也只是打特定的靶子评分,并不比别的神真正强多少,所谓的神最上,仅仅单单指的是攻击面,所以很可能和一个防御面很强,但攻击面相对较弱的神中甚至神下打到天荒地老,却无法击破——出现这种问题,也是因为神的具体分级,更多看的是攻击,而不是防御,所以会出现这种情况。
所以,神的世界,真的是一个贵圈很乱的世界。
其实从准神五柱开始,神的评级就开始偏颇起来。
网上有人总结了一下准神五柱的击破难度:
【死星nd】
方法:
混线+变数弄
原理:
混线——取得不攻击的helper
变数弄——干扰对手,若对手的变量锁血代码不完善则可即死
小结:
死星nd变量锁血代码不完善,相对难度低
【利维坦(神早苗)】
方法:
混线+变数弄
原理:
混线——取得不攻击的helper
变数弄——干扰对手,若对手的变量锁血代码不完善则可即死
小结:
神早苗变量锁血代码不完善,相对难度低
【神祸忌】
方法:
混线+othk+穷举即死返
原理:
混线——取得不攻击的helper
othk——通过helper将其本体置入某个状态(注意并非pstateno)
即死返——将敌人带入其自己的即死状态
小结:
非对策下神祸忌攻击面破绽较难突破,但其自身自带一个大额数字的特定状态号,
其自身进入则被击破(其实可以看做作者自己故意留下的大破绽)。
使用othk将其自身带入该状态号,即可即死。
但是该状态号数值巨大,使用遍历/随机方法则耗时不可预估,
且该状态从不用于任何攻击器中,无法观察记忆,因此还是只能遍历/随机。
难度中(非对策下:耗时长,不可预估)
【神大蛇】
方法:
混线+helper状态号伪造+othk
原理:
混线——取得不攻击的helper
othk——通过helper将其本体置入某个状态(注意并非pstateno)
helper状态号伪造——将捕获的helper放入同样的状态号中,以蒙骗不严密的selfstate
小结:
非对策下:状态号伪造需穷举,且自身需预先设置有大量状态号作为样本。
严格来说,helper状态号伪造可以破解混线抗性,但是非常不方便且成功率不高。
难度:高
【i八神】
方法:
非当身方式将其本体带入
带入类型u、不改life、保持movehit、无大伤害、无落下伤害、本体没有target的状态
带入超即死
原理:
...
小结:
i八神的常时selfstate编写较为完美,遇到可能为任何一种即死方式时就立即脱离,
且其本体有noko维持。
非对策下,即死方式需独立分开并逐一尝试。
难度:高
......................
从上面就可以看出,准神五柱本身难度就有高有低,一个角色面对难度较低就是神,面对难度较高的就不是神了?如果五个随便击破任意一个,就能成为神的话,那么难度高的,还有什么存在意义?直接就以难度低的为标准不就好了!
面对这种评级,除了混乱还能说什么?
神级本身就非常混乱,而神最上更是问题多多,我个人觉得其实应该取消掉神最上的评级,而且实际上11区那边早就没人测试神最上了,所以其实很长一段时间内,并没有真正意义上的神最上,只是以前测试出来的神最上继续叫下去罢了。
这其实挺好,这种混乱的东西,不去搞最好。把神最上这个阶层取消掉,那更是好上加好。不过貌似国内似乎有人重新开始测......真是让人蛋疼。
论外:与神级更多看都是攻击代码不同,论外更多看的是防御。只要是除了直死外,无论如何都无法击破就是论外。
所以论外最大的特点就是——绝对不会输。
所以很多论外其实并不比神强,战起来依旧是天荒地老。只是论外们绝对不可能输,但想赢似乎也不大可能。很多神本身就有论外的防御。而这些有着论外防御的神,因为攻击不给力,也许仅仅只是神上神中......
当然,攻击面同样也有论外,开了隔离技术的亲捏造,汇编%n,直死等就是攻击论外。而很多神,其实就带了这些隔离攻击......开了就是论外,关了就是神。
因此,论外和神的界限显得有些模糊的,尤其是当准论外的说法存在后,更让两者的区别更为模糊起来。
所谓准论外,就是在不用隔离技术和专门的对策的前提下,依旧从几率上讲有被击破的可能性,但实际上这个击破的可能性低到让人觉得根本不可能击破,但这个几率又非常蛋疼的确实存在......
..........................
最后说一下神们的战斗。
对于普通凡人来说,神的战斗就是一堆灯光师的战斗......即便是程序员们,显然也不可能从灯光效果中看出代码战的具体战况,看的也是最后的结果。
所以其实神战的过程是很无聊的。
但程序代码里面,神们究竟是如何战斗的?如何运行的?我稍微粗略解了一下,现在分享给大家——
打击(hitdef)
最朴实的进攻方法,击中以后可以造成damage也可以把对方拖入自己的状态中,如果能打中的话。会被当身。
飞行道具(proj)
和hitdef相比,proj的好处在于不会被当身,可以放心进攻。
当身(reversaldef)
定义了反弹以后,被对方击中的场合触发反弹,视为己方击中对方。
othk
利用当身命中对方helper之后,在pstateno里写proj,proj下写p1stateno,用proj归属bug控制对方本体进入有攻击框的状态,我方在这时再次当身,击中对方本体。用于捕获本体无法击中也不攻击,但helper可以被击中被当身的对手
永续target
野指针的运用,用reversaldef保持target,一次击中对方以后就能随时用targetstate将对方拖入我方状态里。
混线
永续target的运用。击中自己的helper,然后让那些helper自灭,等待对方召唤helper。如果对方召唤的helper被分配到我方自灭的helper原先所在的位置,则会成为我们的target。之后就能通过targetstate控制这些helper了。
难以被当身的hitdef
attr前段省略,混线时攻击自己的helper的时候可以放心打,不用过于担心被当身。
大伤害
damage写个大一点的数字吧,大到能一次弄死对方为止。targetlifeadd也是不错的选择。
邪眼杀手
也叫即死状态多重化,是为了对付耐性条件为stateno!=的敌人而开发出来的,不但可以用于混线夺取helper,也可以配合永续target进行超即死投,原理就是在我方的多个状态中加入changestate跳转到混线和超即死投状态号
伤害溢出
targetlifeadd超过的1次方的时候发生溢出。反向也可以溢出。
毒
大量小数值的targetlifeadd叠加杀害对手,回避对方的大伤害免疫。
即死投
在pstateno中写值为零的lifeset让对方血归0.
死之宣告
在roundstate>的时候运用targetstate和targetlifeadd杀害对手。
强制死之宣告
自杀进入roundstate,苏生,死之宣告发动杀死对手。
落下即死
定义fall并在fall.damage下写大数值杀害对手。配合pstateno直接送到落下状态可以增加成功率。
防御贯通炮
控制对方的helper后,再用proj归属bug让对方本体进入某个可以触发落下即死的状态,从而贯穿对方刚体。
即死返
控制对方helper后,用proj归属bug控制对方进入它自己为敌人准备的即死状态里。
tagin
控制对方player型helper或者本体之后放tagin,让对方的本体和player型helper进行状态跳转,解除某些状态锁定。
变数操作
取得对方本体后varset,取得对方helper后parentvarset等手段修改对方的变量,对于使用变量锁血的对手来说可以立死。
helper伪装
击中对方以后控制对方建立helper,这个helper的id和对方已有的helperid相同。这样对方如果用helper(1),var(0)为条件的话,读到的将是我们为它新建立的helper(1)的var(0).如果我们击中了对方原来的helper(1),可以顺手让其destroyself,用我们为它创建的helper(1)代替。
超即死·超即死改·超即死投·冻结当身·冻结超即死当身
把本体弄进我方状态后用状态控制器溢出bug写超过55个状态覆盖对方alive杀害对手。在当身中使用,利用对方招式本身的hitpause的就是超即死,控制对方攻击并写一个大数值的hitpausetime然后超即死就是超即死投。对方alive超过1时,一次超即死无法杀死,于是在超即死的最后写上指向超即死状态本身的状态跳转,反复循环直到对方alive为0,就是超即死改。hitpause似乎也有顺便用来封锁对方行动的用法之类的,大概吧。
helpernormal化,helperid变更,色表变更
同样是状态控制器溢出,将对方的helper变成normal型防止脱离,改变helper的id,改变对方的色表……从而影响对方的行动。
*亲变更
严格来说这个不是击中对方以后的事情,也不是击中对方的方法……因为根本不需要击中什么的……原理见“野指针”条目,作用就是把自己的helper的亲换成对方飞helper,从而用parentvarset修改对方helper的变量。
飞行道具的归属bug
在mugen中,由helper发出的飞行道具和由游戏者本人(下文简称为本体)发出的飞行道具一样视为由本体发出,所以飞行道具里的p1stateno改变的也是本体的状态。
状态控制器溢出
状态控制器,即sctrl,也就是statedef下的一个个state。每个statedef下最多可以有51个state,超过的话会在载入这个状态时报错。然而,当hitpausetime存在时,载入状态时只考察ignorehitpause=1的状态的数目,也就是说,只要ignorehitpause=1的state数目不超过51个,就不会报错。通过这个可以写超过51个状态在一个statedef里。每个state的persistent值都会在状态载入时写入内存中,当有hitpause存在时,ignorehitpause=0时跳过当前内存写下一个,ignorehitpause=1时则把persistent的值写入当前内存(如果当前内存里的数据为0的话。当前数据不为0的场合则减一)因为mugen只为persistent留出了51个空位,超出的话就会覆盖别的内存,从而修改本来不允许修改的数据。
野指针
指向已经被释放的内存的指针。主要是target和parentdist。
当游戏者命中对手时,对手在内存中的位置会被保存在游戏者的target下,直到游戏者的进攻结束才取消。而游戏者如果正在进行reversaldef,它的target一直不会被取消。这就是所谓的永续target,甚至即使那个位置已经没有人了或者已经换人了也依然不受影响。这就是混线bug得以成立的根源。
此外helper的创建者即helper的parent被消除的时候,指向这个parent在内存中的位置的信息并不会消失,依然指着那个已经没有helper存在的位置。如果这时有新的helper在那个位置被创建,同时我方使用状态控制器溢出修改helper的parentid和那个新的helper一致,那个新的helper就会被认定为我们手上这个helper的parent。
字符串格式漏洞
%nbug,mugen使用的c库函数printf()包含的安全漏洞,利用这个可以展开格式化字符串攻击,修改任意内存单元直至取得计算机的控制权(理论上可以做到)
..................
以上.....并不都是神的攻击手段,因为很多手段对神都是无效的,比如伤害方面,就是一万亿攻击力的伤害对神也是无效——从这点上说,mugen为体系的世界某种意义上,真的是非常厉害的超武世界——只是让大家有个基本概念科普一下,以下才是神的攻击手段:
大伤害、伤害溢出无关
基本的生命型即死(lifeadd、targetlifeadd、pstate里lifeadd、lifeset)无关
即死投通过hitdef或者projectile带入pstate生命型即死的一种无关
即死当身通过reversaldef带入pstate或者取得target来进行生命型即死的一种无关
落下即死无关
超即死与51突破法有关
超即死投带入会产生hitpausetime的状态后再changestate进入超即死状态与51突破法有关
超即死当身顾名思义,当身(reversaldef)配合超即死与51突破法有关
色表弄以改变对方本体的p数而不是alive值为目的,需要更多的控制器可以配合超即死投和当身使用与51突破法有关
othk与projectile归属有关
othk超即死当身超即死当身和前者的共同使用
毒利用永续target的bug进行的生命型即死与永续target(对敌人本体的)有关
死之宣告前者在战斗结束后的使用与永续target(对敌人本体的)有关
强制死之宣告前者配合自杀后苏生与永续target(对敌人本体的)和51突破法(对自己苏生用)有关
混线不考虑后续的使用的话仅仅与永续target(对helper的)有关
变数弄以混线基础的技术,与永续target(对helper的)有关
装甲贯通炮落下即死和混线配合使用为基础的技术,与永续target(对helper的)以及projectile归属有关
潘多拉杀手以混线基础的技术,与永续target(对helper的)以及projectile归属有关
ayuayu杀手以混线基础的技术,同时利用了另外一种bug(进入一个不存在的状态时,hitoverride不会对溢出的伤害有反应),与永续target(对helper的)以及projectile归属有关
即死返有两种使用方法当身即死返无关混线即死返回与永续target(对helper的)以及projectile归属有关
超即死返原理同上但是因为是超即死,所以和51突破法(敌人自身的)有关
邪眼杀手本身的原理无关但是后续处理可能运用到混线和超即死
亲变更与永续target(对helper的)和51突破法(很多个控制器)有关
亲捏造同上与永续target(对helper的)和51突破法(非常非常多的控制器……)有关
直死和51突破法(非常非常多的控制器……)有关
%n无关
(未完待续)