GameFrame: 오래된 게임을 리버스 엔지니어링하기 위한 Claude Code 스킬과 에이전트
Reddit 게시물에서 GameFrame을 소개합니다. 이는 오래된 게임을 비트 단위로 리버스 엔지니어링하고 재구현하기 위한 Claude Code 스킬과 에이전트 모음으로, 작성자의 Un-Banished 프로젝트에서 출발하여 REA MCP 서버와 Ghidra, Unicorn, DOSBox-X를 통합합니다.
이 사례에 대하여
작성자는 Banished를 Rust로 재구축한(Un-Banished) 경험이 어떻게 GameFrame으로 이어졌는지 설명합니다. 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]





