Games and modsPartialSource available
Target: Star Wars: Yoda Stories (Yodesk.exe)

Claude decompiling the Star Wars: Yoda Stories engine into C++

by shinyquagsire23 RepositorySave · follow · discuss0 views
Platform
Windows (MFC), native SDL, WASM
Outcome
Partial

Evidence at a glance

Based on the linked sources. The author's reported result and independent confirmation are separate checks.

AI involvement
Reported models: Claude Opus 5, Claude Fable. Tools: Ghidra, ghidra-mcp, wine, Visual C++, CMake, SDL. The writeup below describes the work attributed to AI.
Reported result
Partial. This is the directory's source-based outcome classification.
Independent confirmation
Not reported.
Human work and limitations
The author (shinyquagsire23) says they occasionally gave advice, including a 'Maybe' naming strategy to stop Claude naming things too confidently and incorrectly, and had to keep it from taking shortcuts. They report driving sessions manually rather than looping the agent, and that Opus is adequate with the pick-up protocol.

Original sources

What was done

The author seeded Claude with a Ghidra instance, the game assets and a CLAUDE.md plan, then mostly let it steer. The README reports 100 percent of the engine transcribed and a port to SDL under way.

Yodecomp is described by its author as an experiment in how well Claude can decompile Star Wars: Yoda Stories with the right encouragement. The target is the engine binary Yodesk.exe. The README reports that Claude has transcribed 100 percent of the engine into idiomatic C++ and can build an EXE from source; builds for Win32 and MFC, native SDL and WASM are covered by BUILDING.md.

The method, in the author's words, was to seed Opus with the game assets, the binary loaded in Ghidra and reachable over HTTP through ghidra-mcp, source code from two related projects as reference, and a first plan in CLAUDE.md. That plan listed finding each compile unit, documenting structures, identifying the exact Visual C++ version, setting up a wine-driven toolchain, and getting one function to byte-match. The author then mostly let Claude steer. Claude later settled on a phasing and pick-up task protocol in CLAUDE.md so each session could start from an empty context.

Byte-matching is on hold because Claude was spinning its wheels, and it is now porting the game to SDL through microfx, a replacement for MFC and parts of GDI that keeps the original window code unchanged. Commits carry Claude Opus 5 trailers, and the author notes occasional use of Fable.

Reproduce it

setup

Follow BUILDING.md. You supply the game assets and a Visual C++ toolchain; the repository ships neither.

Community

Ask a question, share what worked, or follow the next milestone.

Your library