OpenGMK is a modern rewrite of the proprietary GameMaker Classic engines, providing a comprehensive sourceport of the runner, a decompiler, a tool-assisted speedrunning (TASing) framework, and libraries for working with game data. This ambitious project is actively developed, with new features and updates being added regularly.
OpenGMK aims to faithfully recreate and enhance the GameMaker Classic experience. The project includes:
To build OpenGMK, follow these steps:
Clone the repository with submodules:
git clone --recurse-submodules https://github.com/OpenGMK/OpenGMK.git
Initialize submodules if you cloned without the --recurse-submodules
flag:
git submodule update --init --recursive
Ensure you have a compatible Rust toolchain (minimum version 1.59). Install Rust via rustup or a package manager.
Build the project in release mode:
cd path/to/repo-folder
cargo build --release
For 64-bit Windows, if you need to run games requiring 32-bit DLLs, you'll need to build the WoW64 server:
Add the 32-bit target:
rustup target add i686-pc-windows-msvc
Build the WoW64 server:
cd path/to/repo-folder/gm8emulator-wow64
cargo build --target=i686-pc-windows-msvc --release
To run a game, simply pass the path to the game's executable:
gm8emulator path/to/game.exe
To record a TAS, pass a project name with the -n
option:
gm8emulator path/to/game.exe -n project-name
Export and recreate save files using:
gm8emulator path/to/game.exe -l -f path/to/save#.gmtas -o path/to/save#.bin
GameMaker is a game development engine originally created by Mark Overmars and later developed by YoYo Games. GameMaker 8 (GM8) was the last of the numbered releases before the introduction of GameMaker: Studio. Despite the newer versions, many developers and enthusiasts still prefer the classic versions for their simplicity and unique features.
OpenGMK started as GM8Emulator, a project aimed at accurately playing GameMaker Classic games. The development included writing a decompiler to extract assets, leading to the creation of GM8Decompiler. Eventually, these tools and more were unified under the OpenGMK project, reflecting its broader scope and goals.
OpenGMK is licensed under the GNU GPL v2, and is not affiliated with GameMakerâ„¢ or YoYo Games Ltd.
Explore OpenGMK and contribute to the development of this modern, open-source reimagining of a classic game development platform.