Basics of Ren'Py #1

Labels, Dialogue, Calling and Returning

If you're making a simple visual novel with only some characters, backgrounds, music and a storyline to follow, you will be spending the vast majority of your time working inside labels. It is one of the most important features of Ren'Py, and in these tutorials, we'll be going over the basics of what you can do with it.

To start, I'd recommend creating an empty project, deleting the contents of script.rpy, and using that project (and/or file) as a guinea pig for all that we'll do here. Putting it into any .rpy file inside project's game folder will do, just make sure there aren't any conflicts across files, like two different start labels. Speaking of labels, let's dive into learning about them.

label start():

    Welcome to our game!"

Today's topic is logic.  we're talking about


  • A > B means A is greater than B
  • A >= B means A is greater than or equal to B
  • A == B means A is equal to B
  • A <= B means A is less than or equal to B
  • A < B means A is less than B

Python and/or Ren'Py newcomers often mistake double equal signs (==) for a single equal sign (=). There is a very simple but critical difference:

  • == is for comparing, like when comparing A to B
  • = is for setting, like when defining a variable or changing it's value

Summary goes here

  • What labels are
  • How we can create dialogue lines, with or without someone saying them
  • That we can have multiple labels
  • That we can move between them with the call and return statements

And in the next one, I'll show you what Character objects are, what text tags are, and what either of them is for!