An open API service indexing awesome lists of open source software.

awesome-gamemaker

A curated list of awesome libraries, snippets, guides, and projects for GameMaker.
https://github.com/bytecauldron/awesome-gamemaker

Last synced: 20 days ago
JSON representation

3D

Recommendations

  • 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 - Exports terrain to GM models, obj, or vertex buffers.
  • Snowy Snow - 3D Snow Shader.
  • 3D Fragment Point Lights - 3D point lights using shaders. 💸
  • ColMesh - 3D Collision Library from TheSnidr.
  • 3D-2D - Official tool to turn 3D models into 2D sprites.
  • 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.
  • Three Mice In a Trench Coat - Source for a GameMaker 3D game.
  • 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.
  • 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.
  • glTF parser - A model loader with support for animations.

Async

Recommendations

Audio

Recommendations

  • FML - GameMaker bindings for the FMOD Studio API.
  • wavload - Demonstrates how to externally load .wav files.
  • audioExt - Sound External Loader/Unloader Manager.
  • 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.
  • 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

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.
  • 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.
  • 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.
  • Ganary - Uses Olympus to perform regression tests.
  • gm-verrific - The ultimate automated testing framework.
  • Gobo (EttyKitty fork) - A bit less opinionated code formatter for GML, with more options and functionality.

Footnotes

Recommendations

Getting Started

Recommendations

Input Handling

Recommendations

  • XeroInput - Another library to handle multiple inputs for a single action.
  • Native Cursors - System-level custom cursors. 💸
  • 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.
  • InputTouch - Touch controls plugin for Input.

Integrations

Recommendations

  • NekoPresence - Oops, all Discord integration.
  • DHook - 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.
  • Github.gml - GitHub REST API.

Levels

Recommendations

Lighting

Recommendations

  • Bulb - 2D lighting and shadows.
  • 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.

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.
  • GMESCAPI - Webcam capture.
  • Video Player Extension - Play videos. However, the latest version of GMS has video support.
  • 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/WebAssembly games.
  • Web Dynamic Textures - A dynamic texture page loading system for HTML5.
  • GMWinBackdrop - Windows 11 backdrop materials.
  • GM-ExtensionGenerator - Official, schema-driven code generator for native extensions.
  • Rousr Release - Unmaintained projects from the Rousr team (in case anyone asks where OutsideTheBox/Dissonance went).
  • GMSDLL.rs - Example on how to make native DLL extensions in Rust.

Networking

Recommendations

Particles

Recommendations

  • Particle Editor - Create particles with an easy UI and export into GML code.
  • Advanced Particles - A particle implementation that comes with its own delta timing methods.
  • Particles Wrapper - A simplistic particle system wrapper that is designed to make creating particles fun and easy.
  • Pulse - A library to create more complex particle emitters, systems and particles.
  • Burrn - Built-in particle system that uses the particle asset built into the IDE.

Pathing

Recommendations

  • Aquila - A* Pathfinding implementation.
  • Grid-based Pathfinding Scripts - Flexible pathfinding system with 3 different algorithms.
  • Pathfinding in graph - Shortest pathfinding system in (weighted) graph, using Dijkstra algorithm.
  • A-Star-Pathing - Another A* pathfinding implementation.
  • PathPlus - Enhance GameMaker Paths with CatmullRom and Bezier Interpolations.
  • GMNav - High-performance, resumable navigation engine for GameMaker that handles grid, isometric, hex, and platformer maps with flow fields, dynamic costs, and multi-agent pathfinding.

Physics

Recommendations