Project Bolero Devlog 24

Just hanging out behind a waterfall. Just standing and being cool, next to Building.

Work Since Last Devlog

  • Faux Amis (ZZT):
    • Release 1.02 (Itch, Museum of ZZT). Fixed a few issues:
      • Stop potential soft-lock just before the ending.
      • Mitigate potential soft-lock on the headstone block puzzle.
      • Fixed a non-fatal problem with the Protocol puzzle resetting its state. Thanks to KKairos for finding and reporting this.
  •  Hibernator:
    • Release 1.03a (Itch). Found and fixed a bug where the ending graphics sometimes appear dimmed, or don’t show up at all. I’ve kept the version string at v1.03 internally, so that save files and configuration (in which nothing has really changed) remain visible to v1.03a. For future games, I’ll use separate version strings for config / save file compatibility.
  • Bolero 2:
    • Platformer movement is back in, not fully cleaned up, but the player and walking / jumping / ducking animations look correct from an end-user perspective.
    • Rewrote animation functions and structures to support variable dimensions, playback speed, and XY offsets on a per-frame basis.
    • Made some progress on the cell / tile / terrain definition mix-up that I inherited from Hibernator (a self-inflicted wound, to be clear). I’m following this convention now:
      • cells are the raw integer values taken from map data. On their own, they map to whichever tileset is associated with the map, left-to-right, top-to-bottom. Within Lua and LÖVE, they are one-indexed, and everywhere else (Tiled, GraphicsGale), they are zero-indexed.
      • Tilesets contain a sparse array of tile_defs, which represent additional handling info for a tile, including what kind of terrain it’s supposed to be, plus the animation info I threw in earlier.
      • terrain_defs are tables of key-value pairs that describe how higher-level game logic should treat a particular tile, such as if it’s intended to be an impassable obstacle.
    • While doing the above, I also separated the tileset, tile_def and terrain_def code from the gfx and map source files, as it was all blending together and becoming very difficult to troubleshoot and make changes to. I also moved all collision detection code out of the map source file, and into a separate project-level file. I’m happy that I’ve finally untangled this stuff, at least enough so that these things can reside in their own source files.

 

Thoughts

This will likely be the last update for Faux Amis. It’s over a year old, and people who play ZZT do so with the understanding that things can and will break. Time to move on.

Of course, about a minute after uploading 1.02 to the Museum of ZZT, I realized I didn’t update the version string in the text file. Oops.

Hibernator is a prototype, and I didn’t have plans to patch it beyond crash mitigation and usability issues. The ending graphics not appearing is a pretty embarrassing problem, though! This has been a good learning experience, especially regarding the save and config files.

If you saw the post I made last week and noticed the weird green tiles everywhere in the screenshot, those were a stand-in cell for the collision detection function, until I could get tile-to-terrain mapping working.

 

Plans For Next Post
  • I’m not even sure right now. It seems like for the past couple of weeks I’ve put a next-action bullet point or two in this section, and then ended up doing something totally different. Nonetheless it’s been a productive week, so I guess just keep chipping away at it?