Jump to content

Renpy

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by KurtRaschke (talk | contribs) at 15:22, 17 May 2008 (Added {{cleanup}} tag to article. using Friendly). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Ren'py Visual Novel Engine
Stable release
Ren'Py 6.6.2 "But I Get Up Again" / May 14, 2008
Written inPython
Operating systemWindows, Linux, OS X
Size14MB
Available inEnglish
TypeVisual Novel Engine
LicenseMIT
Websitehttp://www.renpy.org

The Ren'Py Visual Novel Engine

Ren'Py is an engine that supports the creation of visual novels and dating sims, forms of computer-mediated storytelling. It supports a movie script-like syntax that makes creating simple games easy, while still being customizable and extensible by advanced creators. With no additional work by the game-maker, it supports features expected of all visual novels, like loading, saving, preferences, and rollback. Ren'Py is supported on Windows, Mac OS X, and Linux x86, and can be made to run on other platforms.

Ren'Py is open-source software, and is free to use for commercial and non-commercial purposes. It does not require you to open-source your game. Please read the Ren'Py license for more details.

Features

Ren'Py has support for almost any effect you can find in a commercially available Visual Novel. If any features are missing, they can be added with a little python programming. The Ren'Py distribution also comes with a demo game which shows most of these features in action.

Dialogue, Narration, and Game Logic

  • Ren'Py games are written in text files which can be edited in any editor. (A syntax highlighting text editor customized for use with Ren'Py scripts is bundled in the Ren'Py distribution.)
  • The Ren'Py syntax for writing dialogue and narration is very similar to the format for a movie script. Ren'Py requires very little additional typing per line in order to have a character say something — usually just one letter (plus quotes). E.g.

"As I daydream about what I'll do after I get out of work, Bob and Jenny walk in."
b "I'd like two scoops of chocolate ice cream in a cup, please."
j "I'll take one scoop of vanilla in a cup with hot chocolate."
  • In Ren'Py scripts, characters and variables are referenced by name, not by number.
  • Ren'Py automatically performs line breaking for dialogue and narration to fit the screen.
  • Game logic can be based on menu choices or variables, so you can do point-based game flow in Ren'Py.
  • There are no limits to the size of menus and menu choices besides the size of the screen.
  • The presentation of dialogue and narration is customizable: location, color, font, style, side images etc. are all changeable.
  • Text can include tags which let you modify dialogue and narration to make individual words or groups of words bold, italic, underlined, bigger, smaller, different colors, etc.
  • Images can be embedded into dialogue and narration text.

User Interface & Game State (Saving & Loading)

  • Ren'Py supports both saving and loading automatically; there's nothing that you need to do to enable this.
  • Unlimited save game slots.
  • Ren'Py automatically lets the user roll back through screens and menu choices (using the mouse scroll wheel).
  • Roll-back supports roll-forward, to get back to where you were before you started rolling back, including through menu choices (using the mouse scroll wheel in the other direction).
  • Rollback can be disabled by the game writer.
  • Ren'Py supports skipping so that users can re-play the game and skip any dialog which they've already seen, while still seeing the new stuff when they make different choices.
  • Auto-forward: Ren'Py supports a timed auto-forward so that the user doesn't need to click the mouse for every screen.
  • Ren'Py supports input from the mouse, keyboard, and joystick.

Special Effects

  • Supports both full screen mode and windowed mode.
  • An unlimited number of images can be displayed on the screen at once.
  • Image pre-loading so that images snap onto the screen with minimal delay and no tearing.
  • Many bundled graphical transitions such as fading and dissolve, with optimized C code where necessary to make the transitions visually smooth.
  • Image-controlled dissolve to allow user-defined dissolves.
  • Can play mpeg1 movies.
  • Can pan across larger-than-the-screen static images as an animation.
  • Image scaling with bi-linear interpolation.

Sound

  • Music playback with mp3, ogg vorbis, ogg speex, and mod formats.
  • Music can be faded in and out.
  • Sound effects can be played on top of the music.
  • Voice support (for voice acting of dialog and narration) is included.
  • Up to 8 channels of music, sound effects, and voice can be played simultaneously.

Multi-Language Support

  • Ren'Py supports any left-to-right language which doesn't require ligatures. This includes English, French, Spanish, Czech, Slovak. Chinese and Japanese are supported if you can supply a suitable font.

Distribution

  • Cross Platform: Officially supported on Windows, Mac, and Linux x86. Support for other platforms is also possible.
  • Ren'Py is distributed under the [[../License|MIT license]] which means that you can sell games made with Ren'Py without having to pay for it. Free distribution is of course also permitted.
  • Ren'Py scripts can be obfuscated for distribution so that it is difficult for people to read or modify the source script.
  • Media files can be archived for distribution to make it difficult to access them individually.

Game Development

  • The Ren'Py distribution comes with a launcher which helps you to start and manage Ren'Py projects.
  • Ren'Py comes with a template game to help you to get started.
  • Ren'Py is documented in the Ren'Py reference manual
  • The Ren'Py forum on Lemmasoft Forums has a helpful community of game developers.

Links