Page 1 of 1

About Renpy documentation

Posted: Wed Aug 04, 2021 9:17 pm
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.

Re: About Renpy documentation

Posted: Sat Aug 07, 2021 11:50 am
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.

Re: About Renpy documentation

Posted: Sat Aug 07, 2021 12:19 pm
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)

Re: About Renpy documentation

Posted: Thu Aug 12, 2021 5:02 pm
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

Re: About Renpy documentation

Posted: Fri Aug 13, 2021 5:52 pm
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.

Re: About Renpy documentation

Posted: Fri Aug 13, 2021 6:59 pm
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.