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 six years of improvements, it likely won’t be necessary — but the option is there if your project needs it.
1 Unless you use mpeg or mp3 support, in which case you’re responsible for paying for the patent license. We don’t recommend using these formats in commercial games.
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 (2.3+) and iOS (6+) are supported as a secondary platforms. Ren’Py runs on these devices, but development must occur on one of the computer platforms.
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
- TFQ uses a lot of imagemap-based menus.
- 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.
The Ren’Py Tutorial shows how to use the Animation and Transformation Language in conjunction with a few images to create a movie-like experience. 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.
- The Ren’Py Launcher, jEdit and the Ren’Py Tutorial running on OS X.
- Ren’Py is compatible with assets in a variety of popular formats:
- Images: JPEG/JPG, PNG, BMP, GIF
- Sound/Music: OGG Vorbis, WAV, MP32, MP22
- Movies: OGG Theora, MPEG 4, MPEG 2, MPEG 1
- Scalable Fonts: TrueType
- Image-based Fonts: SFont, BMFont, MudgeFont
These formats may be patented, and so may not be suitable for use in commercial games.
Hundreds 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 56,000 posts in over 9,500 threads. (Figures accurate as of September 2014.)