Creating games and more with Ren'Py

No major coding experience required: Gaming and more with Ren'Py

Characters from a video game
Image by :

Subscribe now

Get the highlights in your inbox every week.

Ren'Py, created by Tom Rothamel (@renpytom on Twitter), is an a open source tool for developing visual novels. Visual novels are the computer game equivalent of a "Choose Your Own Adventure" novel. Writing a basic game script is super simple and adding in game/programming logic (using variables, if statements, jumping to a different section of the script, etc.) is not very hard.

Writing a Ren'Py script is only a little more difficult than writing English. It is more like writing a theatrical play with stage directions than writing computer code. Though, if you want to make something more advanced, Ren'Py is built in/on Python, so Ren'Py can do just about anything Python can do.

Here is an example of a very basic game script:

label start:

"It is pitch black. You are likely to be eaten by a grue."

"Adventurer" "Who said that!?"

"Grue" "I did, I'm your friendly neighborhood grue."

"Adventurer" "It's not very 'friendly' to eat people."

"Grue" "I'm nice enough to warn you first, ain't I?"

"Adventurer" "Oh bother, I wish I had brought my lantern..."

This example doesn't have any real interaction, and doesn't have any graphics, but it is a complete and valid Ren'Py script. A real game would set up backgrounds and character images, define characters (so that it isn't necessary to type out the character's full name every time they speak), and, most likely, actually have the user interact with the game, instead of just reading.

Ren'Py is cross-platform, and the SDK and games can run on Windows, Mac, and Linux (x86 & x86_64). Though, unfortunately, game makers don't always release versions of their game for all three operating systems. There is also a build tool, rapt (Ren'Py Android Packaging Tool), to build Ren'Py games for Android. Rapt needs to be downloaded separately, if you want to use it. The SDK has built in support for the Editra and jEdit text editors, and you can download either one automatically if you select it on the Ren'Py SDK's preference screen. You can also set it to use your system defined text editor if you would prefer to use a different editor to write Ren'Py scripts.

If you can write, you can use Ren'Py, no major coding experience is needed. Granted, you'll make a prettier product if you happen to have some artistic skills, but it isn't a deal breaker if you aren't a GIMP guru. Ren'Py's documentation is very good, so there no significant barrier to entry on that front. If you want to bring in a fancier feature based on programming logic, the documentation shows how to do that without being overly technical. Plus, you can learn by reading the scripts of other people's games (though some games, especially the commercial ones, place their scripts into an archive making it harder to read them, but not impossible). You don't need to be an IT wizard to use Ren'Py, you just need creativity. And if you need more help, you can always ask in the Lemma Soft Forums, Ren'Py's official forums.

Currently, there are over 500 games developed using Ren'Py. They vary in length, age appropriateness, and, admittedly, quality. However, with 500 examples to choose from, there is certainly something there that could provide that spark of imagination for you to create something yourself. Some of the best examples of what Ren'py is capable of are the commercial (non-free) games, like Loren The Amazon Princess (a fantasy RPG) and Planet Stronghold (a sci-fi RPG), both from Winter Wolves, and Matches and Matrimony (a Jane Austen inspired relationship game) by Reflexive Entertainment. Demo/trial versions of all three games are available to download; though many of the free games are excellent as well.

Creating with Ren'Py isn't limited to games. It could just as easily be used to write presentations, learning objects, or virtual tours. If, for example, a library wanted to create a virtual tour featuring a cartoon version of the library's mascot showing children around and teaching them how to use the library, Ren'Py is an excellent tool for accomplishing that task. All it would take is a selection of digital photograph of the library, at least one image of the library's mascot (more if they want to some animation), and a script. If the library wanted, they could even write a quiz for the children to take at the end of the tour. One excellent example of someone already using Ren'Py in a novel manner is Teachings of the Buddha, which is a presentation of sixteen Buddhist sutras. With the technological barriers to entry so low with Ren'Py, the only real limit is your imagination. Download the SDK and create!

I think it would be great to have Tux the Penguin explain open source to people using Ren'Py to create the presentation. Any takers?


About the author

Joshua Allen Holm
Joshua Allen Holm - Correspondent