Python 2.5 and Ren'Py

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
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.
Post Reply
Message
Author
User avatar
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:

Python 2.5 and Ren'Py

#1 Post by PyTom »

I've decided that the next version of Ren'Py will be based off of Python 2.5, rather than the 2.3 that we've been using up until now. I've figured out how to recompile python25.dll to shrink it in size by a significant amount, and I've also found a number of unused modules that I was able to get rid of.

Here's the current deltas in build sizes (between 6.4.0 and HEAD):

Windows: +53 KB
Linux: -40 KB
Mac OS X: +1632 KB

The big jump in the Mac OS size comes from us having to ship the python 2.5 interpreter as part of the game, whereas previously we used the python 2.3 interpreter installed as part of Mac OS X.

We're also now shipping msvcrt71.dll as part of our games. This is the visual C runtime that Python 2.5 depends on. It takes up 182k or so compressed, but I was able to offset all but 53k of that.

These sizes may vary as I add and remove code from Ren'Py, to take advantage of 2.5. I've identified some areas I'll be working on in the next release(s):

- Distribution size. I'd like to make it so that if you don't use DejaVuSans (a whopping 274 KB compressed), it won't be distributed. Ditto for some of the theme images in common.
- Speed. I'd like to take advantage of some of the features in 2.5 to improve speed.
- UI functionality. I have some ideas for new displayables (like a sidelayout) and improving existing displayables (including proper scrollbars and viewports that respond to the mouse wheel.)
- UI themeability. I'd like to add a second (third) theme, to roundrect and the default theme. If people want to contribute themes, now would be a good time.

How much of this will be in the next release is up in the air, although it seems extremely likely that 2.5 will be in. (Since I've already modified the build scripts to use it.)

Finally, I'd just like to pay tribute to Python 2.3 for serving us so well for 71 releases in the past 3 years.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Python 2.5 and Ren'Py

#2 Post by JQuartz »

Would the upgrade affect games that are currently in production in any negative way (such as loss of certain functions, change in format, etc)?
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

User avatar
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 2.5 and Ren'Py

#3 Post by PyTom »

I wouldn't expect it to require any major changes. I was able to run the demo game without changing it at all.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Python 2.5 and Ren'Py

#4 Post by JQuartz »

That's good to know. Thanks Pytom for making RenPy and continuously updating it. And of course for making the whole thing open source and free!
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Python 2.5 and Ren'Py

#5 Post by monele »

More speed and more UI can only be a good thing ^_^. Yay for new Python! :D

Hentai Senshi
Regular
Posts: 105
Joined: Wed Aug 08, 2007 9:37 pm
Contact:

Re: Python 2.5 and Ren'Py

#6 Post by Hentai Senshi »

PyTom wrote:I've decided that the next version of Ren'Py will be based off of Python 2.5, rather than the 2.3 that we've been using up until now. I've figured out how to recompile python25.dll to shrink it in size by a significant amount, and I've also found a number of unused modules that I was able to get rid of.

Here's the current deltas in build sizes (between 6.4.0 and HEAD):

Windows: +53 KB
Linux: -40 KB
Mac OS X: +1632 KB

The big jump in the Mac OS size comes from us having to ship the python 2.5 interpreter as part of the game, whereas previously we used the python 2.3 interpreter installed as part of Mac OS X.
Cool. DLSite reported that YNY wouldn't run on their test Mac (OS X 10.3.9); I haven't been able to get a useful description of how exactly it fails, but bundling 2.5 should make renpy games a lot more robust against variations in the OS X Python interpreter.
Project statii:
Yuri no Yume: Wet Night: Released!
Tentacularity: Released!
LoliFindsKitten: AlphaBetaThingy...

User avatar
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 2.5 and Ren'Py

#7 Post by PyTom »

Yes, but I think the problem is with the libraries, or perhaps with the linker. The minimum Mac OS version supported by Ren'Py is 10.4, because that's the minimum version I have to test on, and because Apple makes it moderately difficult to compile for older versions. (At least, I've had trouble doing it.) I've had a friend of mine try Ren'Py out on 10.5, and it works there too.

At some point, I need to find a cheap used mac with 10.3 on it, so that I can develop there. Any leads people have would be appreciated.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Aurora77
Newbie
Posts: 2
Joined: Tue Nov 20, 2007 10:05 pm
Contact:

Re: Python 2.5 and Ren'Py

#8 Post by Aurora77 »

PyTom wrote:Yes, but I think the problem is with the libraries, or perhaps with the linker. The minimum Mac OS version supported by Ren'Py is 10.4, because that's the minimum version I have to test on, and because Apple makes it moderately difficult to compile for older versions. (At least, I've had trouble doing it.) I've had a friend of mine try Ren'Py out on 10.5, and it works there too.

At some point, I need to find a cheap used mac with 10.3 on it, so that I can develop there. Any leads people have would be appreciated.
The Google/Usenet group Low End Mac Swap is a great place for cheap Macs. My main machine is a 10.3.9 box and you're more than welcome to throw me stuff to see if it compiles/runs. I've been doing some work on my own and I haven't gotten too far.

~@A77@~

vlint
Regular
Posts: 115
Joined: Tue Oct 09, 2007 7:44 pm
Contact:

Re: Python 2.5 and Ren'Py

#9 Post by vlint »

Wow! I'm glad to see that this is working out after all, even though it turned out that I didn't need it for what I was working on.

I'm excited to see the results.

Post Reply

Who is online

Users browsing this forum: No registered users