Is Ren'Py a good engine to practice Python?

Jul 6, 2019
223
385
Hi, I'm a Linux admin and do a bit of Bash scripting. I don't get a ton of opportunity to practice scripting at work, and I've never been great at learning stuff for the sake of learning so I need something to kind of pull me into coding. I'd like to transition into more dev ops stuff. I always excelled in all my programming courses back in the day, so I definitely have the mind for it. I just need more practice. The added bonus is we've hired another Linux admin and once he's up to speed I'll have more free time and was thinking of offering my services to our pipeline team who do do a lot of python scripting. Plus we're just transitioning to Python 3 now so good time to get in on the ground floor.

I don't intend to get great at 3D rendering so I'll probably just use whatever to do the visual side of things, I'm interesting primarily in coding.

Thanks in advance.
 
Apr 24, 2020
192
257
It really depends on how much you lean in to what Renpy is good at.
If you're simply writing a visual novel with a few choices, but otherwise a linear path, then I would say you gain zero python experience.

So if you want to use it as a learning tool, you need to find a way to add gameplay elements that require some extra coding.
 

Tompte

Member
Dec 22, 2017
216
157
I don't see any reason to not give it a shot. It'd probably be way more fun than doing academic exercises.

I had all the time in the world to teach myself C# but never did until Unity became a thing.
 
Jul 6, 2019
223
385
It really depends on how much you lean in to what Renpy is good at.
If you're simply writing a visual novel with a few choices, but otherwise a linear path, then I would say you gain zero python experience.

So if you want to use it as a learning tool, you need to find a way to add gameplay elements that require some extra coding.
So like more of a Sandbox game? So definitely don't release it on f95 then :ROFLMAO:

Thanks for the feedback.
 
Apr 24, 2020
192
257
So like more of a Sandbox game? So definitely don't release it on f95 then
It doesn't have to be a sandbox game, but the game does need some complexity that requires coding.
It can be an inventory system, a hint system based on tree search, a combat system or any sort of minigame.

My point is simply that Renpy is REALLY good when it comes to just writing visual novels, so much so that it feels more like writing a text document than coding.

Personally I started creating something akin to Legend of Grimrock when I started to learn coding. Instead of "Hello World!" my first line was "An orc attacks you", then a while loop to simulate combat and then player input to make it an actual game. It was nothing impressive, but it kept me motivated to add new things and learn new stuff.
 

GNVE

Active Member
Jul 20, 2018
724
1,185
VN's were the gateway drug for me to get into Renpy and thus Python. However you specifically want to learn Python 3 and until Renpy 8.0 Renpy uses Renpy 2.x. And though the differences are not enormous they are there and going from Renpy will get you into some habits that are not great for Python 3.
Renpy itself uses some pseudo? Python that isn't transferrable to true Python (e.g. the screens language). So be aware of that.
I'd suggest a crash course Python 3 before getting into Renpy. Just long enough to be aware of where the differences are. (Maybe make a card game in console or something.)
 

Albaduldür

Active Member
Aug 8, 2020
693
1,226
And suddenly, everyone having used LISP or BASIC in the 50's, 60's, 70's, and early 80's, anyone using Cobol, Algol, and so many other languages, aren't anymore coders.
Fucking no!
You cannot put the GLORY of LISP at the same level of this fucking trash.
Lord McCarty, forgive 'em 'cause they don't know what they're talking about
 
  • Haha
Reactions: recreation

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,976
16,232
You cannot put the GLORY of LISP at the same level of this fucking trash.
I wonder, if your "fucking trash" is referring to Python or Ren'py script language.

Not that the answer really matter, but it would change you to write something else than grumpy trash talk, and so add something to the discussion.


As for OP, most Ren'py's script language statement have a Python equivalent. It would goes against the intend of the engine, but it would permit you to use Ren'py in full Python mode. But it would not really teach you Python, just make you practice the basic.
It's going further, by defining your own statements, handle stats and things like this, that would effectively help you improve your knowledge of Python.
 

GNVE

Active Member
Jul 20, 2018
724
1,185
For my two cents in the off topic debate: I think Renpy is a lot like Excel when it comes to programming. A basic VN (even with a some simple logic) is like using formulas in Excel it's not true programming but it is programming adjacent and you need to follow some logic that also applies in programming. But you can go completely off the deep end and do actual programming with Python in Renpy and VBA in Excel.
 

Diconica

Well-Known Member
Apr 25, 2020
1,135
1,189
This question can't be answered honestly with a simple yes or no.
Renpy is a double edge sword so is python for that matter. What I mean is there are good and bad parts to both of them.
That can be said for a lot of stuff in life.
If you use Renpy with the scripting language the developer created you won't learn much python.
However, you can add to Renpy and by doing so learn a lot.

The other major variable will be yourself. What type of goal you are going to set yourself with this.
You already expressed you have a low motivation of learning something just to learn it.
Well you are hopping here to come up with a project to build and learn in the process. That's a really good recipe to make a mess unless you create a simple project. If that is what you are going to do then you probably would be better actually learning python by programming simple projects in the an IDE and then when you know more look at making a project.

Frankly, a lot of your time if you do this right will be testing code outside of renpy then putting it in renpy when you know it works. Otherwise you will end up trying to figure out what is causing what issue.

To be blunt you will need to change your attitude toward it for you to be successful or you'll just end up frustrated.
 

Albaduldür

Active Member
Aug 8, 2020
693
1,226
I wonder, if your "fucking trash" is referring to Python or Ren'py script language.

Not that the answer really matter, but it would change you to write something else than grumpy trash talk, and so add something to the discussion.


As for OP, most Ren'py's script language statement have a Python equivalent. It would goes against the intend of the engine, but it would permit you to use Ren'py in full Python mode. But it would not really teach you Python, just make you practice the basic.
It's going further, by defining your own statements, handle stats and things like this, that would effectively help you improve your knowledge of Python.
Both.
 

osanaiko

Engaged Member
Modder
Jul 4, 2017
2,548
4,636
Hi, I'm a Linux admin and do a bit of Bash scripting. I don't get a ton of opportunity to practice scripting at work, and I've never been great at learning stuff for the sake of learning so I need something to kind of pull me into coding. I'd like to transition into more dev ops stuff. I always excelled in all my programming courses back in the day, so I definitely have the mind for it. I just need more practice. The added bonus is we've hired another Linux admin and once he's up to speed I'll have more free time and was thinking of offering my services to our pipeline team who do do a lot of python scripting. Plus we're just transitioning to Python 3 now so good time to get in on the ground floor.

I don't intend to get great at 3D rendering so I'll probably just use whatever to do the visual side of things, I'm interesting primarily in coding.
I would say that my answer is NO. Renpy is great :love:, and a great tool for it's purpose. But it is a confusing way to learn Python if that is your goal.

Python lurks under the surface of Renpy. You can dip into it as needed when writing a game (and many of the advanced developers do this), but there is a lot of knowledge you will gain about how the Renpy engine works which has nothing to do with Python itself and will weigh down your mind and slow your learning.

There's a great old blog article about "leaky abstractions" which I think is very applicable to the relationship between Renpy and Python.
 
  • Like
Reactions: Diconica

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,611
2,258
Is Ren'Py a good engine to practice Python?

No.

The whole point to RenPy is to create a framework that, for the most part, insulates the programmer from python.
Most RenPy developers won't even notice the occasional python command they end up using.

Once you get beyond a certain level of complexity... THEN you start using more and more python in RenPy. And I suppose that is technically good practice.
You can also look under the hood and look at the underlying python code that makes up RenPy. But if you're looking to learn, that's probably not the right route - as most of that code will go over the head of someone just starting out.

RenPy is great. I would highly recommend it if you are thinking of playing around with writing a visual novel of any kind.

But learn RenPy and python separately.

There's 400 million "learn python in 6.3 minutes" on .
Or check out , which is my go-to place when I'm trying to do something out of the ordinary in RenPy.
 
Last edited:
  • Like
Reactions: Albaduldür

KiaAzad

Member
Feb 27, 2019
291
214
Renpy is a good platform to start as any.
You need some experience first before you understand your needs. Then you can choose the right language and the right IDE that fit those needs.
it's like your first car, you'll have no idea what type of car you feel at home with until you drive a few.