Star on GitHubStar1.1k stars

Case study

IsaacRecomp: translating Flash game bytecode to native C++

Translates The Binding of Isaac’s Flash AVM1 bytecode into C++ functions and supplies a native rendering/input runtime. The project reads graphics and audio from the user’s original game and documents deterministic input, headless runs and screenshot regression checks.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed

Requirements & limits

  • Prerequisites: Requires the user’s original Steam Isaac.exe; Wrath of the Lamb and Eternal Edition depend on the corresponding game version. This is ahead-of-time translation, not recovery of the original authored ActionScript project.
  • Prerequisites: Documented targets include 64-bit Windows/Linux, Android 7.0+ on 64-bit ARM and Switch homebrew. Source builds use CMake/Ninja and SDL2/OpenGL 3.3 or ES 3.0; mobile/console builds have separate SDK/toolchain requirements.
  • Testing evidence: The author credits AI assistance and reports 30 Hz game logic with higher-rate interpolated rendering.
  • Testing evidence: Reported regression tests compare deterministic logic and screenshots across engine revisions.
  • License: MIT covers the authored engine, tools, build files and docs only. LICENSE explicitly excludes gen/, gen720/, patch1080/ and patch720/ translated game-code directories; third-party and original-game rights remain separate.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · whylurking/IsaacRecomp · Revision 7736f3d
  2. LICENSE GitHub · whylurking/IsaacRecomp · Revision 7736f3d
  3. CMakeLists.txt GitHub · whylurking/IsaacRecomp · Revision 7736f3d
  4. THIRD-PARTY-LICENSES.txt GitHub · whylurking/IsaacRecomp · Revision 7736f3d

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab