查看原文
其他

街霸2的CPU是怎么对玩家作弊的?

百页豆腐 游戏研究社 2019-11-02


实锤了!


《街头霸王2》是无数玩家心中的经典游戏,也曾让不少玩家叫苦不迭。


游戏中的CPU经常不按常理出牌,仗着自己有后门作威作福,有时甚至无视游戏本身的规则。



近日格斗游戏主播desk就进行了一系列的试验,分析了街霸2中CPU究竟是如何不择手段地作弊开挂的。


首先,《街头霸王2》的CPU在某些时间可能会偷偷开启无敌模式。


最典型的情况出现在CPU和玩家同时出招时。在实验中,面对玩家的连续下段快拳攻击,CPU用一招较慢的踢击反击玩家,玩家出拳并没能打断CPU。



而当desk试图自己还原这一动作时,发现这个动作本身并没有无敌帧,正常一定是会被打断的,只是CPU使用时开启了无敌。



类似的事情在街霸2中时有发生,在比拼手速的对决中如果CPU慢了就经常会开启无敌帧,即使玩家先出手的情况下,最后赢的依然是CPU。


有些时候CPU无视玩家的攻击,而有些时候它还无视玩家的防御


在desk的测试中,玩家明明已经提前蹲防了,但依然还是被CPU的攻击打中。


他还发现,正常情况下达尔西姆这招从出手到产生判定需要经过3帧,但当CPU使用时,第一帧就有了判定。也许CPU出招的判定机制都是不一样的。



此外,还有一种明显的作弊就是CPU的解晕大法。


在CPU眩晕之后,如果玩家想进行追击,CPU会以超人的速度瞬间恢复正常,挡下玩家的攻击。


根据试验,CPU从眩晕中恢复只需要12帧,也就是五分之一秒的时间,这对于CPU来说几乎等于没有。



还有更过分的是,CPU可以无视游戏的机制,作出玩家做不出的操作。比如古烈的斩魂脚刀,本来需要先蹲下蓄力才可以发出。但在CPU使用时,这个技能基本是个瞬发技能,CPU会象征性的蹲一下,但时间基本可以忽略不计。


CPU的下蹲更多处于礼貌,因为有时候它连装都懒得装了,直接旱地拔葱就是一脚。



一些投技可以通过连按造成多段伤害,但到了CPU手里就变成了威力无穷的怀中抱妹杀。CPU可以非人的手速造成丧心病狂的伤害,一个投技甚至可以打掉95%的生命值。



为什么街霸2的CPU这么喜欢开挂呢?此前一位名为SF2PLATINUM的爱好者通过反向工程得到了街霸2的代码,解答了一些问题。


街霸2的AI与现代游戏相比简单得多,CPU不会学习玩家的行为作出自己的判定,它的行为都是提前写好的,由很多个脚本组成的。包含了游戏中可能出现的各种情况,然后根据不同的情况作出不同的动作。


比如CPU的攻击就是从众多预先写好的攻击指令中随机抽取的,下图就是隆的一套简单难度下的出招模式——三连波动拳打晕加投技。



街霸2中的CPU发出招式本身是不需要任何蓄力或者指令输入的。脚本里写了发出技能,古烈就会直接作出脚刀的动作。只要脚本需要,甚至可以让他在空中发出脚刀。


而有些动作,比如春丽的百裂脚,CPU会先假装作出一些动作好像是在输入指令,但实际上这是写在脚本里的,让玩家觉得比较真实——古烈的脚本可能是忘了写这段了。


街霸2中的每个元数据都有一个标签,对应每一帧的动画。当玩家输入指令后,电脑根据标签调取相应的动画,而CPU是可以看见这个标签的。因此它作出的反应是在指令输入的瞬间作出的,而且比屏幕上显示的画面还早。


CPU能很快从眩晕中醒过来,可能就是因为玩家的进攻触发了某个防御剧本,导致CPU直接无视了眩晕状态而进行了防御。


关于具体的作弊细节,这个视频里讲得更多,中文字幕/翻译by不安


SF2PLATINUM说游戏中还有一个指令可以关掉角色的碰撞效果,利用这个指令可以通过脚本可以完成“白金之星”躲波动拳的操作,也就是之前看到的无敌时间的由来。


所以街霸2的CPU确实会作弊,不少作弊行为是因为游戏设计本身所造成的。


这倒让我松了一口气,原来我格斗游戏打不过电脑就是因为它总作弊啊。


嗯,一定是的。


我们始终欢迎喜欢内容创作的小伙伴加入


应聘简历可发邮箱:hr@yystv.cn

文章投稿可发邮箱:tougao@yystv.cn





APP | 你还可以回复"APP",获取下载地址

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存