A cross-platform scripting language and compiler back-end for adding sandboxed modding support to GameMaker games.
Catspeak is a cross-platform scripting language and compiler back-end specifically designed for GameMaker games. It allows developers to add safe modding support by compiling and executing user-provided code within a sandboxed environment that prevents unauthorized access to game functions. The language provides seamless interoperability with GML while offering security features like infinite loop detection and controlled function exposure.
GameMaker developers who want to add modding capabilities to their games without compromising security or performance. It's particularly useful for indie game developers creating games that would benefit from community-created content.
Developers choose Catspeak because it provides a secure, performant alternative to GameMaker's deprecated execute_string function, with full sandboxing, cross-platform compatibility, and a familiar syntax that integrates smoothly with existing GML codebases.
A cross-platform modding language for GameMaker games.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Modders cannot access game functions unless explicitly exposed, preventing malicious code execution as shown in the README where unauthorized calls like game_end() throw errors.
Allows calling GML from Catspeak and vice versa with familiar JavaScript-like syntax, making integration with existing GameMaker codebases straightforward and reducing learning curves.
Implemented entirely in GML with no external dependencies, ensuring mods work on all GameMaker targets like Windows VM, YYC, HTML5, and GMRT as tested.
Detects and halts infinite loops and recursion in mod code, preventing game freezes from faulty user scripts, a key safety feature highlighted in the features section.
The README admits Catspeak code is on average 5x slower than pure GML, which can be a bottleneck for games requiring high-performance scripting or real-time operations.
Catspeak is designed exclusively for GameMaker projects, making it unusable outside this ecosystem and limiting portability if you switch engines or target non-GameMaker platforms.
Modders must learn Catspeak's custom syntax, and there's no broad community tooling or libraries compared to more established scripting languages like Lua, potentially reducing mod adoption.