GameFrame:用於逆向工程老遊戲的 Claude Code 技能與代理
Reddit 文章介紹 GameFrame,這是一套 Claude Code 技能與代理,用於逐位元逆向工程與重新實作老遊戲,建立在作者的 Un-Banished 專案上,並整合了 REA MCP 伺服器以及 Ghidra、Unicorn 和 DOSBox-X。
關於這個案例
作者說明如何用 Rust 重建 Banished(Un-Banished),進而發展出 GameFrame,這是一本 Claude Code 技能手冊(inventory、observe、decompile、trace、decode formats、emulate、port、verify、land)與 17 個代理,背後有一套工具組,可無介面驅動 Ghidra,在 Unicorn 下執行原始函式以取得基準真相,並與 DOSBox-X 的除錯器及 REA MCP 伺服器協同運作。每個主張都必須有證據支持,移植版本必須與原始版本逐位元相符。迄今已用於 Banished、Tyrian 2000 和 Frontier: Elite II。使用者需要自己的遊戲副本;不隨附任何遊戲檔案。透過 Claude Code 外掛程式市場安裝,並提供文件與程式碼連結。
安裝設定
安裝方式請查看原始來源。
原文 / README
Recently I’ve been using Claude Code to rebuild Banished, the city builder, in Rust. The result is Un-Banished. It runs natively and in the browser on your own copy of the game. Its tests check it against the original, down to the random numbers. Most of the work went into finding out what the original does and proving that the new code does the same. I turned the method and the tools from that project into GameFrame, so other people can do this with other games. GameFrame has two parts. The playbook is a set of Claude Code skills, one for each step: inventory, observe, decompile, trace, decode formats, emulate, port, verify and land. There are 17 agents as well. Nine follow the steps and hand off to each other. Eight do single jobs, such as finding a game’s random number generators or listing every input it reads. The toolkit is the tested tools that the skills call. It drives Ghidra headless and runs the original’s functions under the Unicorn emulator for ground truth. It also works with DOSBox-X’s debugger and the REA MCP server. The main rule is that every claim needs evidence. Claude runs the original function on thousands of inputs. The port has to match it bit for bit. Without that check, an agent writes code that looks right but drifts after an hour of play. So far it has been used on three games: Banished, a Windows game in C++ Tyrian 2000, a DOS game in Borland Pascal Frontier: Elite II, a DOS game in assembly You need your own copy of the game. GameFrame ships no game files. The projects it creates keep them out of git. To try it in Claude Code: /plugin marketplace add tanepiper/game-frame /plugin install gameframe@game-frame You can also copy the setup prompt from the site’s home page into any coding agent. Docs: https://tanepiper.github.io/game-frame/ Code: https://github.com/tanepiper/game-frame (code under Apache 2.0, docs under CC0) Un-Banished: https://github.com/tanepiper/unbanished submitted by /u/tanepiper to r/ClaudeCode [link] [comments]





