Opus 5.5:SimCity 2000 的自动化逆向工程

概述

Opus 5.5 展示了对遗留软件进行复杂自动化逆向工程的能力。一位开发者(drdator)在几天内使用 Opus 5.5 将原生 PowerPC 代码翻译为现代网络技术,用 TypeScript 和 WebGL 开发了一个低多边形的 SimCity 2000 克隆版本。该过程包括反编译原始游戏逻辑,并通过模拟 10,000 天的游戏状态来验证一致性,以确保完全复刻原始游戏的行为。

技术实现

自动化翻译与验证

开发过程始于一个单一提示,要求生成一个具有完整游戏逻辑复刻的 TypeScript WebGL 版 SimCity 2000。Opus 5.5 使用 27 个子代理,逐函数地将反编译的原生 PowerPC 代码进行翻译。

为确保准确性,该模型使用 Unicorn PowerPC 模拟器和 Python 实现了一个验证框架。该框架伪造了 Mac 系统调用,运行了 10,000 天的游戏,将原始游戏状态与新实现进行比对,以确保两者完全一致。

资产生成

  • 3D 和矢量资产:完全由 Opus 5.5 通过代码生成。
  • 位图图像资产:使用 GPT Image 2 生成。
  • 音频:使用 Kevin MacLeod 的 CC 许可音乐及其他音效,开发者指出当前 AI 音频模型不足以满足项目需求。

现代化改进

在保留原始怀旧氛围的同时,开发者添加了多项现代视觉增强功能,包括:

  • 景深效果
  • 环境音效
  • 雾霾效果

社区讨论与分析

法律与伦理考量

使用 AI 直接将反编译二进制文件中的代码翻译为新语言,这一做法存在争议。部分社区成员指出,这种方法偏离了“洁净室设计”——一种法律标准,即一个团队分析同一二进制文件以创建规范,第二个团队仅基于该规范实现新代码,以避免侵犯版权。

"听起来你的代理被允许直接阅读旧代码并将其实现为新代码。从技术上讲,这违反了逆向工程的规则。"

技术性能与工具

一些用户报告了性能问题,例如移动设备变得‘令人不适地烫’,以及整体优化不佳。建议使用 Rust 和 WASM/WebGPU 以获得更好的性能,这表明 LLM 现在可以有效地用于基于单核原生桌面应用的 vibecoding。

AI 在游戏开发中的角色

社区讨论突显了 AI 的第二和第三阶效应。尽管一些用户对 AI 生成游戏是否具有相同的‘灵魂’或人类投入表示怀疑,但另一些人指出,LLM 正在成为‘逆向工程和混搭现有游戏的高手’,即使它们尚无法从零开始设计全新的游戏机制。

"我认为 LLM 还无法设计新游戏,但它们在逆向工程和混搭现有游戏方面堪称高手。"

其他 Opus 5.5 的应用场景

其他用户分享了类似经验,提到 Opus 5.5 在为像 Red Alert 2 这样的遗留游戏创建自定义启动器方面取得成功,通过将渲染与游戏逻辑解耦,实现并行模拟,从而修复漏洞、添加自定义单位并进行平衡性测试。

Sources

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch