




🌟 Special thanks to our amazing supporters:
✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Benedikt][David Martínez Martí]
So uh, sorry about that everyone! I managed to create a new bug in 1.1.05, so a fix went into 1.1.06, but then another bug was reported the next day which warranted the release of 1.1.07. Now that those are sorted, Im back on feature work, but I wanted to talk a bit about what happened and why.
So you may remember my long explanation of the color bug fixed by 1.1.05, and maybe you thought, wow, this guy went into a lot of detail about this bug, he seems to know what hes doing. It turns out, nope. While fixing the problem, I decided to go ahead and write some code to manually write out the color, rather than relying on the default serialization. I still think this was a good call, as relying on the default was the cause of the comma/period bug, but as I was writing it the autocomplete spat out what looked like the thing I was trying to type. So I went ahead and finished the line & moved on. (This was mistake #1.)
Publishing software to actual people should involve a decent amount of testing to prevent bugs from reaching them. Ideally, its one part of the swiss cheese model we all got to learn about in 2020. For major releases, that is the case not only do I run through a full playthrough or two, but Bea McCullagh also does some substantial testing thats why shes on the credits. For this one though, because I was in such a hurry to get a glaring bug fixed, I didnt do enough testing (and I was the only one testing it). I made sure that loading saves with the white hair and trains fixed the colors, and saving the game seemed to work without crashing, but I forgot to verify that these new saves could then be loaded again. (Mistake #2) That is kind of the definition of a working save: its kind of pointless if it cant be loaded again. But this was a last minute oh, I should fix this too change, so it didnt fall on my radar as something to test.
So what was the problem? I forgot the alpha channel when storing colors. Or specifically, the autocomplete forgot it, and I didnt notice. This autocomplete is IntelliCode, which I made the dumb mistake of just assuming was just rebranded IntelliSense or something, just some sort of fancy autocomplete. (To be fair, that does describe all LLMs, but still.) But even though its not Copilot, it calls itself some sort of AI feature, so I finally went diving through the mess of settings to disable all of it. Apparently Im not enough of an anti-AI zealot.
Anyway, without the alpha channel, the code that loads the colors throws an exception, which stops the loading, which prevents the Loading panel from going away. I still generally think this is generally correct behavior, otherwise you could load a corrupt save and all sorts of unexpected shenanigans might happen, but a missing alpha channel stopping loading is too much. The loading code will now properly handle missing alpha channels for colors, and going forward all saves will include it again.
Another bug got reported afterwards, but thankfully this wasnt caused by another fix. In one save, the scheduledRoyalTrain variable in the ProgressionManager (code I have that handles the game levels, a.k.a. permits) had somehow been set to true, but there was no Royal Train present in the save, either in town or listed as a nextTrain. Unfortunately I couldnt reproduce the reason why this happened in the first place, which wouldve been ideal, but theres now code when loading the save that checks if this variable should actually be true. If it shouldnt be, it gets set back to false, which allows the TrainDispatcher to realize it should spawn the Royal Train. That code is now in 1.1.07.
The most useful thing to help deal with bugs is providing your save file to me; second is your log file. The fix in 1.1.07 never would have been made without getting an affected save, so Im taking this opportunity to make a PSA. If you run into an issue in the game, the most useful thing you can do is send an explanation of the problem and a save file. Where do you find those saves (or the related logs), you might ask? Every operating system seems to have an annoying location for them, but heres the full listing:
Save Files (Steam Cloud):
Windows C:\\Program Files (x86)\\Steam\\userdata\\ (Your Steam ID)\\3011060\\remote
MacOS ~/Library/Application Support/Steam/userdata/(Your Steam ID)/3011060/remote
Linux ~/.local/share/Steam/userdata/(Your Steam ID)/3011060/remote
Logs & Save Files (Local):
Windows %appdata%\\Godot\\app_userdata\\Iron Village\\logs, saves
MacOS ~/Library/Application Support/Godot/app_userdata/Iron Village/logs, saves
Linux ~/.local/share/godot/app_userdata/Iron Village/logs, saves
Then either send those via Discord, or send them via electronic mail to michael@lunarchippy.games.
Anyway, thanks for bearing with me and these fixes!
[ 6441 ]
[ 3512 ]
[ 2280 ]