Progress Report 8/4/2023 (Patreon)
Content
Hello again, everyone! Here's what I got done this week:
- Added a "Nipples" checkbox under the "Body" category that allows you to toggle the nipples on and off
- Applied the nipple toggling to gameplay
- Fixed an issue in which changing the color of "Shine" and "Wet" caused their respective sprite's opacity to reset to 100%
- Fixed an issue in which transparency would take effect in-game even if the customizer's "Transparency" checkbox was unchecked
- Fixed an issue in which the feet would stop walking when reaching the bottom at the same time
- Updated the save system to add new/missing variables with their default values at runtime
- Tested and re-tested every single data variable to make sure the updated save system handles them when they're missing
This was a very programming-heavy week for me! In fact, programming was all I did this week. My brain needs a break... But before that, let's run through the list.
The week started off with some bug fixes: a couple of minor bugs in the customizer, and a not-so-minor bug in the gameplay that caused the feet to stop moving upwards. I'm about 95% sure the gameplay one is fixed, but I'll only know for sure once it's had some field tests out in the wild.
Next up, I made a "Nipples" checkbox in the customizer that allows the nipples to be toggled on and off. Was this necessary? Probably not. But hey, we have it now! This is one of those things where I have monster girls in mind again -- slime girls in particular.
As I was incorporating the checkbox into the save/load system, I realized I was fed up with getting constant errors concerning this new variable that the save file doesn't recognize, and doing a whole song and dance to silence it. So... I updated the save system.
This is the part where I spent five of my seven days.
It took a couple of days to get the framework down; I thought about redoing the system from scratch into a simpler, more direct read-write system, but I decided to go the alternative route of building upon the system we already have. It's neither pretty nor elegant, but it'll work!
Basically, the new save system runs a function at the beginning of every load. This function checks the save file for every single variable. If the variable doesn't exist, add it and save. Then load. It's brute force, but it'll keep the save file safe... mostly.
So, say you have the save file open. You're gonna see a wall of text containing all sorts of gobbledygook. You may recognize a few variables here and there. Let's say you accidentally hit a key or two before saving and quitting. If "skin_color" changes to "sin_c olor", it'll be okay! The variable will get reset to its default value, but everything else about the save will remain in tact.
However... if the formatting of the document is changed, the save file will be no good (and possibly crash the game). Basically, if a parentheses, bracket, quotation mark, comma, or equals sign gets added or removed, the game has no idea how to parse the file. If you can find the problem spot and fix it, then no problemo! Everything will go back to normal! But... it's a chunky file that's hard to navigate. And trust me, I tried to organize it. Line breaks aren't as universal as I thought they were...
Anyways, the main takeaway is this: if you're gonna modify the save file in any way, make sure you know what you're doing, and that you do it very carefully.
Now for the good news!
With the addition of this check, we should have a feature that Grape Escape never did: future compatibility! That is to say: you should no longer need to reset your save file every time a new update comes out! The game will automatically check to see if you have the new variables in the file, and if not, add them without touching any of your other data. You won't need to lift a finger, and your progress will be kept!
Well, in the downloadable version of the game, at least.
Ah, I'm so glad I got that checked off the to-do list. That was... a lot of programming. I'm gonna rest my brain and give it some well-earned Taco Bell. Just gonna shove it all into the pink, fleshy folds, Baja Blast and all. I'll see you guys again next week!