Task Blog

Daily task status updates. A Bloglet For My Other Blog. A Blog's Blog.

NOTE: This used to be a WordPress blog for small project updates. I only used it for a few months in 2019. I grew tired of managing multiple WordPress instances, so I converted it to a set of static pages in 2021.

[About] [1] [2] [3] [4] [5]


July 2, 2019

Ever since I got animations working in LÖVE, the sprite animation states have been coupled to actors. I’ve finally moved that junk to another structure, so other parts of the engine (namely UI widgets) can make use of sprite animations in a uniform manner, without requiring an associated “actor” game object.

I’ve been looking at GUI toolkit options for Lua. Most of them either haven’t been updated in a while, or require building from source on Linux. LÖVE has a few 3rd party solutions, but they do not circumvent the framework’s write path limitation, which is the motivation for me looking at toolkits. I did however notice that Python’s Tkinter library has been installed the whole time, and a simple Hello-World program is working. I also found a form editor, PyGubu, for designing Tkinter GUIs. So I guess that’s an option.

More in-game widget work… the work that is never, ever over. Once I’m able to invoke new menus and return to previous ones, I think things should be in a better state. As I mentioned above, there are 3rd party solutions, but I’m stubborn.

Edited the packaging script further to include the version number, release platform / target and project name into .txt files.

Sometimes I revisit a snapshot of the engine in its prototype phase (predating all the Hibernator stuff.) While there’s so much more to get done, I’ve really come a long ways. I admit that the technical decisions I’ve made slowed down my output substantially. It’s been a good experience, though.



June 27, 2019

Added optional cropping (love.graphics.setScissor()) for drawing sub-widgets. When enabled, Text or other elements that are outside of the parent widget’s bounding box are only drawn up to its boundaries. This gets applied recursively to subwidgets.

This was a simple thing to implement, so I have no idea why it took so long to get the correct crop assignments down. Gah.



June 27, 2019

Installed Turbo Pascal in DOSBox.

Help



June 26, 2019

I spent entirely too much time today rewriting backup scripts. They were in need of updating, and it’s important to keep proper backups, but I feel like I got nothing substantial done.

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.



June 25, 2019

I rewrote the publishing / packaging script tonight. It was originally a shell script with a bunch of copy-pasted lines for each target. Now it’s a Python script broken up into a couple of functions and a list of target objects / structures that it iterates through. Overall this is a step in the right direction.

Summary:

I currently have three targets:

Eventually, I also need to support Linux (I guess via AppImage or Flatpak, but haven’t really dug into it) and MacOS. In the meantime, if users on those platforms are interested in trying the game, I point them to “love-file”, along with downloading a matching version of LÖVE from love2d.org. I intend to update all of my LÖVE games whenever there is a new release of the framework, though I guess it depends on how big the changes are.



June 24, 2019

Rewrote the build script that handles spritesheet alpha transparency and exporting Tiled maps. Build times were creeping up to 3 seconds with only seven spritesheets or so. The new script is mostly Python, and checks the last-modified timestamps of files before it attempts to process them.

This is something I wanted to do earlier, and felt was going to bite me in the ass very soon, but I couldn’t figure out how to do it in a Bash script while also trying to get Hibernator out the door.

I also made a stew. Good day overall.



June 21, 2019

I’ve been drawing sprite and background mock ups, trying to keep things light and humorous. Wrote about 30 seconds of XM music just to see if I was capable of whipping up some upbeat tunes quickly, but it’s not coming naturally.

I’ve got a sort of anthropomorphic egg character that I’m liking, and I think it may end up being the protagonist for Bolero 2. Something along the lines of Humpty Dumpty, or the Codemasters Dizzy character, with an unreadable expression. For Bolero 2 in general, I think I want a 5-7 stage linear action game, with no real surprises or “twists”. Something to help round out the underlying engine, without pushing it beyond what it’s capable of, and which I can enjoy making content for and tweaking and playtesting.



June 19, 2019

Cleaning up the rat’s nest that is my widget definition source file (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).

Need to keep chipping away and fixing up messy things that I marked as “leave this, it’s OK for just this one game” on Hibernator.



June 19, 2019

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, though I’m less decided about that. The former is cute, and makes for nicely shaped little goofball characters, but it’s really difficult to get them looking right at times 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 the object.



June 18, 2019

Fixed the issue causing Bolero 2’s startup to fail.

Though I have a better idea of what to do with the sound manager, I’m not sure it’s a good idea to work on it while the main test area is so sparse. Will come back to it after I get some more actor objects doing things.






[About] [1] [2] [3] [4] [5]