Ren’Py – visual novel engine

Ren’Py is an open source visual novel engine – used by hundreds of creators from around the world – that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. These can be both visual novels and life simulation games. The easy to learn script language allows anyone to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.

This open source engine offers movie playback for both full-screen movies and animated sprites, in-engine animation (using the built in “Animation and Translation Language”, or ATL), and full animation and customization of UI elements via “Screen Language”.

Ren’Py is built on pygame, which is built with Python on SDL. It supports three computer platforms: Windows, Mac OS X, and Linux.

Ren’Py has been used to create over 1,500 visual novels, games, and other works.

Features include:

  • Highly cutomizable. For example:
    • Dialogue can be presented in the default ADV-style mode, or in NVL-mode, where more than one block of text is on the screen at once.
    • The style system allows the creator to customize the look of text, buttons, bars, and other interface components.
    • Ren’Py’s screen language makes it possible to control the layout and behaviour of every screen of the user interface.
    • The same functionality is made available to Python code, for games that might choose to change their interface at runtime.
  • Create branching stories.
  • Save file systems.
  • Downloadable content.
  • Animation and Transformation Language included with Ren’Py makes it possible to animate images, move them around the screen, rotate them, adjust their scaling, and adjust their opacity.
  • Supports a sprite system which allows the author to create sprites.
  • Supports many editors including Atom.
  • Self-voicing mode, which provides accessibility for blind users.
  • Script language makes it easy to write visual novels, and other writing-heavy games. It’s easy to learn.
  • A main menu that lets the user start a new game, load a game, or adjust settings.
  • A game menu that lets the user load, save, and adjust settings.
  • Automatic saving of games.
  • Rollback, the ability to go back in time to see previously shown screens. The user can even make different choices the second time around.
  • Predictive image loading, which loads images in the background. This prevents the user from having to wait around while images are being loaded from disk.
  • Support for controlling the game using the mouse, keyboard, or gamepad.
  • Pick if the game runs in full screen mode, or in a resizeable window.
  • Skip through text when replaying, including the ability to skip only text that’s been read.
  • Auto-advance text without having to hit the keyboard. This adjusts to the amount of text being shown, so longer text stays around longer.
  • Hide text, so that the user can see the pictures behind it.
  • Independently change music, sound effect, and voice volume.
  • Compatible with a wide range of formats:
    • Images: JPEG/JPG, PNG, WEBP, BMP, and GIF;
    • Sound/Music: OGG Vorbis, OPUS, WAV, MP3, and MP2;
    • Movies: OGG Theora, VP9, VP8, MPEG 4, MPEG 2, and MPEG 1;
    • Scalable Fonts: TrueType;
    • Image-based Fonts: SFont, BMFont, and MudgeFont.
  • Supports a wide range of operating systems – Linux, Windows, OS X, iOS, Android, and Chrome OS.

Website: www.renpy.org
Support: Documentation, Ren’Py Games List, GitHub
Developer: Tom “PyTom” Rothamel
License: MIT License

Ren'Py

Ren’Py is written in Python. Learn Python with our recommended free books and free tutorials.

Return to Tools for Novelists Home Page | Return to Write Interactive Fiction Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.