Difference between revisions of "Ren'Py"

From Free Software Directory
Jump to: navigation, search
(There were errors with your form input; see below.)
(No difference)

Latest revision as of 21:44, 1 August 2020



Ren'Py is a visual novel engine – used by thousands 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. Ren'Py is open source and free for commercial use.

Why Ren'Py? Ren'Py is a free and cross platform engine for digital storytelling. It makes it easy to combine words, images, and sounds to create visual novels and life simulation games.

Visual novels are computer-based stories that are told through words, images, sounds, and music. Many visual novels also present the player with menu choices that allow the player to control how the story is told.

Ren'Py's script language makes it easy to write visual novels, and other writing-heavy games. It's easy to learn, and scales well to the largest projects. Even without customization, Ren'Py provides the features players have come to expect from their visual novels.

Life Simulation games, such as management and dating sims, are more interactive games that mix story with gameplay. Ren'Py's screen language allows one to create complex interfaces, while its support for the Python scripting language allows for complex game logic, if that's what your project requires.

Free and Open Source

Ren'Py is free to use with commercial and non-commercial games. There is no need to pay a fee to us or anyone else1 to distribute your Ren'Py game. Ren'Py has already been used with a half-dozen commercial games, and more are on the way.

Ren'Py doesn't tie your work to a particular company, web service, or business model. Ren'Py games have been digitally downloaded millions of times, can be moved on USB drives, and have been burned to CD and sold at conventions from Texas to Tokyo. We think it's important the maker can choose how his or her work is distributed.

Ren'Py is open source, which means that everyone is allowed to change it, in order to fix bugs or add features. Of course, with a record of over fifteen years of improvements, it likely won't be necessary --- but the option is there if your project needs it.

Cross Platform - Computer and Mobile

One of Ren'Py's biggest advantages is that runs on almost every computer. There are three primary platforms we support:

Windows XP+ (x86) Mac OS X 10.6+ (x86_64) Linux (x86, x86_64) The Ren'Py launcher makes it possible to build versions of Ren'Py games for all three from any of these three platforms, making it possible to develop (for example) Mac and Linux versions on Windows.

Ren'Py games are not dependent on any other software on these platforms. There's no need for your users to download runtimes, drivers, codecs, or anything like that. If a user has one of the supported platforms, Ren'Py will run. (Even if not, Ren'Py is written using portable technologies like pygame, and so can probably be made to run.)

Android (5.0+) and iOS (7+) are supported as a secondary platforms. Ren'Py runs on these devices, but development must occur on one of the computer platforms. Ren'Py games can be run inside a browser that supports Web Assembly, but this support will be Beta until the browser platform improves.

Simple Scripting Language Ren'Py allows visual novels to be written in a simple scripting language. Here's a small excerpt from a game:

label family:

   scene bg beach2
   with dissolve
   "It wasn't long before Mary broke the silence, by asking me a question."
   show mary dark smiling
   with dissolve
   m "I told you a little about my family... but I haven't asked you about yours yet. What's your family like?"
   p "When I'm on the island here, I live with my aunt and uncle, but back home, I live with my mother, father, and sister."
   m "A sister? Is she older or younger?"

As you can see, this example, taken from a working Ren'Py script doesn't require much extra typing when compared just simply typing in the script for the game. It even lets you abbreviate character names, letting you write m instead of "Mary".

Ren'Py lets you define characters and images in a central place, making it easy to change the game. Scripts also provide consistency, ensuring that the placement of text and images does not inadvertently change throughout the game.

Unlike other engines that force you to use particular tools, the Ren'Py script language works with whatever text editors and other tools you choose. While we include the jEdit text editor, there's nothing forcing you to use it if you have another editor you like better. Other third-party tools can check your game's spelling, or show you the differences between two versions of the game.

Since Ren'Py's scripting language is text based, it can be typed out on any keyboard. Not having to switch back and forth between the keyboard and mouse helps increase productivity, especially when producing large projects.

Features Players Want

Ren'Py includes, by default, all of the features a user expects from a visual novel game. While most of these features can be customized or disabled if desired, by default each new game has:

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. The ability to pick if the game runs in fullscreen mode, or in a rescalable window. The ability to skip through text when replaying, including the ability to skip only text that's been read. The ability to auto-advance text without having to hit the keyboard. This adjusts to the amount of text being shown, so longer text sticks around longer. The ability to hide text, so that the user can see the pictures behind it. The ability to independently change music, sound effect, and voice volume. Easy to Customize and Localize

There are many ways a creator can customize the look and feel of Ren'Py:

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 behavior 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. Ren'Py game have been made in or translated to Arabic, Brazilian Portuguese, Czech, English, French, German, Italian, Indonesian, Japanese, Russian, and Spanish. With proper fonts, it supports any language that doesn't require ligatures, and some that do.

Powerful Effects

Ren'Py can take advantage of hardware acceleration on supported computers, while falling back to software support when it's not. This acceleration makes it possible to apply sophisticated effects to high definition images.

The 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. All of these can easily be changed over time.

Ren'Py ships with dozens of customizable transitions that can be invoked when a scene changes. In addition to a full set of slides, wipes, and moves, this includes:

Pixellation of the old scene, and unpixellation of the new one. Fades to black (or another color), and then to the new scene. Dissolves of the whole screen from one scene to another. Image-controlled dissolves, which use an image to control which portions of the screen dissolve in first. This has been used as the basis for a variety of powerful effects, from blood spatters to transporter beams. Ren'Py also supports the playback of movie files.

Compatible Formats

Ren'Py is compatible with assets in a variety of popular formats:

Images: JPEG/JPG, PNG, WEBP, BMP, GIF Sound/Music: OGG Vorbis, OPUS, WAV, MP3, MP2 Movies: OGG Theora, VP9, VP8, MPEG 41, MPEG 2, MPEG 1 Scalable Fonts: TrueType Image-based Fonts: SFont, BMFont, MudgeFont 1 This format may be patented, and so may not be suitable for use in commercial games.

Well Supported Thousands of games have been released with Ren'Py, making it one of the most widely used visual novel engines in the world.

There are now a large number of creators with Ren'Py experience, many of whom are willing to help fellow creators. The best place to go for support is the Ren'Py forum at the Lemma Soft Forums, which has more than 110,000 posts in over 20,000 threads. (Figures accurate as of June 2019.)

What Next? When you're ready to start using Ren'Py, you'll want to download it from our download page, and then take a look at the Quickstart Guide.

We can't wait to see what you create!



Verified by

Verified on




Verified on

2 August 2020


Most of Ren'Py is covered by the terms of the following (MIT) license.

Ren'Py binaries include code from the following projects: Pygame_SDL2 (MIT License, GNU LGPL) pyobjc (MIT License) py2exe (MIT License)

GLEW (Modified BSD, MIT License)



Verified on

2 August 2020


Ren'Py binaries include code from the following projects:

Pygame_SDL2 (MIT License, GNU LGPL) Fribidi (GNU LGPL) ffmpeg (GNU LGPL) (libav in some older versions, also GNU LGPL)

libjpeg-turbo (GNU LGPL)



Verified on

2 August 2020


Ren'Py binaries include code from the following projects:

SDL2 (Zlib License) SDL2_image (Zlib License) SDL2_ttf (Zlib License) Freetype (Zlib License)

zlib (Zlib License)

Verified on

2 August 2020


Ren'Py binaries include code from the following projects: GLEW (Modified BSD, MIT License)



Verified on

2 August 2020


Ren'Py binaries include code from the following projects: Python (Python License)

Verified on

2 August 2020


Ren'Py binaries include code from the following projects:

bzip2 (Bzip2 License)

zsync (Artistic License)

Leaders and contributors

Tom "PyTom" Rothamel Lead developer

Resources and communication

Software prerequisites

Required to buildAndroid and iOS Support When building Android packages, iOS packages, or web distributions, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool), Renios (Ren'Py iOS Support), or Renpyweb (Web Platform Support). As these downloads may fail if your Internet connection is unreliable, these packages can be downloaded separately. To install, extract the contents of the archive to the Ren'Py directory. (Place the "rapt", "renios", or "web" directory into the "renpy-7.3.5" directory.)


Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

"BSD-3-Clause" is not in the list (ACEL, AFL-3.0, AGPL-1.0, AGPL-1.0-or-later, AGPL-3.0, AGPL-3.0-or-later, AGPL-3.0-or-later-with-exception, AGPL-3.0-with-exception, AGPLv1orlater, AGPLv3, ...) of allowed values for the "License" property.

"Lead developer" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.