Ren’Py is a game system that lets you create interactive games with simple text dialogs and graphics. I think it’s been used to create a lot of the teen dating games (and some of the more adult/pornographic, such as Hentai) that are popular in Japan and Vietnam. A dating-sim framework is provided, so that’s probably why those games are so common. But in theory, Ren’Py can be used for other game types (e.g. RPG).
The website has links to more than 300 games created with Ren’Py. The graphics in the games tend to be very similar to Manga, but I think that’s because of the popularity in those countries rather than being intrinsic to the Ren’Py design.
The Ren’Py programming language is very descriptive and reads very much like a film script. Here’s an example of a short script from the Ren’Py online manual.
image bg meadow = "meadow.jpg"
image bg uni = "uni.jpg"
image sylvie smile = "sylvie_smile.png"
image sylvie surprised = "sylvie_surprised.png"
define s = Character(‘Sylvie’, color=”#c8ffc8″)
define m = Character(‘Me’, color=”#c8c8ff”)
scene bg meadow
show sylvie smile
“I’ll ask her…”
m “Um… will you…”
m “Will you be my artist for a visual novel?”
show sylvie surprised
“She is shocked, and then…”
show sylvie smile
s “Sure, but what is a “visual novel?””
It combines visual graphics with user interface elements such as buttons, so you can zoom in, play sound, perform actions, etc. It’s a very powerful and rich language and comparable to Flash in some respects — but a higher level.
Ren’Py is licensed under the GNU Lesser GPL license. This means that you can release commercial games with it, so long as you include a link back to the Ren’Py lgpl license. (If I’m wrong, please let me know).
Although Ren’Py is pretty powerful, it can be further enhanced by including Python script code in the game source. Ren’Py is written in Python but it can’t cover all aspects so this lets you extend your game to do anything you want. Python is a very popular scripting language that is available for most platforms and this means Ren’Py runs on Windows, Mac and Linux. Most Linux systems have Python installed by default, so you’ll likely only need to download and install it for Windows.
Games created by Ren’Py must be downloaded and run on a computer, they’re not available to play online. I think this is a big opportunity for someone to create a Ren’Py server that will allow you to play Ren’Py games online.
Alternatively it might be possible to use Python running with Native Client, and Ren’Py games could then become available via the Chrome Web Store. At some point, I expect Native Client to support Python as it’s their main scripting language. Until then, I’m speculating that it might be possible to run IronPython (a version of Python that runs on the .NET/Mono platform) with Mono, which does have support for Native Client. If anyone succeeds, I’d love to hear, so please email and tell me!