About Renpy documentation

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
bonnie_641
Regular
Posts: 133
Joined: Sat Jan 13, 2018 10:57 pm
Projects: Código C.O.C.I.N.A.
Deviantart: rubymoonlily
Contact:

About Renpy documentation

#1 Post by bonnie_641 »

After 3 years of joining this forum, I learned a lot about programming a game. Thanks to the community I progressed a lot in this project. I am very happy that everyone is willing to help (and I try to do the same when I can).

However, I tried many times to follow the documentation and it was a total failure. For me, the information is difficult to understand (except for cases where there are examples and I am very grateful for that).
What I want to ask is: How can I deal with this situation? What is the best way to understand each section? Is there a tutorial that explains how the documentation works?
I feel completely lost and don't know what to do. Sometimes I feel that programming is not my thing, but I don't want to give up.

Thanking you for your time and patience for reading this topic, thank you in advance.
I speak and write in Spanish. I use an English-Spanish translator to express myself in this forum. If I make any mistakes, please forgive me.
I try my best to give an answer according to your question. :wink:

User avatar
Captain Monocle
Newbie
Posts: 7
Joined: Sat Feb 22, 2020 6:59 pm
Contact:

Re: About Renpy documentation

#2 Post by Captain Monocle »

The documentation has a few distinct categories related to specific purposes, for example the Ren'py scripting documentation vs screen language, vs styles, etc. So the question is this; what part of the documentation causes you trouble? Can you show an example of something you were not able to understand?

To me, the basic Ren'py scripting documentation is extremely comprehensive - it basically walks you through achieving what you want step-by-step thanks to the quickstart guide.

For the screen language, it can be a bit hard to understand at first as it is an entirely different type of language compared to the usual Ren'py scripting. The thing with screen language is I think it assumes you are a more advanced Ren'py user with more experience from looking at the screens that are already built inside of every Ren'py game. Nevertheless, this is a question I've seen enough times to actually write a guide on how to read and navigate the screens language documentation properly (if it is screen language that is confusing you, do let me know and I'll share it here to see if it's any help).

As for other things like styles and ATL etc, as you spend time working in Ren'py you'll naturally grow to become accustomed to using those and knowing how to use them, and their documentation will mostly only be used as a quick reference sheet. Generally speaking, the few examples in the documentation should be enough to give you an idea of how to use styles/ATL.
"We burn the present for the sake of a brighter future and act surprised when all it holds is ash"
http://www.paranatural.net/comic/chapter-4-page-89

User avatar
Ocelot
Lemma-Class Veteran
Posts: 2384
Joined: Tue Aug 23, 2016 10:35 am
Github: MiiNiPaa
Discord: MiiNiPaa#4384
Contact:

Re: About Renpy documentation

#3 Post by Ocelot »

As it was said. it is importand to understand that RenPy contains 3 different DLS: RenPy Script, Screen Language, ATL, and it gives you ability to use Python. Understanding what some entity is, is important.

As for documentaion itsel, while it does have probles, it is on par with commonly encountered documentation. For example —
An overview or Python Random library: https://docs.python.org/3/library/random.html
DirectInput gamepad state structure: https://docs.microsoft.com/en-us/previo ... 8(v=vs.85)
< < insert Rick Cook quote here > >

User avatar
bonnie_641
Regular
Posts: 133
Joined: Sat Jan 13, 2018 10:57 pm
Projects: Código C.O.C.I.N.A.
Deviantart: rubymoonlily
Contact:

Re: About Renpy documentation

#4 Post by bonnie_641 »

First of all I apologize for not answering in time (my laptop stopped working until I could buy the adapter). Thank you for taking the time to answer my questions.
Captain Monocle wrote: Sat Aug 07, 2021 11:50 am So the question is this; what part of the documentation causes you trouble?
(...)
(if it is screen language that is confusing you, do let me know and I'll share it here to see if it's any help).
Yes!! It's the screen language. Could you help me, please? Is it possible to create functions with them? And if so, how to create them and use them in labels?
Ocelot wrote: Sat Aug 07, 2021 12:19 pm As it was said. it is importand to understand that RenPy contains 3 different DLS: RenPy Script, Screen Language, ATL, and it gives you ability to use Python.
ATL language is easy to understand, but the most complicated part is screen.
I saw Python examples and I don't think I will use it (because it is difficult so I discard it for now). I think I will give priority to screens.

Thank you very much for your response
I speak and write in Spanish. I use an English-Spanish translator to express myself in this forum. If I make any mistakes, please forgive me.
I try my best to give an answer according to your question. :wink:

User avatar
Captain Monocle
Newbie
Posts: 7
Joined: Sat Feb 22, 2020 6:59 pm
Contact:

Re: About Renpy documentation

#5 Post by Captain Monocle »

bonnie_641 wrote: Thu Aug 12, 2021 5:02 pm Yes!! It's the screen language. Could you help me, please? Is it possible to create functions with them? And if so, how to create them and use them in labels?
I'm not clear on what you mean by "create functions". If we're speaking of Python, screen actions can call/run a function, but can't "create" a function.

Here's an example of a simple screen:

Code: Select all

# This goes outside of labels, just like when you define/default variables.
screen my_screen():
	textbutton "Do the thing" action Hide("my_screen")
This is the very, very basics of a screen. They can take many actions, including Function() which would call a Python function, but I've kept it simple for example's sake with just Hide() which hides the desired screen.

Once you have that down, you can call or show the screen in your script, within labels.

"call" will display the screen and await the end of the interaction. This is usually a jump, hide, return, etc. The script will not advance to the next line until the interaction ends.

Code: Select all

label start:
	call screen my_screen()
	"After the screen!"
"show" will display the screen, but does not wait for the interaction to end, meaning the game will go on with the next line below, while the screen is still shown. This can be used to display UI elements or menu buttons that should be displayed even while the player is still reading/playing the game.

Code: Select all

label start:
	show screen my_screen()
	"After the screen!"
Now you know how to make a basic screen and use it. The only thing left to do is learn how to actually build the screen to contain more than just a textbutton which hides the screen. There are two parts to the screens language documentation - the first covers the actual screen and elements it can contain:
https://www.renpy.org/doc/html/screens.html

The second piece of documentations is Screen Actions, they are basically "events" that can occur as part of interacting with the screen (this includes Hide(), Function(), etc):
https://www.renpy.org/doc/html/screen_actions.html

And lastly, here is a beginner guide I made. First thing first...
DISCLAIMER: I made this guide using the best of my knowledge, which I can't say I'm 100% confident with - you can use this as a quick startup guide, but keep in mind that some of the methods described there may have some better alternatives, the terminology might not be entirely accurate, etc. In other words, use this as a reference, knowing it isn't an official guide.

With that out of the way, here it is: https://github.com/jbondguy007/reading- ... reens-docs

Sorry for making this a bit long, do hope this at least helps a bit though.
"We burn the present for the sake of a brighter future and act surprised when all it holds is ash"
http://www.paranatural.net/comic/chapter-4-page-89

User avatar
bonnie_641
Regular
Posts: 133
Joined: Sat Jan 13, 2018 10:57 pm
Projects: Código C.O.C.I.N.A.
Deviantart: rubymoonlily
Contact:

Re: About Renpy documentation

#6 Post by bonnie_641 »

Captain Monocle wrote: Fri Aug 13, 2021 5:52 pm screen actions can call/run a function, but can't "create" a function.
Oops :oops:
I didn't know that XD
Forgive my ignorance.
Captain Monocle wrote: Fri Aug 13, 2021 5:52 pm In other words, use this as a reference, knowing it isn't an official guide.
With that out of the way, here it is: https://github.com/jbondguy007/reading- ... reens-docs

Sorry for making this a bit long, do hope this at least helps a bit though.
Thank you very much :D
You are very kind to dedicate part of your valuable time to me.
Even if it is not the official documentation, I consider it very important (I will study this content carefully).

Unless there are easy to understand examples I will not study Python for now. I think Renpy scripts, ATL and screens will be enough to move forward with my project.
I reiterate my thanks to you and Ocelot for helping me.
I speak and write in Spanish. I use an English-Spanish translator to express myself in this forum. If I make any mistakes, please forgive me.
I try my best to give an answer according to your question. :wink:

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot]