Project Bolero Devlog 21

Nested widget bodies. The deepest body contains a formatted text widget, which is cropped to only appear within the boundaries of its parent. Also, screen tearing.

Work Since Last Devlog

  • So, the plan to make a working prototype stage this week didn’t pan out. I sunk a fair amount of time into things that are adjacent to the game:
    • Rewrote Bolero’s build and package scripts
    • Updated the backup scripts for my own workstation
    • Installed LDoc to help document the codebase, and spent a few hours adding LDoc comments for the engine’s core functions. I’m still learning the syntax — this is the first time I’ve used something like this — but it’s already been worth it to have every module and function described plainly, in a cross-referenced HTML format.
    • I also broke my local MediaWiki installation along the way 🙁
  • For widgets, I added an option to crop sub-widgets using love.graphics.setScissor(). When enabled, child widgets that are outside of the parent widget’s bounding box are only drawn up to the parent’s boundaries. This gets applied recursively, such that the cropping rectangle can get smaller but never larger than the original parent’s bounding box.

Thoughts

I looked at the mock up art on my phone, and the colors are quite different from how they look on my TN LCD monitor. I’ve tried to correct it, but the full range of RGB color just isn’t there. I guess I’ll have to look at getting it replaced with something more accurate, or do color correction on a more reliable screen near the end of development.

I was briefly distracted by exploring the Turbo Pascal IDE under DOSBox, but I think I’m back on track now. I think. I’m also helping my dad put together a PC, reusing a lot of old parts I have lying around.

I had a conversation with a friend about LÖVE’s filesystem writing limitations in the context of making tools, and ways of working around them. Maybe using a GUI toolkit for making single-purpose resource editors (animation etc) wouldn’t be a bad idea. Looks like there are some options that support Lua code, and maybe I could share Lua functions between the LÖVE game engine and these little tools.

Bookmarking some links on how to use the new queueable sound Sources in LÖVE 11. I’m interested in using them for simple sound effects generation.

  • A simple sine wave generator example from one of the developers, here.
  • Forum post about queueing one Source after another
  • There’s also an impressive-looking tracker module player, but I don’t quite understand how it works at a glance. The MOD loader code is an interesting read.
  • A few years ago, someone ported SFXR to Lua, but I’m not sure if the module works with LÖVE 11.2 out of the box. While organizing files, I came across an old Windows executable of SFXR, and was really happy to find that it works perfectly through Wine. It’s a great little tool for synthesizing game sounds.

 

Plans For Next Post

  • Look at cross-platform Lua GUI toolkits
  • Do more work on in-game menu / UI widgets in LÖVE

Leave a Comment