I wrote a bunch of PRNGs for GameMaker!
This is a large-ish post about what these are, how they work, when you might want to use them, and performance comparisons.
Continue reading⚂ Tell your friends!
I wrote a bunch of PRNGs for GameMaker!
This is a large-ish post about what these are, how they work, when you might want to use them, and performance comparisons.
Continue readingGood for placing objects around a grid cell! Like this:
(click to interact)Click/tap to select point
You give the function a grid XY and it tells you where the next point should be to have it go in a spiral.
Continue readingThis is a post about turning this
into this:
(click to interact)Click/drag to adjust %
Continue reading
Default appearance and after tweaking
Lately I've been setting up some software in Steam Deck's desktop mode and I couldn't help but to notice that some applications (like Vivaldi or Obsidian) don't quite fit with the rest of the windows.
Continue readingAs in, to have the browser clear cookies on exit except for specific websites.
In a way this is also for myself as once in a while I look for the setting in a wrong place and a handful of outdated forum posts aren't helping.
Continue reading
Have you ever been working on procedural generation, deterministic netcode, or anything else where the order of operations is important?
This is a post about how to debug order of execution for random number generation functions or built-in functions in general.
Continue reading
This is a post about how to call a function from a parent constructor in a same-named function in a child constructor and how static
works in GameMaker Language in general.
Ever find yourself thinking "I wish I could quickly print the contents of this byte buffer somewhere"?
Continue reading
Have you ever wanted to automatically show file+line in your debug output so that you don't have to guess which of three places did a line reading "oh no" come out?
Continue readingGameMaker Language currently doesn't have closures.
It might in GMRT (proposal), but for now you cannot do something like this
function get_enemies_below_hp(_enemies, _threshold) { return array_filter(_enemies, function(_enemy) { return _enemy.hp < _threshold; }); }
because _threshold
is not visible inside the inner function.
But there are some ways around that.
Continue reading