Posted September 29, 2023 by madodev
There's absolutely no new content to show this week. So I wanted to dive a little deeper in what I did do during this time, and that's bugfixing (and some quality of life improvements). It gets rather technical, so if you're not into that, just read the Changelog at the end. But first let's get some housekeeping out of the way.
As mentioned last week, every progress report means that there's also a new version of the game on Patreon. This is either the version with the changes as described here for the top two tiers, or the version of a week prior for the lowest tier. Since the caverns part of the game is finished, the Parasite update (and these bugfixes) will also be available soon for everyone (next week or the week after that).
Additionally, there's also a new poll on the Patreon to prioritize which part of the roadmap will be covered next:
The last poll also (almost) concluded, and it seems that either the Alchemist or the Noble is going to be the next non-cursed class.
Finally, I also want to stress that the way Patreon works has changed (at least from some years ago). You don't get charged at the start of the month for an entire month, but instead your subscription lasts a month. Patreon itself explains it better, but the idea is that you aren't screwed if you subscribe at the 30th of September instead of waiting for October 1st.
It's well known that game code is messy. Especially code of indie games tends to be horrible. Below is the code Hollow Knight uses to assign the notch cost of a charm. If you're not a programmer, just know that there's better ways to do this.
But that's not really a problem. As you may know, Hollow Knight runs fine. Even the much laughed at if-else code of Alex Mahan (known from Yandere Simulator), doesn't have bad performance (the game has bad performance but not because of the if-else statements). What this is problematic for, is the maintainability of the code. As an example, look at this erodungeons code that decides whether saves are compatible.
It starts off simple. I want to get a release out the next day, and need to indicate that saves are no longer compatible. And then, a week later, that saves from that specific one are compatible. And so on, and so forth. And from this code bugs will naturally arise, perhaps a typo in the above, or a forgetfulness. Those are quick and easy fixes, but they don't last. Because the longer a game is under development, and the more features it has, the more these things build up, until it fully collapses in on itself. That's also why many Patreon games (and even "professional" games with a lot of DLC) start slowing down before ending completely.
Another example is the quirk "masturbation lover". It has an effect that replaces Masturbate by Masturbate+. This caused a minor issue, the Masturbation goals didn't trigger when using Masturbate+. No problem, I wrote a quick fix (because I wanted to get a release out that day).
This worked. Once. Because when the quirk "chronic masturbator" replaces Wait with Masturbate, it didn't replace it with Masturbate+. So in the end, I had to rework the system anyway. But now, it was more ingrained in the code, so harder to uproot. And this is the crux of the matter. The longer you wait with clearing bugs, the more systems are affected by them, and the harder it is to fix them. And having these bugs lingering about also means the features will slow down, since those are now built upon a brittle foundation.
That also means that there is no bug that's too small. I had an issue where a forced token didn't highlight when attacking. This is a very minor bug that didn't affect anything. However, fixing it showed that forced tokens weren't handled correctly, sometimes. Code is supposed to work perfectly, and if it doesn't, that means something is wrong, and you better fix it before it gets worse.
This is even more so with UI issues. There were quite some places were scrollbars were missing, or text could push an entire panel out of bounds. These are easy to fix if you catch them quickly. However, in a longer lasting project, where the UI was built around these scrollbars not existing, it could've spelled disaster.
In short, there's a reason those bugs had to be tackled. Killing them quickly, before they spread was certainly worth a week.
Quality of Life issues are similar to bugs in many ways. The longer you wait the harder they become to add. Here I primarily added sorting functions to both the guild inventory and the adventurer list. As well as some extra features in the Mental Ward.
Minor:
Bugfixes: