Compact update feed
My “links” page now has a chronological list of updates/releases with short descriptions!
Here you can also spot that blog posts / extension updates often come in short bursts, which usually means that I didn’t have electricity for something like 20 hours straight and switched to doing writing/sketches on a tablet instead
Most of this post was also written on a similar occasion, though right now things have stabilized a little? That usually means that missiles are being stockpiled for a big attack though.
Anyway,
GameMaker works
There are a few bigger things and a bunch of small ones
winMenu
My menu extension is now released! It lets you do native (Windows) menu bars, popup menus, and add new items/sub-menus to the window’s system menu.
In doing so I also discovered a few things about how menus on Windows work - for example, there's no limit for menu icon sizes:
Windows’ Windows
I made an extension that lets you have multiple windows in a game! This can be used for various tricks and mechanics.
As I have already stepped on a variety of rakes in my past works, you also get custom window shapes with these:
I’m excited to see what people will do with this one.
Web Dynamic Textures
I made an extension that replaces the textures in web builds by "fallbacks" (empty, silhouettes, or just lossy) and then you can load the "real" textures when you need them.
This is an all-around convenience if you are making web games in GameMaker.
Smaller things
Oh man,
I made Room Shifter, a tool that can expand GameMaker (LTS/2022+) rooms in any direction(s) and not just towards bottom/right.
This is the kind of thing that’s a huge deal if you need it.The web GUI tool of my localization extension now accepts folders, which makes it about as convenient as the CLI tool. Browser support for file dialogues and interactions has improved by a lot in the past years!
I wrote a post about my Windows-specific extensions, how to compile them, and so on.
I re-wrote my old “homing missiles” tutorial to have separate snippets for different GameMaker versions. Thanks to fairly small additions to GML’s standard function library, it’s been reduced to just a few lines of code!
I wrote a post about DIY closures (binding values to a context) in GML.
The approach is convenient for filtering arrays, working with structs, and alike.I wrote a post about making a trace(…) function with position information.
This too is a refresh of my older post as additions to GML make it possible to have functions that are fast and convenient.I wrote a post about method overriding in GML.
Here I also explain how thestatic
keyword works in different situations.I wrote a post about debugging random generation in GML.
It also explains how to “hook” the built-in functions to make debugging tools in general.I re-created a 2010 (!) extension for playing pxtone music.
That’s the format used in Cave Story! More work is required to make it compatible with latest GM versions though.My extension for drag-and-drop-ing files onto the game window now has more events for telling apart what’s getting dragged in.
Not the best event names if we’re being honest, but I didn’t foresee adding more to it… twice.
Game work
Shovel Knight Pocket Dungeon
The modding update for SKPD went live in August, and the online multiplayer update is currently in preview.
I wrote the underlying systems for both of these as well as the multiplayer’s initial implementation, and Nick has been doing most of the debugging, user-facing modding APIs, and the example mods.
Nuclear Throne
It would be good to roll out a stable version with 60fps and widescreen options sooner than later, so I’ve been slowly migrating the game to a current GameMaker version.
Unfortunately, there are no amusing oddities this time around - just mundane issues like the game re-pausing itself because the object event changed or being occasionally too loud because the game’s odd choice of 3d audio setup is no longer forgiven in the new update.
Since the new IDE insists on re-ordering resource indxes anyway (which might break a few mods, but hopefully not), I’m taking this opportunity to clear out some of the unused resources in the project, like the menu buttons from the previous menu design and MenuOLDOLD, the long-defunct menu from the original jam version of the game.
Ghost Croquet
We released a small update that adds a Spanish localization by Coqito5!
It currently also serves as a showcase for non-monospace fonts in the game, which was more work than you might think.
Other games
As you can see from the GameMaker section, I’ve been doing small bits of work on a bunch of projects lately. There’ll be more to see in the near future.
I’m also helping with netcode on a few games! Mostly doing the underlying systems and helping the teams tie it together. Hopefully you’ll hear about these next year.
And that’s about it! Thanks for reading, and happy holidays if you celebrate!