Skip to main content

🎮 Game Engines

Ren'Py

Ren'Py is a free, open source engine purpose-built for visual novels, and its scripting language reads almost like plain English. It handles dialogue, branching choices, saves, rollback and character sprites for you, so you can focus on the story instead of the plumbing.

Quick Facts

Developer Tom Rothamel and the Ren'Py community
First released 2004
Latest version 8.x series (Python 3 based); see official website
Language Python-based scripting language
Platforms Windows, macOS, Linux, Android, iOS and web (HTML5)
License Open source (MIT)
Pricing Free, no royalties

What is Ren'Py?

Ren'Py is a free and open source engine purpose-built for visual novels, the interactive fiction genre where you read dialogue, make choices and steer the story. You write your game in a scripting language that reads almost like plain English, with labels for story beats and simple commands for showing characters, playing music and jumping between scenes.

The engine is named after ren'ai, the Japanese word for romantic love, and that is the genre's home turf, but Ren'Py games cover horror, comedy, mystery and even educational material. Famous examples include Doki Doki Literature Club, Everlasting Summer and Katawa Shoujo, which together show how far a free tool can go.

Ren'Py is developed by Tom Rothamel, known as PyTom, with a large community of contributors. Because it is built on Python, anything the scripting language cannot express can be written directly in Python, which makes the engine surprisingly flexible for a tool that looks so simple.

Key Features

  • Simple scripting language: define characters, show sprites and write dialogue in readable .rpy files
  • Choice and branch support with flags, variables and conditionals
  • Rollback, so players can rewind the story and change their choices
  • Save and load system with multiple slots and quick save
  • Screen language for building custom menus, inventory and UI
  • Full Python integration for complex systems like RPG battles and minigames
  • Export to Windows, macOS, Linux, Android, iOS and HTML5 web builds
  • Accessibility features like self-voicing and text scaling

How to get started

Download Ren'Py from renpy.org and unzip it; the launcher runs on any major OS without an installer. From the launcher you create a new project from a template, which gives you a working game with a menu, a start screen and one scene.

Open the project's script.rpy file in any text editor. You define characters with the define statement, write dialogue with say statements, and use labels and jump to control the flow. Hit the Launch Project button in the launcher and your game runs immediately, which makes iteration extremely fast.

  • Download and run the Ren'Py launcher from renpy.org
  • Create a new project from the template
  • Edit script.rpy to write your story and dialogue
  • Launch the project to test your changes
  • Play the tutorial game that ships with Ren'Py to learn the basics

Use cases

  • Visual novels and dating sims of every genre
  • Interactive fiction with branching narratives and multiple endings
  • Educational stories and interactive lessons
  • RPG-lite games that blend storytelling with Python-coded battles
  • Prototyping narrative ideas fast without any programming
  • Accessible reading experiences with self-voicing support

Pricing and licensing

Ren'Py is completely free, released under the MIT license, which means you can use it for commercial games, sell your visual novel on Steam or itch.io, and keep 100 percent of the revenue. There are no royalties, no seat licenses and no hidden costs.

Development is funded through donations and sponsorship. The engine's long history and open license have built a huge library of free tutorials, guides and template code, so most problems you hit already have a community answer.

Pros and cons

The big wins are price, simplicity and community. You can go from zero to a playable visual novel in an afternoon, the documentation is thorough, and thousands of released games mean there is always an example to learn from. Cross-platform export is also painless.

The trade-offs are scope: Ren'Py is a 2D narrative engine, so action gameplay, 3D scenes and heavy real-time graphics are out of its comfort zone. You can bolt systems on with Python, but complex games eventually fight the engine.

Alternatives

  • Twine: free, web-based interactive fiction with a node-based editor
  • Ink (Inkle): a scripting language for branching stories, used in 80 Days
  • TyranoBuilder: visual drag-and-drop visual novel maker
  • Visual Novel Maker: commercial engine by Degica
  • Unity or Godot with dialogue plugins: for games that need a full engine anyway

Resources

What is New?

By continuing to use the site, you agree to the use of cookies.