Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building for Release

There is not yet an automated way to ship games on desktop platforms.

However, it is possible!

Set up the release directory

When bloop.exe starts, it first searches for a modules/ directory and an assets/ directory. Create these next to bloop.exe.

bloop.exe
modules/
assets/

At startup, the engine scans the modules/ directory for any dynamic libraries. For each library that it finds, the engine loads the dynamic library as an ECS module.

The assets/ directory is the root directory which the engine uses to search asset paths.

Move your game files to the release directory

In your Rust project, run cargo build -r to compile your game with release optimizations. Copy the resulting .dll file (or .dylib on Mac OS) to the modules/ directory.

Copy your assets/ directory to the release directory's assets/ directory.

bloop.exe
modules/
  my_game_module.dll
assets/
  game_texture1.png
  game_texture2.png
  ...

Renaming the engine

As a last step, rename bloop.exe to the name of your game (there is no reason that bloop.exe must be called bloop).

MyGame.exe
modules/
  my_game_module.dll
assets/
  game_texture1.png
  game_texture2.png
  ...

🚢