Python 3 Update Complete!
Added 2022-07-17 08:30:26 +0000 UTCThe recent release of Ren'py 8 moved from Python 2.7 (which has been depreciated since 2020!) to Python 3. I decided it was a good idea to get this shift done sooner rather than later and have spent the last couple of days sorting out minor issues. I'm happy to say the transition has been mostly painless and I'm able to get back to work on the Live2D rendering system now. If you're interested in programming details, read on!
In an ironic twist of fate, the first thing to break in Ren'py 8 was my testing framework! Renpy ships with a trimmed down version of Python which doesn't include the unittest module. The old Python 2.7 unittest module I manually include ran into some deep compatibility errors, preventing the whole thing from working. This was a trivial fix once I figured out what was actually happening: I just had to manually include the Python 3 unittest module and LR2 was up and running!
At this point all the time writing unit tests paid off. I was able to quickly identify a whole swath of errors. First, a couple of modules were renamed going to Python 3 and needed to have their import lines changed. Second, the way keys for dictionaries are handled had changed, resulting in crashes anywhere those were searched through. Finally, Python 3 imposes stricter comparison function requirements, so many classes needed some new (but relatively simple) code written for that.
I've been able to run through the basics of my integration tests as well and crunch some minor file read/write bugs. Unfortunately the Clothing/Outfit code is still a work in progress and that comes up a lot any time characters are being talked to. Once that code is finished I'll do a final sweep through all my tests and I can be reasonably confident nothing is broken (or that it's broken in new and exciting ways I haven't seen before!).
I'll be back with an update on the clothing code once I have something interesting about it to share!
Comments
It's satisfying to see them pay off in such a major way. I couldn't imagine trying to sort out the move to Python 3 without them. Even if I got things working I would never feel confident I had found all of the issues.
Vren
2022-07-21 10:11:34 +0000 UTCI haven't thought about it, but allowing for characters to have randomized appearances should be easy to do. Some storylines assume certain physical traits (ie. Lily wanting a boobjob wouldn't make sense if she generates with huge boobs), but I could hard code those parameters if they're super important.
Vren
2022-07-21 10:10:30 +0000 UTCWhat might be the best way to do this is to set their appearance as a seed and give you the option of changing the seed. That way if you got a look you liked for them, you could replicate it in later playthroughs.
Nona
2022-07-19 18:51:52 +0000 UTCIs there any plan in reworking or expanding the visuals of the girls? Is there any chance in implementing the option to randomize the looks of your family-members at the start of the game? (if technical even possible) i love your game and the mechanics, but restarting it with all the same faces and bodies everytime is a little bit of a turnoff.
Brochmail
2022-07-19 09:35:20 +0000 UTCGreat to see your investment in unit tests paying dividends, awesome writeup
Mr. X
2022-07-19 03:25:41 +0000 UTCLove seeing the consistent updates.
2022-07-18 23:19:41 +0000 UTCOk, amazing! Thank you for taking the time to write a detailed report on what you managed to do during this time. And since the Clothing/Outfit code is still a work in progress, so good luck with that
NakedSunFlower
2022-07-18 00:56:26 +0000 UTCAwesome! Hopefully everything else can be as smooth.
Killer300
2022-07-18 00:06:29 +0000 UTCKeep up the good work. ^_^
Colin T.
2022-07-17 17:32:52 +0000 UTC