Skip to content
Menu

Docs · Ship it

Exporting

10 minutes

By the end

  • Your game in a folder of its own, named after your project
  • That game running with no editor, the way the people you send it to will run it
  • What is in the folder, and which of your pictures reach it
On this page

Before you export

  • Save everything. Export copies the files in your project folder as they are on disk: press Ctrl+S in each scene and script you have changed.
  • Set a startup scene. An exported game opens on that scene, and a script moves it to others with change_scene, or the Levels list does, as each level ends: see Levels and endings. In Assets, right-click the scene and choose Set as startup scene. A game exported without one does not start: it stops at once, saying the project names no startup scene.
  • Clear every script error. A game with an error in any script does not open. See When a script is wrong.
  • Save your pictures as PNG. See Which pictures reach the game.
  • Try it first. Run game runs your project with the same player an export ships.

Export

  1. Click the Build tab, at the bottom right beside Levels. If it is not there, choose View → Panels → Build.
  2. Its Export section is open. Under the Export button, a line says where the game will be written: a dist folder in your project, then a folder and a file both named after your project folder.
  3. Press Export. Nothing is compiled. The Output section under the form lists where it wrote the game, and says Exported and your game’s name when it is done.
  4. The editor opens the new folder in your file manager.
The Build panel’s Export section: the Export and Cook only buttons, and under them the line ship-evader/dist/ship-evader/ship-evader
The Export section of a project called ship-evader, from the Ship Evader tutorial. The line under Export is the game it writes.

For a project made of scenes and Rengy Script, that is the whole form: Export, the line under it, and Cook only, which prepares a copy of your pictures and sounds in a cooked folder in your project to report their sizes. No game reads that folder, and the next export copies it into your game, so delete it when you are done with it. The game is named after your project folder, and the name must be one every computer can use for a file: a folder name ending in a dot or a space, holding a colon, or a name Windows keeps for itself, such as con, is refused before anything is written. Rename the folder.

The installed editor exports for the kind of computer it runs on. On Windows the game is my-game.exe, and it runs on Windows; on Linux it is my-game, and it runs on Linux. To make both, export once from each.

What is in the folder

my-game or my-game.exe
The game: a copy of the player that came with Rengy, named after your project. It opens the project it sits beside, wherever the folder is moved, and its window is titled with your project’s name.
Your project’s files
Everything in your project folder, as it was on disk: project.rengy, your scenes and scripts, your pictures and sounds, and the .meta beside each. What .rengyignore names is left out, and so is dist, where exports go.
dist/content/desktop
Your pictures, sounds and shaders, prepared for the game to load, with a list of them in manifest.ron.

The folder is still a project. File → Open project… on it opens your game in the editor again.

The export carries every .meta the game needs, so the game writes nothing in its own folder: it runs from a folder it cannot write to, such as a read-only drive. What its scripts save goes to a file of its own in your account’s data folder, never into the export: see where Ship Evader’s saves live.

Send it

Zip the folder and send it. Whoever gets it unzips it anywhere and starts the game file: they do not need Rengy. On Linux, if double-clicking it does not start it, run ./my-game in a terminal in that folder. The game opens your startup scene, with the controls you gave it in Input, and a Character Body the keys drive walks on them, as in the editor.

On Windows, a text window opens beside the game and shows what it prints; on Linux, start it from a terminal to see that. Debugging says what the lines mean.

Which pictures reach the game

The Assets panel lists .png, .jpg and Aseprite files, but only a PNG draws everywhere:

FileIn the editor and Run gameIn an exported game
.pngDrawsDraws
.jpgDraws nothingDraws nothing
.asepriteDraws nothingDraws the whole sheet, every frame at once

Save every picture as a PNG. From Aseprite, export a sprite sheet as PNG and cut it into regions, as Sprites and art shows.

A PNG is drawn at its full resolution in an exported game, as in the editor. The Desktop size cap in its import settings is stored, not applied yet: see Projects and assets. For each picture larger than its cap, an exported game prints a line saying it did not decode, then draws the picture anyway.

Sounds reach the game as .ogg, .wav and .mp3, and shaders as the .wgsl files themselves, which the game compiles when it starts. See Audio and Effects and shaders.

What an exported game does not do yet

Next

Debugging finds what is wrong when the game does not do what the editor did.