Hello all!
If you check python.org, you will see that Python 3.0 (also known as "Python 3000") has finally been released to the general public. It breaks backward compatibility with the 2.x series in favor of streamlining the language.
Given the extensive redesign, Ren'Py as it stands now would certainly not be able to run on it. However, would Ren'Py even benefit from this anyway?
Python 3.0 has been released!
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Python 3.0 has been released!
Jitteh Dawn --- A VN by Ivlivs
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: Python 3.0 has been released!
The answer is probably yes, at least insofar as python 2 will eventually become obsolete.
That being said, I will wait for a while for bugs to be shook out, for there to be more than one python 3 implementation, and for pygame (and other interesting libraries) to be ported over.
That being said, I will wait for a while for bugs to be shook out, for there to be more than one python 3 implementation, and for pygame (and other interesting libraries) to be ported over.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
- jack_norton
- Lemma-Class Veteran
- Posts: 4084
- Joined: Mon Jul 21, 2008 5:41 pm
- Completed: Too many! See my homepage
- Projects: A lot! See www.winterwolves.com
- Tumblr: winterwolvesgames
- Contact:
Re: Python 3.0 has been released!
I checked the site but don't see any "huge" benefit of Python3 applied to renpy in general, maybe missed something. But is always a wise thing to wait some time so all the bugs are fixed.
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: Python 3.0 has been released!
Python 3 is more of a language cleanup than a stunning new features release. I suspect the Ren'Py internals will benefit from it far more than user code.
One advantage I can certainly see using is the new function syntax. Take the current definition of the Move function:
Move(startpos, endpos, time, repeat=False, bounce=False, time_warp=None, **properties)
there isn't really a good way of noting there that repeat, bounce, and time_warp are keyword-only arguments. Something like:
Move(startpos, endpos, time, *, repeat=False, bounce=False, time_warp=None, **properties)
would make that alot clearer.
There's a lot of cleanup I hope to one day do to Ren'Py. For example, xanchor can take 'left', 'center', and 'right' as synonyms for 0.0, 0.5, and 1.0. That probably should go at some point, as it slows down the code a bit for little advantage.
I'm also disliking how we have absolute and relative interpretations for xpos and ypos, based on types. (Placing a picture at xpos=1 versus xpos=1.0 puts it in a wildly different place.) I don't know how to fix this, however.
What I'm expecting to have happen is an always-supported yet feature-locked version of Ren'Py that runs on Python 2, and eventually focus more advanced Ren'Pys on Python 3. But that's still a long way off.
(To port to 3, I'd need pygame support, at a minimum. There are a few other tools I'll look for as a sign of python 3 adoption.)
One advantage I can certainly see using is the new function syntax. Take the current definition of the Move function:
Move(startpos, endpos, time, repeat=False, bounce=False, time_warp=None, **properties)
there isn't really a good way of noting there that repeat, bounce, and time_warp are keyword-only arguments. Something like:
Move(startpos, endpos, time, *, repeat=False, bounce=False, time_warp=None, **properties)
would make that alot clearer.
There's a lot of cleanup I hope to one day do to Ren'Py. For example, xanchor can take 'left', 'center', and 'right' as synonyms for 0.0, 0.5, and 1.0. That probably should go at some point, as it slows down the code a bit for little advantage.
I'm also disliking how we have absolute and relative interpretations for xpos and ypos, based on types. (Placing a picture at xpos=1 versus xpos=1.0 puts it in a wildly different place.) I don't know how to fix this, however.
What I'm expecting to have happen is an always-supported yet feature-locked version of Ren'Py that runs on Python 2, and eventually focus more advanced Ren'Pys on Python 3. But that's still a long way off.
(To port to 3, I'd need pygame support, at a minimum. There are a few other tools I'll look for as a sign of python 3 adoption.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
Who is online
Users browsing this forum: LegsWild