用AI从零重建《超级马里奥世界》:GPT跑了四天还没停

创作者借GPT 6.1 Sol在复古掌机上从零复刻《超级马里奥世界》,AI已自主迭代超四天。
在OpenAI Dev Day获得的mod retro掌机上,一位创作者让GPT 6.1 Sol从零重写整个《超级马里奥世界》。AI的工作方式类似逆向工程师:参考海量在线文档,不断写代码、比对目标效果、迭代修改,形成"写-验-改"闭环。项目已连续自主运行超过四天仍未完成,核心难点在于还原物理引擎、碰撞检测、敌人AI、精灵动画等高度耦合的系统。该案例展示了AI在项目级代码生成和长时自主任务上的能力边界——它能无人干预地逼近复杂工程目标,但效率仍是明显瓶颈。创作者预计再过几天可见分晓。
在OpenAI Dev Day上,每位参会者都拿到了一台复古掌机mod retro——本质上是初代Game Boy的复刻版。对于一位把《超级马里奥世界》视为最爱的玩家来说,这台设备本该是重温经典的完美载体。问题在于,这台机器压根没打算跑SNES游戏。
于是这位创作者做了一个决定:让GPT 6.1 Sol从零开始,为mod retro重写整个《超级马里奥世界》。

一场没有终点的代码马拉松
这个项目最让人意外的地方,不是AI能写游戏代码,而是它已经连续工作了超过四天——而且还没结束。
据创作者描述,GPT 6.1 Sol的工作流程近似于一个不知疲倦的逆向工程师:先看游戏应该长什么样,从海量在线文档中提取结构信息,然后写代码、比对效果、再迭代。创作者用了"不完全算反编译,但非常接近"来形容这个过程。
这背后的逻辑其实很清晰:AI不是凭空捏造一个马里奥游戏,而是拿着"标准答案"(原版游戏的视觉和逻辑表现)不断逼近。每次生成的代码都拿去和参考目标做对比,发现偏差就改,改完再比。这种"写-验-改"的闭环,恰好是大语言模型在代码任务上最擅长的模式。

逆向工程与反编译的区别
逆向工程是一个宽泛概念,指从成品中反推其设计原理和实现方式;反编译则是逆向工程的一种具体手段,特指把可执行机器码翻译回高级语言源代码。文章中提到的"不完全算反编译但非常接近",指的是一种行为级复刻:AI并不需要逐条还原原版SNES的汇编指令,而是通过观察游戏的输入输出行为(画面、音效、物理反馈),用全新的代码在目标硬件上重新实现同等效果。这种方式类似于"黑盒重写",规避了原版ROM中受版权保护的代码资源,但复刻难度更高——因为行为等价往往比代码等价更难验证。
为什么重做一个老游戏这么难
表面上看,让AI重写一个三十多年前的2D平台跳跃游戏,似乎不该花四天以上。但实际情况远比想象复杂。
《超级马里奥世界》看似简单,背后却是一套高度耦合的系统:物理引擎(加速度、摩擦力、惯性)、碰撞检测、敌人AI行为树、关卡数据结构、精灵动画状态机、音效触发逻辑。这些东西在原版游戏里是为特定硬件深度定制的,无法直接搬到mod retro的硬件规格上。
GPT 6.1 Sol面对的不是"写一个马里奥风格的游戏",而是"在这个特定硬件上,让每个跳跃弧度、每个敌人巡逻路径、每个金币弹出的手感都对得上"。这种级别的还原度要求,把任务从"创意生成"拉到了"精确复刻"的范畴。
创作者提到,AI手上有"大量的在线文档"可供参考。这意味着社区多年来积累的ROM逆向工程资料、关卡格式说明、内存地址映射等技术文档,都成了AI的训练素材和参考依据。

精灵动画状态机
原文提到的"精灵动画状态机"是2D游戏角色的核心技术架构。在《超级马里奥世界》中,马里奥、敌人、道具等每个可见对象都是"精灵",每个精灵在不同情形下(站立、行走、跳跃、受伤、踩踏敌人)需要切换不同的动画帧,并同步改变碰撞箱、速度参数和可执行动作。状态机负责管理这些状态之间的转换条件与优先级,例如"跳跃中碰到敌人"应优先触发踩踏判定而非受伤。原版游戏把状态转换逻辑硬编码在与SNES硬件时序绑定的循环里,要在mod retro上还原同样的手感,就必须重建一套能在新硬件帧率下保持等价行为的状态机,这是该项目最耗时的部分之一。
长时任务:AI编程正在突破的边界
这个案例真正值得关注的,是"连续工作四天以上"这件事本身。
当前大多数AI编程工具的使用模式是"一问一答":你提需求,它生成代码,你验证后发现不行,再追问。整个过程需要人类持续在场。但GPT 6.1 Sol在这里展现的是一种自主循环能力——它能自己判断输出是否符合预期,自己决定下一步改什么,不需要人类每一步都介入。
这并不意味着人类完全缺席。创作者显然设定了目标、提供了参考资源、搭建了验证机制。但在这个框架内,AI的自主决策密度远超传统的代码补全或函数生成。
创作者估计"可能再过几天就能完成"。如果成真,这将是一个AI在没有任何针对性微调的情况下,仅靠通用能力和在线文档,完成一个中等复杂度游戏移植的案例。

自主循环与Agentic编程
文中描述的"写-验-改"闭环,对应的是当前AI领域所称的Agentic(智能体式)编程范式。与传统的代码补全或单轮问答不同,Agentic系统允许模型自主规划任务、调用工具(如编译器、测试脚本、文档检索)、读取执行结果并根据反馈调整下一步行动。其核心在于为模型构建一个可自动评判成功与否的环境。本案例中,"原版游戏画面和手感"充当了目标函数,在线逆向文档充当了知识库,而代码比对则构成了自动反馈信号。这种模式把人类从逐轮指令中解放出来,但代价是单次任务的耗时和算力消耗显著增加——这正是该项目跑满四天仍未结束的根本原因。
这件事意味着什么
短期来看,这只是一个有趣的个人项目,证明了大语言模型在特定硬件上复刻经典游戏的可能性。
但放到更大的背景下,它触及了几个正在发生的变化:AI的长时间自主工作能力正在从实验走向可用;代码生成的任务粒度正在从"函数级"上升到"项目级";而游戏移植和逆向工程这类过去需要专业团队数月投入的工作,正在被重新定义。
当然,四天还没跑完这件事本身也说明,当前的方案远谈不上高效。它更像是一个概念验证:当AI有了明确的目标函数(原版游戏的表现)和充足的参考资料(在线文档),它可以在无人持续干预的情况下,持续逼近一个复杂的工程目标。
至于最终能不能跑起来、跑起来之后手感对不对,创作者说"再过几天"见分晓。
项目级代码生成的门槛
从函数级到项目级的跨越,难点不只在代码量。函数级生成只需满足一个局部接口约定,而项目级生成要求模型在很长时间跨度内维持一致的架构决策、数据流和模块边界。在游戏移植场景中,这意味着AI必须记住它三天前定义的物理常量、精灵ID分配和关卡数据结构,并在后续代码中正确引用。大语言模型的上下文窗口有限,长时任务中容易发生"遗忘"或前后不一致。该项目能在四天内持续迭代,说明其工作流中很可能包含了记忆管理或状态持久化机制;同时"四天还没跑完"也暴露了此类方法在效率与一致性上的瓶颈。
相关推荐

CSS锚点定位:告别JavaScript的UI定位新方案
深入解析CSS锚点定位:从anchor-name、position-anchor到anchor()函数、position-area简写、position-try-fallbacks回退机制,以及anchor-size和即将到来的anchor queries。了解这一替代JavaScript定位方案的核心能力与当前限制。

AI图表交互新玩法:在对话中连续追问与可视化
探索AI对话中连续生成图表的新交互方式,通过/visualize命令在同一聊天窗口追问并可视化答案,提升数据分析效率。

Cursor并入X订阅:付费计划共享额度,Grok模型编程用量翻倍
Cursor正式并入The X Subscription,付费计划共享统一用量池,Grok模型编程用量翻倍,第三方模型转为API定价。现有Cursor用户可保留原计划或迁移,Premium、Super、Ultra额外包含Grok Bot。