How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

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
JenivereDomino
Regular
Posts: 27
Joined: Tue Nov 17, 2020 4:14 pm
Completed: Summer Horrordays
Projects: "Project Cadence" (Placeholder)
Organization: PunderBash Games
Deviantart: JenivereDomino
Github: JenivereSH
itch: punderbashgames
Location: United Kingdom
Discord: Jenivere #1227
Contact:

How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#1 Post by JenivereDomino » Tue Nov 17, 2020 7:07 pm

I'm looking for tips on how to best learn how to use the software. I have zero background in code or game making, but I have ideas, passion, and a couple of friends on board to help with art and story planning.

To be more specific, the problem I have right now is that looking at tutorials and the like is making total sense, super logical, until the moment I switch to using the program at which point my brain translates everything I just learned into Klingon then makes fart noises and refuses to co-operate.

I'm torn between 3 options on how to proceed:

1. Take a few days and go through every tutorial, make a bunch of notes, and keep going until it all sinks in to the wrinkly grey matter and I know exactly what I'm doing, so when I write the script I can put it straight into the game engine and work on it from there.

2. Start out with just learning the very basics so I can start getting my dialogue input done, and test the dialogue to make sure it makes sense and runs smoothly, then go back through after and add the more complex options like choices, conditional events, colour coded names, etc etc

3. Forget even putting anything into Ren'py for now until I have a text document with a good amount of the dialogue and other assets ready to copy over and input.

OR am I just going about this completely backwards and need to find another method?


PS - For details on my project and myself, it is a zero budget passion project for now, looking at an Otome (romance with female MC and male LIs) with a high fantasy theme set in a home-brewed world. I have a friend with a degree in games art who is very interested and on board for creating the sprites and character art, as well as my husband who is giving feedback on my world building and plot development. I'm using kanka.io to build a cross-referencing database for planning characters, events, world building, etc, as well as google drive documents to safely store copies of planning documents and artwork. My personal background is that I'm disabled and unable to work, and there may be long periods of time (weeks or months) where symptoms may flare up that will cease any progress as using the keyboard would be too painful, so this also may take a long time to reach completion. I have experience in writing tabletop RPG characters and homebrew campaigns from both sides of the DM screen and across multiple platforms, I'm also an amateur musician and have a few pieces in mind for my background music. I'm also very fortunate to know people with recording equipment and some with a variety of other skills, but I don't want to bring anyone else on board until I have a complete (or nearly complete) script for the story and dialogue.
Mighty Morphine Vowel Arranger

User avatar
gas
Miko-Class Veteran
Posts: 838
Joined: Mon Jan 26, 2009 7:21 pm
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#2 Post by gas » Tue Nov 17, 2020 7:27 pm

Go to the docs and READ ONLY AND JUST ONLY the Quickstart.

Create a fake game, call it "Gas is awesome" or any cool name, and EXPERIMENT with:
labels
create new characters
have such characters say something
menu
ONLY TEXT.

Then, add some proxy sprite and have fun to show a background, some character sprite and move them using transitions and transforms.

Believe me or not, this teach you the WHOLE ENTIRE default renpy thing (that's not even a 'coding language' the most is a 'scripting language', refined in more than 10 years of hard work by cool guys with just one goal in mind: to not be a coding language). All other mess is about how to make strange stuff you don't need at this very moment, so get focused.

NEVER AND I SAID NEVER BEGIN WITH THE GAME OF YOUR DREAMS.
The game of your dreams is fully animated, with 300 variables, funky interactions. YOU CAN'T DO IT, so don't try to do it.
How you've learned your language? By babbling silly words. Do the same. Learn to do the CORE by doing some PROXY EXPERIMENT.

That's all.
If you want to debate on a reply I gave to your posts, please QUOTE ME or i'll not be notified about. << now red so probably you'll see it.

10 ? "RENPY"
20 GOTO 10

RUN

User avatar
JenivereDomino
Regular
Posts: 27
Joined: Tue Nov 17, 2020 4:14 pm
Completed: Summer Horrordays
Projects: "Project Cadence" (Placeholder)
Organization: PunderBash Games
Deviantart: JenivereDomino
Github: JenivereSH
itch: punderbashgames
Location: United Kingdom
Discord: Jenivere #1227
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#3 Post by JenivereDomino » Tue Nov 17, 2020 7:37 pm

gas wrote:
Tue Nov 17, 2020 7:27 pm

The game of your dreams is fully animated, with 300 variables, funky interactions. YOU CAN'T DO IT, so don't try to do it.
How you've learned your language? By babbling silly words. Do the same. Learn to do the CORE by doing some PROXY EXPERIMENT.

That's all.
This is super helpful, thank you. I think the temptation with any new skill is to dive right in and get going, but you're right it takes time to learn and starting small is the best way. I'll probably play around with some of the concept art I have and the basic ideas to make something simple until I feel more comfortable using the program to get more creative.

I am fortunate enough to have as much free time as I have energy and willpower (health permitting) so I'm hopeful I might be able to create something with a little complexity eventually, but starting simple is definitely a good way to go for now.
Mighty Morphine Vowel Arranger

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3636
Joined: Mon Dec 14, 2015 5:05 am
Location: Your monitor
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#4 Post by Imperf3kt » Tue Nov 17, 2020 7:46 pm

I mostly agree with the above. The best way to learn is to ignore YouTube tutorials as they're mostly out of date or there are better ways etc.

Of course, there are exceptions, but as a complete beginner, these won't be obvious and you'll likely end up frustrated trying to decipher what will work, and what won't work.

The quickstart (combined with the renpy tutorial bundled with renpy) is extremely helpful in getting used to the basics, but rather than read the whole thing, I suggest starting with just getting text to show up in game, and advance, before moving into more complex parts, like the GUI or mini games.

Remember that renpy use python (currently 2.7, but soon to transition to python 3.x with renpy 8.0 when released)

The most important part to learn first, in my opinion, is indentation and label control. Most beginners tend to have issues caused by using incorrect indentation.

Good luck, and remember to check back here with questions or the discord channel.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor
Free Android GUI - Updated occasionally
Twitter
Imperf3kt Blackjack - a WIP blackjack game for Android made using Ren'Py

User avatar
hell_oh_world
Miko-Class Veteran
Posts: 777
Joined: Fri Jul 12, 2019 5:21 am
Projects: The Button Man
Organization: NILA
Github: hell-oh-world
Location: Philippines
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#5 Post by hell_oh_world » Wed Nov 18, 2020 5:47 am

In my personal opinion, here are the pointers I can give.

Study Python (the programming language of Ren'Py) or at least a quickstart of it, essentials on how to code on python.
Ren'Py is a programming language itself, but for you to be able to fully understand it you need to understand first the programming language that runs it. After all, syntaxes and the way codes are written are almost the same for the two languages. I suggest looking up for quickstart guides that will give you plenty of ideas on what are variables/how to make one, how they differ from one another, control statements such as conditionals (if/elif/else), and loops for iterations (for/while).
https://www.programiz.com/python-programming/tutorial

The Ren'Py Documentation is your best bud. Bookmark it!
https://www.renpy.org/doc/html/genindex.html
https://www.renpy.org/doc/html/
From time to time you'll be stuck a lot, I experienced this a lot. I hated the fact that I have to bother people to solve my messy codes so as rule for me:
I will first try to look into the docs see if I can understand it, If the docs didn't help then go to forums or google and look and search for terminologies related to the problem and find a thread with a working answer and explanation, if the forums didn't help either then the last resort would be is to make a lot of friends around the Ren'Py community and ask for help.
I always think of this as my mantra as a person who's trying to find answers. Never I ever immediately use the last resort. After all, it's quite satisfying and fulfilling if you're able to solve the issue by yourself even by just comprehending other's answers or codes, that's already an achievement!

Make friends around the community.
Eventually, you'll run into a problem that you need to solve immediately but you can't fathom or solve at all after trying all the possible searching, etc., the best way to accomplish this is by making friends around the community. Don't be afraid to ask questions, if you got the answer don't just copy and paste it understand it first!. Understand what you're putting in your game, read thoroughly over the solved thread for any possible explanation on what the code does, etc. because later on, it will hit you back. If ever you will encounter problems related to the code you've just copy pasted you'll be miserable because you didn't try to understand at least what the code basically does, so you as a person won't make progress at all. Understanding is the Key.
Questions are always fine, but always make sure that you're asking the right questions, as pytom (creator of Ren'Py) said in the Discord (https://discord.gg/6ckxWYm) Server's rule, always use the xy principle as the basis for your questions.
https://xyproblem.info/
https://meta.stackexchange.com/question ... 676#233676

I know you might not find this helpful at all, but I would just like to share my ideas about it. That's it and I hope you're all doing fine!

User avatar
JenivereDomino
Regular
Posts: 27
Joined: Tue Nov 17, 2020 4:14 pm
Completed: Summer Horrordays
Projects: "Project Cadence" (Placeholder)
Organization: PunderBash Games
Deviantart: JenivereDomino
Github: JenivereSH
itch: punderbashgames
Location: United Kingdom
Discord: Jenivere #1227
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#6 Post by JenivereDomino » Wed Nov 18, 2020 2:45 pm

As an update to this, and I am SUPER grateful for the replies here, my husband reminded me that a friend of ours knows python and suggested I message him just to talk about it in general and as a good resource if I got stuck or broke the code. Turns out he has been looking for a new project for his spare time and is interested in the concepts and what we have so far, so he's going to take a look for me and likely help out with the bulk of coding. So I can now focus in on the writing aspects of it, while my other friend develops the art, but I am also trying to ensure I put in enough of the directions and descriptions of things like images and music cues so that it won't be too much of a pain to switch it over into Ren'py.

I'm actually a lot more confident in this now, as I was planning to potentially just make a trial run using the opening scenes just as a proof of concept and to get something working, but having a couple of other people on board is a relief in terms of workload and allows me to focus on the things that I do mostly know how to do. It's also more motivating having people who are also interested in the ideas, characters, and story.
Mighty Morphine Vowel Arranger

User avatar
nelephant
Newbie
Posts: 7
Joined: Thu Aug 13, 2020 4:53 pm
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#7 Post by nelephant » Tue Dec 01, 2020 5:23 pm

I'm not a total beginner (have taken courses in html, css, javascript, and c#).

My newb question here is: Is it worth doing a few hours of Python 3x study, or am I better off looking at older 2x courses when it comes to getting a Python foundation for Ren'py?

I think the other advice here is really good.

EDIT: I'm guessing it doesn't really matter, and the tutorial link posted here is for 3x...just want to pick up the right syntax.

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3636
Joined: Mon Dec 14, 2015 5:05 am
Location: Your monitor
Contact:

Re: How to Start and Learn to Write Ren'py Scripts as a Total Beginner?

#8 Post by Imperf3kt » Tue Dec 01, 2020 6:57 pm

Renpy currently uses python 2.7 but as of prerelease 7.4 also has partial support for Python 3.x

Renpy 8.0 is supposedly going to be Python 3.x full

Although, most of python 2 works the same way in python 3, so just learn both.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor
Free Android GUI - Updated occasionally
Twitter
Imperf3kt Blackjack - a WIP blackjack game for Android made using Ren'Py

Post Reply

Who is online

Users browsing this forum: Google [Bot]