This page is out of date

You've reached a page on the Ren'Py wiki. Due to massive spam, the wiki hasn't been updated in over 5 years, and much of the information here is very out of date. We've kept it because some of it is of historic interest, but all the information relevant to modern versions of Ren'Py has been moved elsewhere.

Some places to look are:

Please do not create new links to this page.


This page is historical, it's been obsolete since this function was added to the launcher.

Releasing Ren'Py Games

Quick pre-release checklist:

Okay, so you've finished creating a game using Ren'Py, and now you want to release it. Congratulations! This will help you with the process of packaging up your creation before sending it to the world.

Before Packaging

There are some steps we ask you to do before packaging your game for distribution.

Update Ren'Py. The first thing to do is to check to see if you have the latest version of Ren'Py. New versions of Ren'Py fix bugs in old versions. If you're not using the latest version, your game may have known bugs in it. At the very least, ask about what was fixed between versions if you insist on using an older version.

Create/Update License and Readme. Your game should include LICENSE.txt and README.txt files. Your games license should include the Ren'Py LICENSE.txt file, while at the same time specifiying the license of your original work. The README.txt can be patterned off of the README_RENPY.txt file that ships with Ren'Py.

Add Ren'Py Credit. We ask that you add a Ren'Py credit into your game. This tends to be a line like "Made with Ren'Py.", but feel free to word it however you want. This helps get the message out to people that Ren'Py is available.

Change Exe Icon. You'll probably want to change the icon of the exe file. The best way to do this is to create a .ico file containing 48x48, 32x32, and 16x16 versions of your icon, and then to use D10 Resource Editor to go in and change the icon of the file. Just delete the existing icon, and choose the command "Import Image Resource" to add in the new icon. Save the modified executable.

Run add_from. The next thing to do is to ensure that you actually have a finished and working game. Did you remember to run add_from? The easiest way to do this is to change into the tools/ directory, and run game_add_from.bat. That tool will add from clauses to all of the call statements in your program, ensuring that everything continues working after a game is reloaded. It will also create .bak files for each of the .rpy files it can find, so you'll probably want to delete those by hand once you've tested the changes.

Run lint. You'll also want to run game_lint.bat, also found in the tools/ directory. This is a tool that will check your Ren'Py game for subtle bugs. If it reports any bugs, you should fix them, and run lint.bat again until they're all fixed. If you've changed the name of the .exe, you'll probably need to edit lint.bat so that it runs. In general, you don't want to release a game with lint errors, or at least a good excuse for said errors. Many of the problems that are found this way are fairly subtle, and only manifest themselves on some of the platforms Ren'Py supports.

If you're not totally sure that everything is A-OK, you can send your game to pytom@bishoujo.us, and I will check it over in confidence.

Building the Distribution

Now, we have everything that goes into the final distribution. In fact, we have more than enough, as Ren'Py ships with a number of tools that aren't needed to run a game. So we need to decide which files to keep in various circumstances.

Here, we classify files into 3 groups:

There are two types of distributions you can make. The first is a cross-platform zip, which can run on Windows, Mac, and Linux. this zip file contains all three kinds of files. The second is a windows installer, in which some sort of installer program installes only the windows and both files. You should always release at least a cross-platform zip file, to install your program works on all platforms Ren'Py supports. If you're only releasing one distribution, make it a cross-platform zip.

The list of files you'll want to include as part of your game are:

Once you have a game containing the files given above, you can archive them using ZIP or some other tool. You should then test them by uncompressing them, ensuring that game/saves/persistent does not exist, and then running the uncompressed copy. (This ensures your release directory remains pristine... running Ren'Py in the release directory will create game/saves/persistent there.)

Once you are happy with the result, you can post up your game, and announce it at the Lemma Soft Forums. Congratulations on releasing your game!

Do not Distribute

For the record, the following are the files distributed with Ren'Py that should not be distributed with a game.

should be deleted before distribution, but please note that running Ren'Py recreates it automatically. It contains a file named persistent that stores the list of seen lines. Shipping a persistent file may lead to the option to skip seen text skipping text not seen by the end-user.

Low-File Option

If for some reason, you want to minimize the number of files distributed with your game, you can do the following:

These steps should allow you to make a cross-platform distribution consisting of 5 important files:

The run_game files may be renamed to something else without ill-effect. The game.rpa file can be renamed to data.rpa.

You'll also want to include README and LICENSE files, although perhaps those can be merged into a single file, for a total of 6 files.

The low-file option is still experimental, so be sure to test your game after packaging it this way.