查看: 26|回复: 0

[Softendo游戏] 【TAS】Mario Forever Flash in 7:59.08

[复制链接]

2

主题

1

回帖

2

精华

可爱飞鱼

经验
184
硬币
47 枚
QQ
发表于 15 小时前 | 显示全部楼层 |阅读模式
本帖最后由 海外陆客 于 2025-11-23 06:25 编辑

我感觉我装了一个礼拜的系统……
flash的模拟器是在linux系统上的。因为windows运行linux需要WSL2,我看了一下感觉下载不明白,而且怎么让powershell吃到ssr加速也是个问题。
当我翻模拟器列表的时候,不知道什么时候windows多了个bizhawk。我就按教程找资源,经过省略一万字的荆棘旅途,我把win98在模拟器里安上了。打开Mario Forever却出现了声音爆炸的问题……捣鼓了一天半也没整明白。
因为我一直以为bizhawk的open rom是打开windows98.iso,发现跟装机视频对不上。最后发现应该打开的是.xml文件……
那这样不行。我不能接受做出来的TAS,用模拟器导出来的编码,大家看它还要静音看。

后来我寻思,我拿他运行adobe flash player岂不是就能TAS flash游戏了。虽然按TASVideos的要求来说并不合规,因为flash有专门的方法。但我现在是圈外人,想怎么做怎么做,只要能实现就行。
然后我把我珍藏的adobe flash player 11放了进去,发现它嫌弃我的win98太老不给运行。
我又找了player 8,放进去,然后打不开这个.swf
查了一下最后一个支持win98的是player 9。费老鼻子劲找到9之后放进win98里,98能打开9,9也能打开.swf。
正当撒花准备开始TAS的时候,发现有严重的拖慢现象。不是bizhawk运行慢,而是flash player在bizhawk里很慢。
那这条路就这不行……我不能接受做完的TAS,模拟器导出来的编码,游戏看着是全程拖慢的。

因为win98运行MF声音爆炸,我想验证是不是win98的问题,我特意给虚拟机装了个win98,发现没问题。
这两天突然想到一个问题,想装linux为什么非得用wsl2呢?虚拟机不是也能装吗?!
然后省略三万字的荆棘路程,我给整好了。
这其中包括想在linux运行windows的ruffle需要在linux装wine,但就是装不明白,折腾一天发现人家ruffle本来就有linux版本的,我根本用不上wine……
打开了之后没有声音,我以为是没装好,最后发现人家模拟器默认设置了静音,因为不静音运行会很慢,而且容易崩。
我直接用ruffle打开游戏一点问题没有,但用libTAS套壳运行ruffle时,一打开游戏不动,而且是半白半黑。用鼠标点ruffle的菜单栏也没反应,还弹出来个应用程序未响应的窗。特别像打开失败。后来发现是因为游戏开始时是暂停的,鼠标点当然没反应,游戏的第1帧本来就是半白半黑。至于弹窗,这是bug,因为是暂停的,它误认为是卡死了……总结一下就是这一切本就是正常的……
回过头来看,感觉这些难题都是我给我自己出的……

这个游戏看起来跟SMB很像,但做起来不知道为什么特别快就完成了。
我只找到了x pos、y pos的RAM,但速度没找到。有一个x速度,但松开方向键值就会归零,然后值就不动了,而且那个值跟实际速度也对不上,464的速度实际位移是5,按理说他俩之间的系数应该是2的n次幂或是整5整10的数,不可能是个带小数点的数。
而且因为libTAS搜的是ruffle的RAM而不是直接搜的.swf的,所以每次打开RAM就得重新搜。但只要找到一个,其它的就好找了,因为不同RAM的地址的相互位置是固定的,只要找到x速度的地址,x、y位置RAM的地址根据相对位置也就确定了。
比如:
x speed地址:0000
x pos地址:0010
y pos地址:0020
那么下次如果搜到的x speed是0100,则x pos就是0110,y pos是0120。
但库巴血量确实是每次进关卡都是随机匹配的,如果死了接着再打一遍的话,库巴血量就得重搜了。但血量和掉血CD的地址的相对关系是固定的。

关于录像:
系统:ubuntu 24.04.3
模拟器:libTAS 1.4.7; ruffle nightly 2025.11.21
编码:
点击展开视频

Ps: 我终于一命通了


.ltm录像下载:

MarioForeverFlash.7z

4.65 KB, 下载次数: 2

.ltm模拟器录像

您需要登录后才可以回帖 登录 | 创建账户

本版积分规则