“Housecleaning” on the game continues on. As everything in the game is interconnected, each time I pull on one thread, it unravels more than I anticipated and I end up with more to fix than I started with.
In this case, part of the addition of the wardrobe menu is showing the player the PC in the new outfit they’ve selected. There were already a number of scenes for doing this, but they were coded to show up only in the mornings. I’ve had to revise this to make these show up when the player has chosen to switch clothes. (And this is why I needed to know what clothing type was needed by the following scene, requiring the previous update to the event picker code.)
Well, the next challenge that lead to was the code that handles assembling the CGs of the player avatar. This already needed updating, as there’s a bug that prevents the hair from updating properly, and some instances of calls to the code in the game lead to error screens because of missing images.
Since I’m trying to fix some foundational stuff, I figured I would try some revisions to the avatar system as well. For those of you who want more of the details on that, check out my latest behind the scenes post for backers (Here for Patreon users, and here for SubscribeStar users).
I wasn’t able to accomplish everything I was hoping for, but the important thing is that after pulling everything apart, I was able to slap it all back together again with some notable improvements.
Biggest thing for end-users is that I’ve switched it to use WEBP instead of JPG and PNG. (I’d already switched out the NPC sprites and haven’t received any complaints about the quality, so I figured it was safe to do this with the avatar images as well.) For one mirror image alone, this reduces the file size by 75%, so that should greatly help prevent the download sizes from getting out of control.
I’ve also made efforts to help Ren’Py with image prediction. The idea here is that Ren’PY will attempt to load image files in the background while you’re reading, rather than lagging the game whenever you get to a mirror scene. I’m not entirely sure how successful I was here (and I notice tremendous lag even on a desktop system when trying to rollback through one of these images), but I’m hoping this will result in a bit of an improvement for people on Android or weaker systems.
One last thing I want to try tackling is that I believe I know how to make the save file updater code run whenever you load a saved game. This should be a much better way to prevent bugs, since I can initialize missing variables immediately, rather than between scenes. I think this will be quick and easy to update…
Anyway, I’m hoping I can patch up the rest of what I’ve been working on with the backend and start adding content that takes advantage of all the groundwork I’ve laid. Wish me luck!