当前位置:主页 > 游戏 > 正文
魂斗罗超级跳具体原理分享
来源:哔哩哔哩作者:洞察网2022-04-04 18:55:11

从最初发现超级跳的原理到现在已经三年了,最近一次做TAS时为了更好地操纵第三关的纵向位置,我再次仔细研究了一下超级跳的原理,经过比上次更大量的数据统计和分析:

以及通过内存修改确认各种边界值,我确认了超级跳的具体原理:

首先分享一下魂斗罗常用的内存监控地址:

1、和上次的一样,向右的跳跃在拉屏幕的第一帧会出现屏幕Y坐标和人物Y坐标一起变化的现象,于是人物会获得两倍的Y值变化。

2、当人物有向左的X速度或者没有X速度时,Y坐标的变化量就是简单地等于Y速度的值(即大值减去大值,小值减去小值,不够的进位。其中拉屏时大值变化的是屏幕位置大值,小值为人物位置小值)

3、当人物有向右的X速度时,如果人物不在可拉屏的范围内,那么Y坐标的变化量和向左时是一样的,若人物在可拉屏范围内,则情况较为复杂:

屏幕Y的变化量基础值=256-Y速度大值-1

人物Y小值变化量=Y小值×2,若超过256,则直接减去256且不进位

若前一帧人物的Y位置小值在这一帧Y速度小值的一倍到两倍之间(若两倍的值超过256,则减去256,且范围变为Y速度小值-256,0-Y速度小值×2),则屏幕Y变化量+1,否则屏幕Y变化量不变。

正是由于向右跳跃时Y位置变化的不确定性,跳跃才能操纵出非常大的高度差。而且可以发现,虽然已经完全了解了计算公式,但是由于不确定性较大,除了穷举依然没有很好的方法可以操纵出理想的情况。但是既然知道了原理,至少我们可以进行有目的的穷举并且找到相对合适的目标。

[责任编辑:linlin]

标签: 数据统计 分享一下

相关文章

评论排行
热门话题
最近更新
Baidu
map