Awesome GameMaker

A curated list of awesome libraries, snippets, guides, and projects for GameMaker. 😎
GameMaker is a user-friendly, cross-platform game engine by YoYo Games that allows both beginner and advanced game developers to create 2D and 3D games for desktop, HTML5, and console platforms.
What kind of games can you make in GameMaker? Check out this list.
Contents
- Getting Started
- Data Manipulation
- Native Extensions
- Timing
- Utilities
- Tools
- Debugging
- Input Handling
- User Interface
- Localization
- Physics
- Sprites
- Audio
- Levels
- Particles
- Lighting
- Shaders
- 3D
- Sprite Stacking
- Networking
- Integrations
- Camera
- Sequences
- State Machines
- Pathing
- Useful Extras
- Blogs
- YouTube
- Community
- Special Thanks
Getting Started
- 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.

Recommendations
- If you already have programming experience, learn the GameMaker Language (GML) instead of the Visual (Drag and Drop) feature.
- For pixel art, Aseprite is a popular alternative to the native sprite editor. 💸
- Aseprite's source code can be compiled for free.
- Don't be afraid to use other developer libraries. A lot of them are free for a reason. Just be mindful of the license.
- Updates to the IDE and runtime can break your game (like syntax changes to GML). If you are working in a group, make sure you are running on the same version of GMS and only update when given a fair warning. You can reinstall previous versions of your IDE at the GMS download page.
- Unless your game requires complex physics interactions, it's generally advised to avoid GameMaker's built-in physics system.
- Schedule routine backups for projects. If you are dealing with larger media files in your repo, try Git LFS.
Data Manipulation
This includes data structures and file formats that do not fit into a more specific category.
- GML-OOP - A constructor library for operating the primary functionalities of GameMaker.
- GML-Classes - Another project that adds OOP functionality to GameMaker.
- 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_parseandjson_stringify. However, if you are converting csv, ini, xml, etc, you may find this very useful.
