Ren'Py - Visual Novel Engine

Hello, everyone. I’m the lead developer of the Ren’Py visual novel engine, and I’d like to post to let people know about Ren’Py.

[size=200]Ren’Py[/size] is a digital storytelling tool that lets people create games that combine story, choices, art, and music. Although original designed for visual novels that contain long stretches of text punctuated by a small number of choices, people have used it for a wide range of projects, ranging from kinetic novels (which lack choice) to elaborate simulation games and RPGs.

The Ren’Py SDK runs on Windows, Mac, and Linux. It’s batteries-included, containing everything needed to start developing on those platforms. With a single click, it can build standalone distributions for the desktop platforms, and with a slightly more complex process, it can build for Android. I’m currently porting Ren’Py to iOS.

Ren’Py is open source and free for commercial use. Ren’Py has been available since 2004 (over ten years), and in that time it’s been used to release about a thousand games, ranging from simple first projects to games that have won awards and been released on Steam.

Ren’Py games are mostly written using a high-level script language:

In addition to the script language, Ren’Py also has high-level languages for creating animations and for customizing the user interface. It also supports embedded Python, both for defining more complex game logic and extending the engine.

Ren’Py can be downloaded from:


I’d be happy to answer any questions people have about Ren’Py, or about visual novels in general - just post them here. For Ren’Py support, you may also want to consider posting on our forum, as often times, the community will answer the question before I can.

[size=85]Screenshots, from left to right:

  • The Elevator by Cyanide Tea
  • CAVE! CAVE! DEUS VIDET. by We Are Müesli
  • Hate Plus by Love Conquers All Games
  • Junipers’ Knot by Dischan
  • Sunrider: First Contact by Love In Space
1 Like

Emily Short on Heileen

Wow, ralphmerridew, that’s an ancient link.

Thanks for coming by, Tom! Most of the Ren’Pys I’ve played have been by Christine Love, I think, and there’s also this completely crazy one where all the dialogue is generated by a Markov chain so I know it does random text generation. But how much text generation/behind-the-scenes tracking happens natively and when do you need to go to embedded Python?

I’ll throw in an endorsement: Ren’Py is a great teaching tool for pre-teens and young teens in a classroom setting. The students like that it’s a genre of game they understand (as opposed to parsered IF, which can be one of the teaching challenges for Inform), that it’s very easy to include images, and that the language is pretty straightforward. Administrators like it because it looks like Real Code.

matt w - The variable tracking stuff is basically the same as Twine, if you have any experience with that. So things like making a number/boolean/string variable, setting it, and comparing it to something are easy right out of the box, whereas more complicated datatypes or something like a full implementation of a Markov chain are probably embedded code.

I think I would like this, but it seems (obviously) geared toward conversation-heavy graphical games. I’m not an artist but it seems these games are very focused on character visual design (especially anime type.) Are there any examples of what Ren’Py can do that might be conducive for a non-artist like me?

Ren’Py - and other visual novels - isn’t focused on text generation in the same way that parser-based IF is. Visual novels tend to present pre-written dialogue and narration to the player, with conditionals selecting pre-written blocks. When a variable is changed after the game starts, Ren’Py will track it’s values, in order to handle save, load, and rollback. (Rollback is a feature where using the mouse wheel or pageup key, the game will reset itself it a prior state. It’s useful if a player clicks too quickly and misses a line.

I haven’t seen the markov-chain based game, but I’m guessing it did much of its work using embedded python.

Thanks! Teachers seem to be using Ren’Py to get people over that initial hump of making the first game. It’s been taught in everything from the children’s track of Python conferences to introductory level college courses.

Compared to other IF platforms, Ren’Py might be better at displaying dialogue and thoughts, one step at a time. Ren’Py is very much focused on conversations - internal and external - where other engines seem to be focused on exploration.

Beyond that, even without being an artist, it’s possible to use creative commons art and music to add atmosphere to a game. For example, one could use full-screen background images, perhaps in conjunction with Ren’Py’s NVL Mode (full-screen text mode) to provide a more concrete sense of place.

The Markov chain game is Your Swimsuit Jumped Over Its Own Weathercock, You Liar! Sorry for bringing up such an, um, outré example; anyone who’s really interested in Ren’Py should probably check out Christine Love an example of what it can do! And everyone else should check out Christine Love too. I mean, really.