Posted October 19, 2025 by MumeiMiyafuji
Hello everyone! π
Hope you had a fantastic week! π
I've got a lot to talk about today! π
So let's get started right away π
Today, I uploaded v0.5.2 for the public version and v0.6.2 for the Patreon version.
These aren't content updates, just bug fixes and workarounds for some issues the game versions had.
The next section will talk about these!
Note though that the v0.5.2 update now brings the quality of life features of v0.6 to the public version, like the improved sprites, improved gallery controls, new title screen, and so on!β¨
If you encounter any bugs: Please report them to me! π
Thank you very much! π
This week, I had at least two reports of older save games causing an exception during loading βΉοΈ
I tested some of my older save games, and sure enough, some wouldn't load π±
Fun fact though:
Some save games older than a year would load with problems, but some that were around 2 months old wouldn't π
Anyway, after investigating, it seems the problems stemmed from two causes:
In Orange Smash, sometimes, the dialogue panel moves to the top or to the side for better visibility during spicy scenes.
I manage this using a Python Enum structure:
Now, the problem was that before, my Enum looked like this:
Notice the commas at the end of the line?
In most programming languages, that's correct syntax.
But not in Python π€‘
In Python, the trailing comma turns the number (integer) into a tuple structure implicitly, so "5" becomes "(5,)".
I really don't like Python sometimes π
So, later, when I added another entry to the Enum, the value for "ON_RIGHT_LOWER_EN04", which previously was "5", became the tuple "(5,)" and caused a crash when loading older save games βΉοΈ
Luckily, there was an easy fix for this.
Using the _missing_ function of Enum, I was able to handle both cases, which solved that issue.
But…
In RenPy, the visual novel engine that Orange Smash uses, moving around and renaming parts of the code can sometimes cause save game incompatibility issues.
I definitely moved and renamed a few things going from v0.5 to v0.6, but even after spending a lot of time on it, I couldn't pinpoint what changes exactly caused incompatibility issues to appear.
After searching way too long online, I found these two blog posts by the creator of RenPy (and only found out later they're also linked in the official documentation):
These describe what I was looking for, namely, what exactly can cause save game incompatibility issues.
They explained well how .rpyc files in RenPy work, and using that, I tried to restore at least some compatibility in the game:
At least in my tests, all v0.5 save games that were previously causing crashes now worked again.
...But, some of the v0.6 save games still had issues.
I'm afraid there were just too many changes in v0.6, and I'm not gonna be able to fix all incompatibility issues.
So, I went for a more pragmatic solution.
In the start menu, when you click "Continue", there's now a "Jump To…" option on the left:
This new option brings you to a "chapter select" screen of sorts that allows you to directly jump to certain key scenes in the game:
Right now, the jump points are:
Some of the jump point options have a little opened lock next to them π
Using these jump points will also cause the corresponding gallery entries before the jump point to unlock.
For example, if you select the jump point at the beginning of version v0.5, then everything up to v0.4 will be unlocked, and you will start right at the beginning of the new version.
This way, even if your save file stopped working, you can quickly get back into the story.
And if you want to quickly access a specific point between two jump points:
In the preferences, you can select "Unseen Text" under "Skip".
With this, when you click the "Skip" button in-game (or hold down the Control key), it will fast-forward the game.
It's not a perfect workaround, but it works well enough, I believe.
Of course, the "Jump To…" screen is something that ideally, you will never need to use.
Therefore, whenever you enter this screen, there will be a message telling you these jump options should only be used after you've played through the game (or if your save is broken or lost), since they can unlock almost everything.
To make this "chapter select" work, I actually changed a lot under the hood:
The whole system of how the game progresses from scene to scene is different now (specifically, using jump statements now instead of call statements).
This devlog is already too long, so I'm not gonna go into detail about it now (maybe next week?), but all I want to say is:
A lot has changed, so more bugs might pop upπ¬
Please report any bugs you encounter! Thank you very much!! β€οΈ
And on the topic of bugs and crashes...
Personally, I really don't like that the default exception screen completely breaks your immersion and looks very different from the rest of the gameπ
And since some bugs and crashes are sadly to be expected with these save game compatibility issues, I wanted the crash screen to at least be in the style of the game π
And hey, at least now the crash screen shows some info on what to do if a save game caused a crash, which should be more helpful than the full traceback code π (those lines are still saved in the traceback file)
Thanks to dealing with the save incompatibility issues, I didn't make as much progress as I hoped for π
That H scene from last week is mostly finished though, including the audio! β¨
I'm currently working on adding audio and finalizing some transitional scenes.
Even though the 'big scenes' are done, there are still some smaller dialogue bits that need to be written.
I think that will keep me busy the next week π¨
Still, we are slowly approaching the release of v0.7.0! π
That's all from me for this week! π
Have a great week, and see you all next Sunday! ππ