回复
12
查看
933
收藏
13

0

赠楼

0%

赠楼率

74

蒸汽

7

主题

23

帖子

204

积分
发表于 6 天前 · 湖北 | 显示全部楼层 |阅读模式
本帖最后由 605484 于 2025-7-27 16:11 编辑

速通玩家和TAS玩家们总是会带来一些快到不可思议的成绩:几个小时流程的缩短到几十分钟,几十分钟的缩短到十几分钟。
但能快到如此不可思议的程度的以我自己所见仅此一个,那就是FC超级马力欧兄弟3的成绩:0.22秒!

当然能做到如此的成绩已经几乎跟游戏本身的内容没多少关系了,那么是如何做到的呢,且听慢慢道来

首先在FC硬件上一直存在一个BUG,那就是在玩的时候偶尔会在没有按的时候,游戏角色自己朝右走一下
这个东西叫DPCM 冲突,简单解释的话就是在极少数情况下,游戏的CPU在读取音频和读取手柄输入的时候,会卡在一起
就像两个人同时要通过一个单人门一样,那肯定是不行的

所以造成的后果就是,CPU读取到了一个错误的,玩家没有按的一下“右”键,游戏角色会往右微移1帧
当然也不是所有的音效都会触发,仅限于PCM采样音(可以理解为一种特殊的音色)
所以在大部分情况下影响不太大

但是在超马3这个游戏中,游戏使用了大量的PCM采样音效,这时如果再不加防范就会出问题了,谁也不想游戏角色总是不受操控
所以任天堂的程序员们想到了一个办法,那就是多次读取进行比较
如果读取到两次相同的输入,那就作为正确输入
如果读取不到,那就继续读取,直到两次相同输入为止
也就是说如果再次出现DPCM 冲突的话就会产生如下情景

咋一看似乎都很美好,但唯独错算了在未来会发展出TAS这一速通活动
尽管看似游戏是以60FPS画面运行的,一些玩家可能会按出“帧级操作”,似乎可能会打破这一判定
但游戏机内的实际运行速率远超这一画面速率,CPU读取一次操作仅仅需要大概0.000002235秒,并且是持续不断读取的。
哪怕是现今最顶尖的速通/职业/其他各类最顶尖玩家,也不可能手动触发

但TAS可以
TAS总是可以不按常理使出各种预料之外的操作,一切BUG皆可为我所用。
让我们再回到超马3新加入的这个机制中,如果我们在CPU每一次读取的时候,输入的操作都不同呢?

那么CPU就会永远停止在这个过程中,游戏就会一直卡住不动,直到CPU结束这个指令
但目前似乎也就做到了这些
接下来怎么办呢
由于FC在实现画面渲染时,这段代码也会在RAM中执行,但此时游戏已经被强制中断了!
TASer可以利游戏卡死来强行劫持这个进程,来将自己的输入数据送到内存的任意一个位置。
也就是说,现在的主机内存中,任意一个位置都可以为我所用,而速通思路也正是如此!
他们直接通过这样的手段,在极短的时间内往ram中注入了一段汇编跳到通关动画代码,然后再劫持游戏主程序来到这里。
之后,执行!
也就一瞬间就跳到了通关动画中。
这也就是传说中的任意代码执行(Arbitrary Code Execution,简称ACE
尽管ACE在游戏界并不是仅此一份的存在,但能将其运用到如此地步的,也就仅此一份了。

速通之外:
既然游戏都已经完全为我所用了,那么TASer怎么会满足于仅仅用来速通呢,事实上也确实有基于此的表演项目

构造了一个Linux页面并假装宫本茂特意留下的游戏“后门”



自制“画恐龙”小游戏,并且附带滤镜功能


为马力欧加入萨姆斯的“超冲”技能


添加龟壳护盾功能并且可以随便切换形态


添加重力反转功能


使用龟壳护盾秒杀库巴

附往期链接:https://keylol.com/t1009205-1-1
原作者撰写的技术文档:https://tasvideos.org/7273S
表演节目作者的技术文档:https://tasvideos.org/4961S
著作权归TASer作者所有,本人仅做整理搬运和讲解

最后,那些越共们,我知道你们想看什么

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

×
回复

使用道具 举报

浏览本版块需要:
1. 初阶会员或更高等级;
2. (点击此处)绑定Steam账号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

欢迎发帖参与讨论 o(*≧▽≦)ツ,请注意
1. 寻求帮助或答案的帖子请发到问题互助版块,悬赏有助于问题解决的速度。发错可能失去在该板块发布主题的权限(了解更多
2. 表达观点可以,也请务必注意语气和用词,以免影响他人浏览,特别是针对其他会员的内容。如觉得违规可使用举报功能 交由管理人员处理,请勿引用对方的内容。
3. 开箱晒物交易中心游戏互鉴福利放送版块请注意额外的置顶版规。
4. 除了提问帖和交易帖以外,不确认发在哪个版块的帖子可以先发在谈天说地

  作为民间站点,自 2004 年起为广大中文 Steam 用户提供技术支持与讨论空间。历经二十余载风雨,如今已发展为国内最大的正版玩家据点。

列表模式 · · 微博 · Bilibili频道 · Steam 群组 · 贴吧 · QQ群 
Keylol 其乐 ©2004-2025 Chinese Steam User Fan Site.
Designed by Lee in Balestier, Powered by Discuz!
推荐使用 ChromeMicrosoft Edge 来浏览本站
广告投放|手机版|广州数趣信息科技有限公司 版权所有|其乐 Keylol ( 粤ICP备17068105号 )
GMT+8, 2025-8-2 21:36
快速回复 返回顶部 返回列表