• To improve security, we will soon start forcing password resets for any account that uses a weak password on the next login. If you have a weak password or a defunct email, please update it now to prevent future disruption.

Ren'Py project template

Carr-Delling

New Member
Jan 25, 2020
3
0
Hi I would like to start developing a new visual novel by looking around a bit I saw that the best ones are made with Renpy I installed it and more or less I managed to bring out something that works I was wondering if there is a template from which to start take inspiration on how to set up the project (rooms, hours of the day etc.)
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,687
  • Like
Reactions: anne O'nymous

cooperdk

Engaged Member
Jul 23, 2017
3,375
4,911
Saying that the best visual novels are made with Ren'Py doesn't say much.
It says that either people get used to what Ren'Py can (and especially cannot) do, and that those who use other tools might not bring out their full potential.

There are VN plugins for Unity with a much smaller footprint than Unity and at the same time they look ten times better. They will even work with 3D.

Even Tyrano has more options than Ren'Py, for some resons many people in here don't like Tyrano though.

Then there's Twine. While limited due to it's format (HTML) it is probably a much better tool than Ren'Py simply because it runs the games much faster.

One VERY BIG disadvantage with Ren'Py is that it is still based on Python 2.7, which 1) is unsafe to use now, and 2) is goddamn slow compared to fx Python 3.8. For some reason, it doesn't seem like the Ren'Py devs hurry too much adapting Ren'Py to Python 3.7+ even though Python 2.8 has been marked as extinct (and unsafe) since 2014 or so.
 
  • Angry
Reactions: osanaiko

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,149
3,501
One VERY BIG disadvantage with Ren'Py is that it is still based on Python 2.7, which 1) is unsafe to use now, and 2) is goddamn slow compared to fx Python 3.8. For some reason, it doesn't seem like the Ren'Py devs hurry too much adapting Ren'Py to Python 3.7+ even though Python 2.8 has been marked as extinct (and unsafe) since 2014 or so.
Ren'py is open source and is developed 100% for free by a single person (Py'tom), who has been doing the work as a volunteer main developer for more than 10 years. I prefer to appreciate his efforts and contributions than criticise his decisions on how to allocate his volunteer time.
VN games are almost never constrained by "speed" of the runtime environment, so any expected speedup by moving to python 3.x is largely unimportant.
Python 3 was a major pain in the ass to develop with / port python 2.x apps for the first several years of it's existence.
Calling Python 2.x "unsafe", particularly for a standalone desktop application, seems like an unreasonable position.
Ren'py is a godsend for creators who are not hardcore programmers - so much useful work is already done for you, and so many examples already exist, that it is possible to create a game for others to enjoy in a way that most of your effort is spent on creating content, not learning obscure details of a platform that is focussed heavily on 3d titles.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,197
14,929
Even Tyrano has more options than Ren'Py, for some resons many people in here don't like Tyrano though.

Then there's Twine. While limited due to it's format (HTML) it is probably a much better tool than Ren'Py simply because it runs the games much faster.
This effect is proceeded in real time with Ren'py
You don't have permission to view the spoiler content. Log in or register now.
Can you explain how to do the same with Tyrano Builder ?

And this also is fully proceeded in real time with Ren'py
You don't have permission to view the spoiler content. Log in or register now.
It can obviously be faster with Unity, but still it isn't this slow.


One VERY BIG disadvantage with Ren'Py is that it is still based on Python 2.7, which 1) is unsafe to use now,
Python 2.7 not being supported anymore doesn't mean that it's unsafe to use it. Among the 23 vulnerabilities that Python 2.7 had, only 5 regard directly Python and/or a module used by Ren'py. It's more or less the same number of vulnerabilities that will impact your web browser, and therefore Twine, each year.

But anyway this is totally irrelevant. The threat of having a game made with a engine that potentially have some vulnerabilities, is insignificant in regard of the threat presented by the game itself. Who tell you that the game made with Unity that you last played do not use a zero day exploit on your OS to install a rootkit ? No one... Since we have access to the whole sources of any Ren'py game, if it happen with Ren'py, because it can happen, there's someone that will be able to tell it to you.
Security threats regarding a language are relevant only if the software you make with it are accessible from a third party, what is not the case with Ren'py. No game open a socket in listening mode, not even locally, what mean that the attack can only come from third party software that you already installed on your computer. And there's near to 0 risk that something like that will happen one day. If someone have the knowledge needed to hook its own code to a Ren'py process, this in order to then exploit the vulnerability, he also have the knowledge needed to target your web browser. Not only it will be a target that he'll found more often, but it will also be a target that will have way more vulnerabilities he can exploit ; cherry on the cake, it will be a process that your IP filter let communicate with the wild, what offer him an entry gate.


and 2) is goddamn slow compared to fx Python 3.8.
If you look at the , and go back in time , you find a speed difference around 10%, what is far to be a "goddamn" difference. Especially when you apply this difference to games that... pause between each dialog line. What is interesting is that even now there's still some of the benchmark where Python 2.7 is faster.
But anyway, the port to Python 3 will not make Ren'py go faster, because the effective bottleneck is the time needed by the user to read. It will just push back the limits in screens, yet those limits are never reached by games ; it need more than 200 interactive buttons displayed at once before you start noticing a slowdown. It will also probably benefit to custom made displayable, like the hologram effect shown above by example, but near to no games effectively used them on this scene.


For some reason, it doesn't seem like the Ren'Py devs hurry too much adapting Ren'Py to Python 3.7+ even though Python 2.8 has been marked as extinct (and unsafe) since 2014 or so.
So, in fact you absolutely don't know what you're talking about. ..

PyTom is porting Ren'py to Python 3, the version 7.4.0 is already partly Python 3 compatible ; and yes he take his time, because you don't port an application that have near to 300 000 lines of code just by clapping your fingers. Especially when the said application is intended to works on four OSes and one emulation ; and more especially when you have near to no test suits, but this is something else.
As for Python 2.8, it's marked as extinct because it never existed ; therefore, saying that it's "unsafe" is totally ridiculous. And support for Python 2.7 have been dropped only the 1st January 2020. What effectively mean that PyTom took his time to release the first version partly Python 3 compatible. But this is totally understandable.
After 17 years with an average of one update every two months, he can't stop the updates for a full year or more ; then updating every week to fix the issues due to the port. And neither can he do expect for any developer using his engine to adapt their own code in one go. He have to make this port progressive, keeping the Python 2.7 compatibility until the moment the engine will be fully ported. This permit him to maintain the visibility of his engine, to guaranty that the Python 3 version will be as bug free as usual, and to let to the developer the time they need to port their own code.
 

Seanthiar

Active Member
Jun 18, 2020
535
716
Saw this thread only now.
I think you forgot one thing about Ren'py. Ren'py is for free. You can donate via paypal, patreon etc., but essentially it is free.
Tyrano Builder cost money (even when it's a one time pay of under 20$). There is no testversion to check if Tyrano is something for you and I don't want to spend money for a tool when I don't know if I will use it or not because I don't like it. Especially when I have the option to use a free alternative.
The free Unity version is pseudo free, because if your business volume reaches 100k$ Unity wants money (And that doesn't mean the volume with the unity engine you made, it means the whole business.) And if you want support you need the Unity pro version which will cost 125$/month. Unity is a very complex overwhelming tool for beginner. In Unity you have to do everything from scratch to create a VN or you have to buy a VN template or creation Kit. I tried free versions just for giggles and they are outdated or severely limited in the way that you can only use basic assets with the free kits. The full versions of these kits are in the range of 50$ upwards.