awesome-gamemaker
A curated list of awesome libraries, snippets, guides, and projects for GameMaker.
https://github.com/bytecauldron/awesome-gamemaker
Last synced: 10 days ago
JSON representation
-
3D
-
Recommendations
- ColMesh - 3D Collision Library from TheSnidr.
- BSP 4 GMS - Import BSP files into GameMaker. Currently just a demo but worth keeping an eye on.
- Camera3D - Simple 3D camera setup.
- Blender to GameMaker - A collection of scripts to export and import Blender models to and from GameMaker.
- Penguin - 3D model conversion tool.
- sPart - 3D Particle System from TheSnidr.
- Terrain Editor - Terrain editor. Exports to gm models, obj, or vertex buffers.
- Snowy Snow - 3D Snow Shader.
- 3D Fragment Point Lights - 3D point lights using shaders. 💸
- 3D GameMaker Playlist - DragoniteSpam. 
- 3D Collisions Playlist - DragoniteSpam. 
- 3D Optimization Playlist - DragoniteSpam. 
- ColMesh - 3D Collision Library from TheSnidr.
- 3D-2D - Official tool to turn 3D models into 2D sprites.
- BBMOD - 3D Rendering Solution. Comes with several modules to import obj, 3D camera setup, integration with ColMesh, and more.
- dotobj - Lightweight .obj/.mtl 3D model loader written in native GML.
- Bronze Box - Example of how to build 3D world models from a 2D grid.
- DmrVBM - Import/Export tools to load vertex buffer data out of Blender and into GMS.
- Three Mice In a Trench Coat - Source for a GameMaker 3D game.
- Cardboard - Isometric 3D Renderer.
- BBMOD - 3D Rendering Solution. Comes with several modules to import obj, 3D camera setup, integration with ColMesh, and more.
- DmrVBM - Import/Export tools to load vertex buffer data out of Blender and into GMS.
- BSP 4 GMS - Import BSP files into GameMaker. Currently just a demo but worth keeping an eye on.
- DopeFish Respawned - Extensive WAD manager to load DOOM maps in GameMaker.
- 3D GameMaker Playlist - DragoniteSpam. 
- 3D Collisions Playlist - DragoniteSpam. 
- 3D Optimization Playlist - DragoniteSpam. 
- glTF parser - A model loader with support for animations.
- ColMesh - 3D Collision Library from TheSnidr.
- sPart - 3D Particle System from TheSnidr.
- Collisions - 3D collision system that works with native GML.
- Bonk - Another cool collision library handling a majority of collision shape use-cases.
- GMFlux - Heightfield fluid simulation solver.
-
-
Async
-
Recommendations
- Coroutines - Asynchronous functions for GameMaker.
- Promises - An adaptation of JavaScript Promises.
- SimThreads - Simulated threads for GameMaker.
- MultiProcessing - A proof of concept for multiprocessing in GameMaker.
- GML Promise - Another JS-style promise library.
-
-
Audio
-
Recommendations
- Echo/Delay Effect - Optimized delay effect. 💸
- FML - GameMaker bindings for the FMOD Studio API.
- FMODGMS - This doesn't support everything FMOD has to offer and the project itself has been put on-hold.
- wavload - Demonstrates how to externally load .wav files.
- audioExt - Sound External Loader/Unloader Manager.
- ExternalAudio - Load external .wav files at runtime.
- Phonix - Compact audio system. Great for dynamic music!
- Vinyl - Live updating audio system.
- LineAudio - Audio helper functions.
- Bard - An engine for designing and implementing good audio in GameMaker. Updated to make use of the more recent GameMaker audio effects.
- GMEXT-FMOD - Official support for FMOD in GameMaker.
- ExternalAudio - Load external .wav files at runtime.
- Phonix - Compact audio system. Great for dynamic music!
- Echo/Delay Effect - Optimized delay effect. 💸
- SynthEngine - A fully-featured musical synthesizer for GameMaker.
- MusicTheoryLib - Convenient music theory utilities for GameMaker.
- WaveForm - Render audio wave forms from audio buffers in GameMaker.
- WaveWrite - Read and write WAV files in GameMaker.
- GMMidi - Read and write MIDI files in GameMaker.
- EZAFX - Instant preset audio effects for GameMaker.
- GMSync - Perfectly sync game elements to the rhythm of your music.
- MicVol - Easily monitor microphone volume in real time in GameMaker. 💸
-
-
Blogs
-
Recommendations
- RefresherTowel - Contains several posts on level generation.
- Tony Str - Some great articles on working with JSON, regular expressions *(regex)*, and drawing circles in GML.
- Katsaii - Some articles on more advanced GML topics.
- Meseta on Game Dev - Seasoned GameMaker dev's thoughts on GameMaker concepts and libraries.
- Tony Str - Some great articles on working with JSON, regular expressions *(regex)*, and drawing circles in GML.
- Thoughts On GameMaker - Not a traditional blog but has great info on different GML techniques.
- YellowAfterlife - Tutorials on intermediate/advanced topics.
-
-
Camera
-
Recommendations
- GameMaker Cameras: As Simple as Possible - Pixelated Pope's guide on GameMaker's camera system. 
- Camera System Guide - Getting started with cameras in GameMaker.
- Dynamic Splitscreen - Local multiplayer split screen implementation that merges the camera when players are close.
- Camera All-In-One - Editor, screenshake, view-resizing, follow modes, screen effects, etc. 💸
- Pixel Perfect Smooth Camera - An example of pixel-perfect yet smooth camera.
- STANNcam - Camera and resolution manager.
- REZOL - Complete resolution & screen manager (with split-screen support). 💸
-
-
Community
-
Recommendations
-
-
Data Manipulation
-
Recommendations
- GML-OOP - A constructor library for operating the primary functionalities of GameMaker.
- GML-Classes - Another project that adds OOP functionality to GameMaker.
- Map - Hash table implementations.
- Matrices - A collection of matrix handling scripts.
- gm-stream - Data structure manipulation.
- Destructors - Allows you to use ds_* types such as lists and maps inside of structs.
- SNAP - Easy data format saving and loading. Please note that newer versions of GameMaker contain `json_parse` and `json_stringify`. However, if you are converting csv, ini, xml, etc, you may find this very useful.
- LWO - Lightweight objects using structs.
- Lock And Key - String and file encryption.
- ForEach - Adds a foreach implementation for arrays, ds_lists, ds_maps, ds_stacks, ds_queues, ds_priorities and structs.
- DeepCopy - Deep clone class instances / constructed structs, anonymous structs and arrays nested in any order!
- Cottonwool - Safe surfaces without memory leaks.
- Airkiver - Game file archive tool.
- OKColor - An okay color manager for implementing OKLab/OKLCH colors.
- Exception - A base class for custom exceptions.
- ArrayList - The most complete list class. Garbage collected, fast sort function, [] accessor and referencing as an array.
- BSONGML - Save and load GML structured data in binary files, skirting memory and performance concerns associated with loading JSON as a string.
- Binder - A binary search library for efficient lookups on large datasets.
- Bit Buffers - Read and write buffers with per-bit granularity.
- sprite_add_gif - Dynamically load animated GIFs as sprites.
- Ngrams - Lightweight n-gram library for fuzzy search, predictive text or token sequence modeling.
- Managix - Async memory & resources manager (texture groups, audio groups, etc). 💸
-
-
Debugging
-
Recommendations
- DeerLog - Small log writer.
- FPS Speedometer - Pretty framerate display.
- rt-shell - Easy to use in-game shell. Create your own commands, command meta data, command suggestions, history, etc.
- Olympus - Testing Framework.
- Crispy - Unit testing in GameMaker.
- Snitch - Crash and logging system.
- gms2-test - Unit testing framework.
- Meta - Runtime asset inspector.
- Duck - A fast GML analyzer to enforce code styling and detect errors.
- Gobo - An opinionated code formatter for GML.
- Inspectron - A fluent API for easily creating GameMaker debug views.
- FPS Speedometer - Pretty framerate display.
- Gobo - An opinionated code formatter for GML.
- GMPulse - A runtime inspector and control panel. 💸
- Lookout - Helpful debug overlay views.
- Gobo (EttyKitty fork) - A bit less opinionated code formatter for GML, with more options and functionality.
- Gobo (EttyKitty fork) - A bit less opinionated code formatter for GML, with more options and functionality.
-
-
Footnotes
-
Recommendations
-
-
Getting Started
-
Recommendations
-
- GameMaker Manual
- GameMaker Release Notes
- GameMaker Marketplace
- Beginner GameMaker Tutorials - Tutorials from Shaun Spalding. A comprehensive introduction to basic features of the IDE. Highly recommended to check out the full playlist if you're a complete beginner. 
- Advanced GameMaker Tutorials - Tutorials from DragoniteSpam that dive into more advanced topics related to the GML language. They also have comprehensive 3D and shader introduction videos. 
- Beginner GameMaker Tutorials - Tutorials from Shaun Spalding. A comprehensive introduction to basic features of the IDE. Highly recommended to check out the full playlist if you're a complete beginner. 
- Advanced GameMaker Tutorials - Tutorials from DragoniteSpam that dive into more advanced topics related to the GML language. They also have comprehensive 3D and shader introduction videos. 
-
-
Input Handling
-
Recommendations
- XeroInput - Another library to handle multiple inputs for a single action.
- Native Cursors - System-level custom cursors. 💸
- Input - No nonsense gamepad/keyboard library.
- InputCandy - 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.
- Good Vibes - Device vibration.
- Mouse Queue - Tracks the Windows mouse pointer with high precision.
- Native Mouselock - System-level mouse locking. 💸
- Raw Input - Use multiple mice and keyboards. 💸
- Input - No nonsense gamepad/keyboard library.
-
-
Integrations
-
Recommendations
- NekoPresence - Oops, all Discord integration.
- DHook - Discord integration.
- GMS2_RPC - Another Discord integration.
- Steamworks.gml - Various expansions to Steamworks SDK support in GameMaker: Studio.
- Parworks - Additional functionality for the YYG Steamworks extension.
- GOG.gml - A native extension for GOG.com SDK support.
- GMTwitch - Twitch integration.
- GMS2_RPC - Another Discord integration.
- GMHook - We really like Discord integration.
- NekoPresence - Oops, all Discord integration.
- Github.gml - GitHub REST API
-
-
Levels
-
Recommendations
- LDtk to GMS - LDtk Importer.
- Wave Function Collapse - Generates a random tile map but not production ready in its current state.
- Draw A Dungeon - Converts your room layouts into a randomized dungeon.
- Cellular Automata Caves - Generates huge caves in a few hundred milliseconds.
- LDtkParser - Advanced LDtk Importer.
- Room Data Inspector - Collects room data and stores it into a JSON for later use.
- Random Dungeon Generator - Combines user-defined chambers to create a dungeon.
- Random Level Generator - A random level generation example (similar to Nuclear Throne) using GameMaker.
- Destructible Terrain - An example of collidable, destructible terrain in GameMaker Studio using surfaces and grids.
- GMRoomLoader - Streamlined room loading at runtime. Great for reusable room prefabs and procedural generation.
-
-
Lighting
-
Recommendations
- Lighting Systems - Very fast dynamic 2D lighting implementation from GrizzliusMaximus using shadow casting. 
- Bulb - 2D lighting and shadows.
- Lighting System 2D - Requires GameMaker 2.2+ according to the repo.
- GameMaker Lighting Engine - Tile-based Lighting Engine that projects shadows.
- Crystal - Complete and efficient 2D lighting & shadows solution. 💸
- Lighting Systems - Very fast dynamic 2D lighting implementation from GrizzliusMaximus using shadow casting. 
-
-
Localization
-
Recommendations
- polyglot - Localization library.
- gm-i18n - Internationalization of texts simply and quickly, using JSON files.
- Lexicon - Another localization solution focused on simplifying implementation.
- GMLocalize - Not a full localization solution. Extracts text strings for localization from a GameMaker Studio 2 project and saves it to a JSON file.
- Small Pentapop Localization Tool - Similar export tool to GMLocalize but exports to a csv.
- gms2-mofile - Mofile reader used for localization.
- cmnLoc - Localization library with a text extractor, short syntax, and ICU/pluralization support. 💸
- MythLoco - A localization system with a web-based strings editor.
- Krug's Localize System - A localization system with real-time Google Sheets API synchronization.
- MythLoco - A localization system with a web-based strings editor.
-
-
Native Extensions
-
Recommendations
- zlib functions - Simple compression/decompression functions.
- Window Taskbar - Windows only. Flash the game window border and/or its taskbar button.
- Extension Collection - A suite of various extensions.
- GMSDLL - A template project for building DLLs for GameMaker.
- gameframe - Custom window caption and border for Windows.
- GMD3D11 - A DLL for interfacing with Windows Direct3D.
- GM Sysinfo - Cross-platform extension for getting system information and resource usage.
- window_shape - Custom-shaped windows on Windows. 💸
- Windows' windows - Multiple windows on Windows. 💸
- winMenu - Native menus on Windows. 💸
- window_set_icon - Change window and/or taskbar icons on Windows.
- file_dropper - Accept drag-and-dropping files onto a game window on Windows.
- file_dragger - Drag-and-drop files *out* of the game window on Windows.
- Window Commands - Dispatch/intercept window controls like Minimize (and other window-related functions).
- wasm-bridge - A way to use JS extensions in GX/WASM games.
- Web Dynamic Textures - A dynamic texture page loading system for HTML5.
- GMWinBackdrop - Windows 11 backdrop materials.
- Video Player Extension - Play videos. However, the latest version of GMS has video support.
- GMESCAPI - Webcam capture.
- GMSDLL.rs - Example on how to make native DLL extensions in Rust.
-
-
Networking
-
Recommendations
- EZ Networking - Host/client implementation with a chat feature.
- GMHandshake - A Gist demonstrating a network handshake.
- Multiplayer Networking Tutorial - Wizirdi. 
- Good GameMaker Rollback - Rollback netcode library.
- Boomers Networking - Network library which mimics pre-GM:Studio favorite networking extension 39dll using GM native functions.
- Warp - A feature-rich framework for multiplayer games, written in GameMaker and Node.js.
-
Programming Languages
Categories
Useful Extras
39
Utilities
34
3D
33
Shaders
30
User Interface
29
Audio
22
Data Manipulation
22
Native Extensions
20
YouTube
17
Debugging
17
Networking
13
Tools
12
Integrations
11
Localization
10
Sprites
10
Physics
10
Levels
10
Getting Started
9
Input Handling
9
Timing
8
State Machines
7
Camera
7
Blogs
7
Pathing
6
Lighting
6
Async
5
Particles
5
Sprite Stacking
4
Community
3
Footnotes
3
Sequences
3
Sub Categories
Keywords
gamemaker
86
gamemaker-studio-2
67
gms2
45
gml
25
gamemaker-language
22
gamemaker-studio
19
gamemaker-studio-2-3
15
game-development
12
library
10
gamemakerstudio2
8
gms
8
gamemaker-projects
7
gamemakerstudio
6
game-maker-studio-2
5
3d
4
extension
4
gms1
4
example
4
framework
4
array
4
gml-raptor
3
shader
3
localization
3
alarms
3
pixel-art
3
networking
3
fmod-studio
2
struct
2
json
2
unit-testing
2
blender
2
blender-addon
2
game-animation
2
vertex-buffer
2
vertex-buffers
2
model
2
multiplayer
2
lighting
2
gamedev
2
game
2
javascript
2
tool
2
deep-copy
2
sound
2
shaders
2
audio
2
yyc
2
dialogue
2
i18n
2
api
2