SamuZai
vrengames
vrengames

patreon


Python 3 Update Complete!

The 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

I 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

What 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

Is 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

Great to see your investment in unit tests paying dividends, awesome writeup

Mr. X

Love seeing the consistent updates.

Ok, 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

Awesome! Hopefully everything else can be as smooth.

Killer300

Keep up the good work. ^_^

Colin T.

Your testing procedures make my little programmer heart proud. Keep up the good work, I look forward to seeing the new clothing system in action!


More Creators