You might know me from my commerical work but I spend my free time making libraries to help developers.
GML is something of a quirky language and has led me to evolve particular techniques to establish a personal "best practice". You can read some of my thoughts on the nuances of developing in GameMaker here.
Scribble Deluxe Powerful, fully featured text renderer Optimised for dynamic effects and dialogue |
Input Comprehensive cross-platform input Now maintained by offalynne |
||
Scribble Jr. Fast and lightweight text renderer Optimised for UI text and performance |
Vinyl Live updating modular audio system |
||
SNAP Struct and array export/import and utilities |
Chatterbox Narrative scripting tool |
||
Dynamo Dynamic data loading |
Snitch Logging and crash handling system |
||
iota Miniature fixed timestep library |
Bulb 2D lighting and shadows |
||
Texan Texture group manager |
DoLatercall_later but with arguments |
||
Clean Shapes Antialiased primitive drawing |
db Simple savedata database |
Other stuff you might like too:
dotobj Comprehensive .obj importer |
PRNG PRNG functions |
Elephant Advanced struct/array serialization |
Coroutines Asynchronous functions for GameMaker |
Shockwaves Shader-based ripple distortion |
Kawase Blur Kawase dual filter blur |
LUT Commonly used for colour grading |
A Message from Amalthea Procedural audio toy |
Quaternions Simple quaternion library |
Matrices Matrix manipulation functions |
Sphinx Simple encryption |
HMAC-Secured Savedata Featured on the YoYoGames tech blog |
Unity Analytics Unity Analytics implementation |
Google Analytics Google's Measurement Protocol v4 |
gl_FragDepth How to enable gl_FragDepth in GLSL ES |
BIG Integers Big integer handling |
Extending JSON Experimental JSON-like data formats |
Splat Vertex buffer-based sprite caching |