renpy/Why Ren'Py?
From Ren'Py Visual Novel Engine
Why Ren'Py?
|
Ren'Py is a free and cross-platform engine that helps you make story-based games. These include: |
|
|
|
|
|
|
Ren'Py can be extended using user-defined displayables to support a wide variety of gameplay. Ren'Py should be suitable for any 2D story-centric game. |
Free and Free to Use
Ren'Py is free to use with commercial and non-commercial games. While Ren'Py and the libraries it depends on are all open source, they are licensed in ways that let you choose if your game will be open-source or closed-source. There is no need to pay a fee to us or anyone else* to distribute your Ren'Py game. Ren'Py has already been used with a half-dozen commercial games, and more are on the way.
See the Ren'Py license for more details.
Of course, if you make money off of a Ren'Py game and feel like supporting further development, a donation would be nice.
* 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
One of Ren'Py's biggest advantages is that it is cross platform. There are three primary platforms we support:
- Windows 2000+ (x86)
- Mac OS X 10.4+ (x86 and ppc)
- Linux (x86, glibc 2.3+)
The Ren'Py launcher makes it possible to build versions of Ren'Py games for all three platforms from any of these three platforms, making it possible to develop (for example) Mac and Linux versions on Windows.
Another advantage is that 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.
Ren'Py can also be made to run on other platforms that support pygame, provided they have a reasonable amount of memory.
Script Language
Ren'Py uses a simple text-based script language to write games in. 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. This makes it easy to make changes, without having to change the entire game. Another benefit of using a script is consistency, as it makes it easy to ensure that the placement of text and images does not inadvertently change throughout the game.
Being text-based, the Ren'Py script language can work with whatever text editors or 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.
Some of the things you can do from the script language are:
- Display dialogue and thoughts.
- Let the user pick choices from a menu, with no limit on menu length.
- Show and hide pictures and images.
- Perform transitions between screens.
- Play music, sound effects, and voices.
- Jump to, call, and return from labels.
- Set variables, and branch or loop on the value of those variables.
- Use Python to perform more complicated tasks.
Features by Default
Ren'Py includes, by default, all of the features a user expects from a visual novel game. While most of these features can be turned off if desired, by default each new game has:
- A main menu that is shown before the game starts.
- A game menu that lets the user load, save, and adjust settings.
- Automatic saving of games every once in a while.
- The ability to pick if the game runs in a window or in fullscreen mode.
- The ability to independently change music, sound effect, and voice volume.
- The ability to skip text, 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.
- 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.
Customization and Localization
There are many ways a game-maker can customize Ren'Py. A few of them are:
- The game-maker can choose to present things in NVL-mode, which shows more than one block of text on the screen at once.
- Themes and Layouts can change the look and feel of the various menus.
- Styles can change the look of just about everything in the game.
- One can change the font, size, color, underline, outline, and boldness of text. Text tags let many of these properties change even within a block of text.
Ren'Py games have been made in or translated to the following languages:
|
|
With proper fonts, Ren'Py should support any left-to-right language that does not require ligatures.
File Types
Ren'Py can display the following image formats:
- JPEG/JPG
- PNG
- BMP
- GIF
Ren'Py can play the following audio formats:
- OGG Vorbis
- WAV (uncompressed PCM only)
- MP3*
- MP2*
Ren'Py can play the following movie formats:
- Theora
- MPEG 4*
- MPEG 2*
- MPEG 1*
Ren'Py supports TrueType fonts, and a variety of image-based font formats. Ren'Py can archive files into its own archive file format, RPA. This protects files from casual access.
* These formats may be patented, and so may not be suitable for use in commercial games.
Support
More than 180 games have been released with Ren'Py.
This means that there are now a large number of people with Ren'Py experience, many of whom are willing to support new users. The best place to go for support is the Ren'Py forum at the Lemma Soft Forums, which has more than 17,000 posts in 2,100 threads. (Figures accurate as of August 29, 2009.)
Getting Started
Hopefully, this has convinced you to use Ren'Py to make your next story-based game. Once you've downloaded Ren'Py, the best place to get started is with the Quickstart Manual.
We can't wait to see what you do with it!
