Use #macro for values that never change. These are replaced at compile time, saving memory.

They live in the Script Editor with a dark theme. They write functions that don't need return types. They use with(obj_enemy) to make all enemies scream at once. They discover structs and realize, "Oh. It's actually JavaScript now."

If you're new to GML, here's a brief primer on the language's syntax and basics:

For dynamic lighting, screenshake, or CRT effects.

GameMaker Studio 2 GML is the perfect language for indie developers. It strips away the boilerplate of C++ while retaining the logical rigor of traditional programming.