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.
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.
One of Ren'Py's biggest advantages is that runs on almost every computer. There are three primary platforms we support:
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.
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.
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:
There are many ways a creator can customize the look and feel of Ren'Py:
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.
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:
Ren'Py also supports the playback of movie files.
Ren'Py is compatible with assets in a variety of popular formats:
1 This format may be patented, and so may not be suitable for use in commercial games.
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.)
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!