Monthly Archives: June 2019

Thinking about using raw XM files for music in Bolero 2 instead of going through the hassle of mixing them down to Ogg Vorbis.


  • Smaller file sizes (as long as the XM files are well-crafted), especially with longer tracks. You can make pretty long looping ambient tracks that would take up kilobytes as XM and megabytes as Ogg Vorbis.
  • Fewer build steps.
  • LÖVE 11 can apply echo and filtering effects to sound sources, I think those ought to work with XM playback as well (as from LÖVE’s perspective, it’s just another source).


  • libmodplug playback of XMs is a little different from MilkyTracker (at least, it seemed that way when I tested it a while ago).
  • There’s a small chance of the tracks breaking if LÖVE changes its XM playback library in the future.

I’m thinking of powering through the rest of Game Programming Patterns tonight, then leaving it on the shelf for future reference.

Found a screenshot map for the ZZT game Mask of Atlantis that I made back in 2018, adding it to my wiki now. I thought I may have deleted it by mistake… gah! The developers included their own hand-drawn map on the game’s Itch page, but it’s interesting to look at the real in-game boards. There is a section in the lower-right that is totally inaccessible without cheating, but is otherwise properly linked up to the rest of the cavern system.

That’s two more chapters of Game Programming Patterns down. The chapter on bytecode makes me think a lot of ZZT-OOP, maybe because it mentions Unreal as well. I often forget that ZZT’s “if this command isn’t doable, then do this thing instead” feature also applies to #TRY, which is the long version of ?<dir>. This line is valid ZZT-OOP for example:

#try e try w try n try s b

This object would try to go east, and if blocked, try west, and so on with north, and then south. If all directions are blocked, it will jump to a label called :b.

Alright that’s enough go to bed

Started draft for a devlog update on the 16th of June. Time to read some more from Game Programming Patterns.

CURRENT STATUS: Full of samosas oh god