
Evidence at a glance
Loading source evidence…
What was done
Instance is a clean-room implementation of a GameMaker 8.1-compatible IDE and engine written in Rust. It supports visual editing, GML scripting, and cross-platform playback, including WebAssembly, by replicating legacy engine behaviors through black-box testing and specifications.
Instance is an open-source game development environment designed to support .gmk and .gm81 project files. The project provides a full IDE, including sprite, sound, and room editors, alongside a runtime capable of executing GML scripts and drag-and-drop actions. The author reports that the engine was built from scratch in Rust, with no existing engine code disassembled, decompiled, or copied. To ensure compatibility with legacy engine quirks—such as specific event ordering, random number generation, and audio latency—the author documented engine behaviors through black-box observation and wrote specifications. The code was then implemented from those specifications in Rust. The project utilizes instance-blackbox to maintain compatibility via black-box test projects. Development was assisted by Claude Opus 5.5, which the author credits in commit logs for co-authoring various components. While the core engine was developed rapidly, the author notes that significant time was dedicated to refining the implementation to match the specific, undocumented behaviors of the original engine. Instance supports Windows, macOS, and browser-based execution via WebAssembly. Linux support is currently limited, though the author notes it should be buildable from source.
From the source
Reproduce it
Install Rust via rustup, clone the repository, and run `cargo build --release`. Use `target/release/instance-ide` to launch the editor or `target/release/instance-runner` to execute a game file.
Community
Ask a question, share what worked, or follow the next milestone.