Project Bolero Devlog 20

Work Since Last Devlog

  • Fixed the issue causing Bolero 2’s startup to fail.
  • Increased Bolero 2’s resolution from 384×216 to the more common 480×270. (Both can be scaled up to 1920×1080.) I also increased the base tile resolution from 12×12 to 16×16. 12×12 is cute, and makes for nicely shaped little goofball characters, but sometimes it’s really difficult to get details looking right due to the low resolution. It’s somewhere between the world of 8×8, where anything you draw will look about as equally good as anything else, and the land of 16×16, where changing one pixel can throw off the rest of an object. Then, above 16×16, things start to get easier. Beyond 32×32, the process begins to feel more like drawing.

    • (Ideally, there shouldn’t be a hardcoded resolution in the engine core at all, but I’m probably going to hold off on changing that until this project is completed.)
  • Cleaning up the rat’s nest that is my widget definition source file, which is pretty much just used for the pause menu at this point. The “add widget” function’s argument list was getting ridiculously long and cryptic, so I changed it to take a Lua table with the arguments instead. I also made functions for each kind of item to be added (non-interactive label, command, checkbox, slider, etc).
  • Sketched out some ideas for the game that Bolero 2 is going to host. I’ve got a sort of anthropomorphic egg character that I’m liking. Something along the lines of Humpty Dumpty, or the Codemasters Dizzy character, with a stonefaced expression. I think I want a 5-to-7 stage linear action game, with no real surprises or twists. Something to help round out the underlying engine, without asking for more than it’s capable of, and for which I can enjoy tweaking and playtesting and making content.
  • I’m about halfway through rewriting the build scripts that prepare graphics and maps before doing test runs. The original is a bash shell script, and calls a Python file to apply alpha transparency to spritesheets and pixel fonts. It then calls Tiled in batch mode to bulk-export maps from TMX format to .lua source code. In the new script, the bulk of the work happens in Python, and timestamps are checked to skip over files that haven’t changed. Hibernator had only one spritesheet, so this wasn’t a problem at the time. I have seven sheets currently (mostly empty but each assigned to a particular creature), and the build / prep time is already up past three seconds. Better to fix this now before it becomes an ever-increasing problem.



I’m holding off on rewriting the audio subsystem until I have more substance to the game. Source:clone seems like the way to go.

Here are some mock ups (subject to change, of course.) I have a really old TN LCD monitor, so the colors and saturation might be a bit off.

Lastly, here is a pic of Bolero 2 with some of these graphics and animations plugged in. There is no platforming or collision-checking code, as I tore it all out with the intent of redoing it. Nonetheless, it’s a great feeling to have things like tilemaps, scrolling and animation already working and ready to go.


Plans For Next Post

  • I’m going to try and build a prototype stage with the code and assets that I have (just enough to test out ideas and improve subsystems.)