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:
Initialize submodules if you cloned without the --recurse-submodules
flag:
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:
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:
Build the WoW64 server:
To run a game, simply pass the path to the game's executable:
To record a TAS, pass a project name with the -n
option:
Export and recreate save files using:
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.