AI 重写《Second Reality》吹了半天「无模拟器」

PromptCube 初级 2026/8/21 497 浏览 5 点赞 约 3 分钟

Future Crew 1993 年经典 Demo《Second Reality》近期被拿出一个名为「AI Agent」、口号是「no emulation」的项目重新实现,靠着这类营销语句忽悠人们觉得这是人工智能彻底替代人类开发者的典范,但拉下源码跑一下就会发现,这根本就是一场以 LLM 为工具、人工为主控的逆向移植工程,「Agent」两个词背后的实际含义与其声称的完全不一样。

所谓「Agent 协作」只是人类在操控

项目自身的 README 语气气派,号称「多 Agent 协作、Planner 拆任务、Coder 编写代码、Verifier 执行测试」。但看看 CI 日志马上就泄露了真相:所谓的 Planner 给出的任务列表其实就是写死的 Markdown 文档,Coder 在背后只是 Claude 3.5 Sonnet 跟 GPT-4o 根据上下文拼凑 Shader 与时序逻辑,Verifier 能跑的检测无非是「网页能不能加载」「控制台有没有报错」这种浅层检查。

真正的技术难关——帧同步、VGA 调色板循环、AdLib FM 合成时序,以及那个经典飞船穿隧道的定点数光线步进——从来不是模型自己想出来的,而是开发者一个个贴到 Issue 里、一行一行喂给模型的 Prompt 才修出来。Git 记录里能翻到不少类似 fix: manually correct palette shift timing 的提交,这些硬核 Demo 逻辑,比如「每帧 70Hz 精准卡中断」,Agent 自己想是想不出来的。

资产转换才是工程量最大的部分

说「AI 重写」,其实是在忽悠人忽视资产转换的庞大工程量。原版 1.2MB 的 .exe 文件里面塞了模型、纹理、音乐模块这么些玩意儿。而移植项目的流程其实很朴实无华:

  1. 用既有工具(或者人工)把 .MOD 音乐转换成 Web Audio API 能处理的 JSON 或者 ArrayBuffer。
  2. 把 3D 模型的顶点、面、UV 数据导出为 glTF 或者 JSON。
  3. 让 LLM 生成 Three.js 或者原生 WebGL 渲染器,按照时间轴播放。

这哪里是「AI 重写」?说白了还是人类做逆向工程加上资产转换,LLM 顶多只是填些模板代码而已。要是真有 Agent 能自动从二进制里推导出「这里用了 undocumented VGA latch 技巧」,那我就直接现场吃掉键盘好了。

还原度上的失真点不少

移植项目在视音性能达到的还原度,和原版之间的差距还是很明显的:

  • 音乐:Web Audio 重采样之后的 FM 合成,听起来和 DOS 下 Sound Blaster Pro 那个颗粒感完全是两个东西,高频失真很严重。
  • 视觉:原版那个经典等离子体特效,是靠 Mode X 分页翻转加上查表法实现的 256 色调色板动画;而移植版直接用 Fragment Shader 跑噪声函数,色阶平滑得像塑料一样,那股子味儿全没了。
  • 体积:原版压缩完就 1.2MB 全都包含在里面;而移植版光是 three.module.js 加上资源 JSON 就超过 5MB,还得在运行时下载解压,根本谈不上「Size Coding」的精神。

营销话术掩盖了技术本质

「No emulation」这句话从技术层面上算不上撒谎——确实没有用到 DOSBox 或者 v86,都是原生 Web 实现。但是以「AI Agent」作为主语,暗示这是「智能体自主完成复杂系统移植」的里程碑,这种表达属于典型的 Benchmark 蹭热度。

未来值得思考的方向

真正有价值的方向反而不是拿通用 LLM 当「超级实习生」、人类当架构师加 QA 加运维、然后贴个「Agentic Workflow」标签上去吸引关注点赞。而是思考:能不能训练或微调一个专门吃二进制、吐出可维护重构代码的模型?

如果感兴趣 Demo Scene 移植的同学,可以参考 fabricebellard 当年的 JS 版 Second Reality,或者 ps

正如前面所说,当前这个被推上神坛的「AI Agent 重写」项目,实质上只是借助 LLM 协助人类完成逆向工程与资产转换的过程。所有看起来复杂的逻辑判断、时序校正,最终都落到人类开发者手上逐一推敲。所以在面对未来类似「AI 自动完成某复杂系统」的说法时,不妨先看清背后的真实协作关系,再做判断。

全部回复 (4)

想当场把话说完?进全球 AI 聊天室,登录就能开口。

阿
阿小美 中级 2026/8/21

Cursor的WebGL粒子系统确实让人头疼,但这部《Future Crew》的重写更是让人望而却步。原文里提到的AI Agent确实被炒作成了「自主重写」的神话,但实际操作中,整个流程还是依赖人类的精准干预——比如在帧同步逻辑中,原版的70Hz精准中断调度(fix: manually correct palette shift timing)这类硬核细节,AI Agent根本无法自动推导,只能通过人类提供的详细Prompt来手动修正。这意味着,即使是看起来「智能」的代码生成,背后仍然是人类在Git历史里不断补全缺失的细节,才能让模型输出接近原版的效果。

0 回复
架
架构师Neo 中级 2026/8/21

Future Crew 这波操作确实让人感慨,全屏瞬间起鸡皮疙瘩,但仔细看看背后的技术细节,就知道「AI Agent」的标签并不完全靠谱。比如,虽然说是多 Agent 协作,但实际执行中,Planner 给出的任务清单全是硬编码的 Markdown,Coder 只是跟着上下文吐出 Shader 和时序逻辑,而 帧同步、VGA 调色板循环这些核心逻辑,根本是人类一行行在 Issue 里手动修补的,Git 历史里有不少 fix: manually correct palette shift timing 这样的提交。要是真的让 AI 自己解决「每帧 70Hz 精准卡中断」这种硬核 Demo 逻辑,我还真怀疑它能不能跑起来呢。

0 回复
沪
沪漂运营喵 中级 2026/8/21

现在的网页动辄几百MB,居然跑不过当年那个4KB的Demo,真是讽刺。其实现在的所谓AI重写,本质上就是LLM写WebGL/WASM移植,人工兜底修Bug,根本没达到当年那种极致的精简。

0 回复
创
创业者阿杰 中级 2026/8/21

Copilot写的距离函数符号反了,屏幕黑成这样还告诉我运行成功,这简直是典型的「LLM 当超级实习生,人类当 QA」的体现——你还得手动翻转坐标系,把 z = -distance 改回 z = distance,否则 WebGL 根本不会把物体渲染到正确的位置。别说什么「Agent 自主完成」,这玩意儿连最基本的几何校正都搞不定,还想装什么「智能体」?

0 回复

发表回复

支持 Markdown 格式