GameMaker
Game engine.
Contents
Data Manipulation
A constructor library for operating the primary functionalities of GameMaker.
Another project that adds OOP functionality to GameMaker.
Allows you to use ds_* types such as lists and maps inside of structs.
Easy data format saving and loading. Please note that newer versions of GameMaker contain jsonparse and jsonstringify. However, if you are converting csv, ini, xml, etc, you may find this very useful.
Lightweight objects using structs.
String and file encryption.
Hash table implementations.
A collection of matrix handling scripts.
Data structure manipulation.
An adaptation of JavaScript Promises.
Adds a foreach implementation for arrays, dslists, dsmaps, dsstacks, dsqueues, ds_priorities and structs.
Deep clone class instances / constructed structs, anonymous structs and arrays nested in any order!
Safe surfaces without memory leaks.
Save and load GML structured data in binary files, skirting memory and performance concerns associated with loading JSON as a string.
A binary search library for efficient lookups on large datasets.
Game file archive tool.
An okay color manager for implementing OKLab/OKLCH colors.
A base class for custom exceptions.
The most complete list class. Garbage collected, fast sort function, [] accessor and referencing as an array.
Lightweight n-gram library for fuzzy search, predictive text or token sequence modeling.
Native Extensions
A template project for building DLLs for GameMaker.
Custom window caption and border for Windows.
A DLL for interfacing with Windows Direct3D.
Cross-platform extension for getting system information and resource usage.
Drag-and-drop files out of the game window on Windows.
A way to use JS extensions in GX/WASM games.
Example on how to make native DLL extensions in Rust.
Timing
Lightweight timestep library.
GameMaker alarm replacement.
Another easy alternative to GameMaker alarms.
Easy-to-use timer system.
Timer methods based on setTimeout and setInterval from JS.
A pure code alternative to GameMaker timelines.
Schedule and delay the execution of callbacks.
Utilities
Flexible Assistant Toolkit. Similar to gm-core but comes with input and resolution handling.
General purpose game editor.
A collection of Juju's libraries in one convenient project.
Another cool all-encompassing template with a focus on building low-res, tile-based games.
Event handling library.
Interpolation functions.
Asynchronous functions for GameMaker.
Dynamic data loader.
Simple deep file search function.
A collection of math scripts.
A collection of scripts to improve the GML programming experience.
A collection of CC0 programming libraries. (archived)
Additional GML helper functions. Some may be out of date with 2.3+ syntax.
Another great solution for surface management.
Functional programming in GML.
Automatically handles resizing the game view across different display and window sizes.
Highscore and trophy system.
Simple file saving system.
Cross-platform programming language for modding support.
Improves Catspeak performance.
A tool to benchmark GML code.
A proof of concept for multiprocessing.
Centralized and persistent live configs for seamless game tuning and balancing.
Organize your game's rendering into a customizable order.
Tools
Code editor to use in conjunction with GameMaker.
Compile GameMaker projects via the command line. Here's a great guide on how to use it.
High quality Vim syntax highlighting for GameMaker.
Runtime compiler and interpreter to load, compile, and execute GML code at runtime.
Debugging
Easy to use in-game shell. Create your own commands, command meta data, command suggestions, history, etc.
Testing Framework.
Unit testing in GameMaker.
Crash and logging system.
Unit testing framework.
Runtime asset inspector.
A fast GML analyzer to enforce code styling and detect errors.
An opinionated code formatter for GML.
A bit less opinionated code formatter for GML, with more options and functionality.
A fluent API for easily creating GameMaker debug views.
Helpful debug overlay views.
Input Handling
Similar to Input as it acts as a wrapper for SDL, with actions and signalling, but also provides testing, on-screen diagnostics, and some other UI components related to peripherals, as well as pre-built end-user configuration menus that can be easily restyled.
Device vibration.
Tracks the Windows mouse pointer with high precision.
User Interface
Efficient multi-effects text renderer.
Narrative scripting tool.
Simple textboxes.
An interactive dialogue editor for writers and programmers.
Notifications in GameMaker.
A UI system with live reloading, template system, data binding, and a drag and drop feature.
Simple immediate mode GUI framework.
A pure GML solution to structure and control your menus, drawing parallels to .NET UI.
Immediate mode GameMaker UI library, tons of UI components.
Surface-based GUI that allows 100% control over UI styling and functionality.
A Library Full of useful scripts for implementing your UI designs in GameMaker.
Common UI elements (text input, checkboxes, radio buttons, dialog boxes, etc).
Another interesting, Dear ImGui-inspired GUI toolkit. In development, but worth keeping an eye on.
Minimalistic UI framework.
Flexpanel system for modern, touch-friendly interfaces.
Localization
Localization library.
Internationalization of texts simply and quickly, using JSON files.
Another localization solution focused on simplifying implementation.
Not a full localization solution. Extracts text strings for localization from a GameMaker Studio 2 project and saves it to a JSON file.
Similar export tool to GMLocalize but exports to a csv.
Mofile reader used for localization.
Localization library with a text extractor, short syntax, and ICU/pluralization support.
A localization system with real-time Google Sheets API synchronization.
Physics
Sprites
A sprite playback system.
Placeholder asset generation.
A spriter skeletal animation at runtime.
Pixel art upscaling shader for awkward resolutions for GameMaker.
Similar to ASESync. Export Aesprite files to GameMaker sprites.
Texture page builder and image manager. Mimics GameMaker's texture page packing while offering higher flexibility.
Sprite animation manager.
Audio
Official support for FMOD in GameMaker.
GameMaker bindings for the FMOD Studio API.
Demonstrates how to externally load .wav files.
Sound External Loader/Unloader Manager.
Load external .wav files at runtime.
Live updating audio system.
Audio helper functions.
An engine for desiging and implementing good audio in GameMaker. Updated to make use of the more recent GameMaker audio effects.
A fully-featured musical synthesizer for GameMaker.
Convenient music theory utilities for GameMaker.
Render audio wave forms from audio buffers in GameMaker.
Read and write WAV files in GameMaker.
Read and write MIDI files in GameMaker.
Instant preset audio effects for GameMaker.
Perfectly sync game elements to the rhythm of your music.
Easily monitor microphone volume in real time in GameMaker.
Compact audio system. Great for dynamic music!
Convenient music theory utilities for GameMaker.
Render audio wave forms from audio buffers in GameMaker.
Read and write WAV files in GameMaker.
Read and write MIDI files in GameMaker.
Instant preset audio effects for GameMaker.
Perfectly sync game elements to the rhythm of your music.
Easily monitor microphone volume in real time in GameMaker.
Levels
Advanced LDtk Importer.
Collects room data and stores it into a JSON for later use.
Combines user-defined chambers to create a dungeon.
A random level generation example (similar to Nuclear Throne) using GameMaker.
An example of collidable, destructible terrain in GameMaker Studio using surfaces and grids.
Streamlined room loading at runtime. Great for reusable room prefabs and procedural generation.
Particles
A simplistic particle system wrapper that is designed to make creating particles fun and easy.
A library to create more complex particle emitters, systems and particles.
Built-in particle system that uses the particle asset built into the IDE.
Lighting
Shaders
Blur Shader with adjustable radius.
Extension of the 1PassBlur which provides a different look. Similar to a real lens blur. Although it's much slower than 1Pass or Dual-Kawase.
Blur Shader that limits radius but is very efficient.
Sampled pixels on a Voronoi diagram.
Some fun magic fireballs.
Outline shader.
Palette Swapper.
Include code from external files in your shaders.
Convert shadertoy.com shaders to run in GameMaker (GLSL ES).
3D
Official tool to turn 3D models into 2D sprites.
3D Rendering Solution. Comes with several modules to import obj, 3D camera setup, integration with ColMesh, and more.
Lightweight .obj/.mtl 3D model loader written in native GML.
Example of how to build 3D world models from a 2D grid.
Import/Export tools to load vertex buffer data out of Blender and into GMS.
Source for a GameMaker 3D game.
Another cool collision library handling a majority of collision shape use-cases.
Heightfield fluid simulation solver.
Networking
A feature-rich framework for multiplayer games, written in GameMaker and Node.js.
The network library from gm-core if you want to use this implementation without the entire gm-core suite.
Recieve GET requests and upload files in GML.
Socket.IO extension for HTML5 games.
Non-dll, multiple client launcher for network development.
Very simple network code demonstration.
Network library which mimics pre-GM:Studio favorite networking extension 39dll using GM native functions.
Integrations
Discord integration.
Another Discord integration.
We really like Discord integration.
Various expansions to Steamworks SDK support in GameMaker: Studio.
Additional functionality for the YYG Steamworks extension.
A native extension for GOG.com SDK support.
Twitch integration.
GitHub REST API
Camera
State Machines
Pathing
Useful Extras
Vertex-animated flag.
Bullet hell engine.
Accurate framework to make classic Sonic games.
A script to generate starfields in GameMaker's GML language.
Antialiased primitives library for GameMaker.
A dark theme for the IDE.
A retro groove theme for the IDE.
Fancy badges to add to your README files.
Automatically generate documentation sites from GameMaker projects.
Example of playing intrument notes by changing pitch, using only one audio file.
Scripts that are used by GM when importing GM:S 1.4 projects, taken directly from runtime files.
Simple example of a pause screen without using surfaces.
Subtitle support for video playback.