Skip to content

Game Engines and Associated Launch Files

RetroGFX edited this page Feb 26, 2025 · 1 revision

Game Engine Launch Files

Game engines such as Build Engine, GZDoom, LZDoom, ScummVM and ECWolf use launch files for launching the game with the specified files and mods. Most are configurable to enable different configurations of game files and mods per game.

Note: the extensions for game engine launch files are case-sensitive, so make sure the launch extensions .build, .doom, .scummvm and .ecwolf are lower case, and make sure any references to game files match the case of the game files exactly (e.g. if the game file is DOOM.WAD then trying to launch it as doom.wad won't work).

Build Engine

.build files

These files must be created for each build engine game that will be launched with raze. The file contains a PATH variable and an optional GRP variable. The PATH variable points to the subfolder containing the game's GRP file. The optional GRP variable is used to identify the specific GRP file to load for games with multiple GRP files.

Example: /storage/roms/build/shadow warrior.build contains

PATH=sw
GRP=SW.GRP
-- end --

where the Shadow Warrior games files are stored in subfolder sw, i.e. /storage/roms/build/sw/

Note: don't leave any space between GRP or PATH and = and enclose filenames containing spaces with "quotes"

Note: add -- end -- to the end of the file if it contains multiple lines

Doom

GZDoom will detect the analog stick automatically, this makes menus navigatable. UnofficialOS does not provide any controls mapping for GZDoom, as there is no obvious default mapping as with console emulators. Users have to map their own preferred controls.

.doom files

These files must be created for each WAD that you want to load with GZDoom. The file contains IWAD variables and optional MOD variables. Multiple IWAD and MOD variables can be used in the same file to load multiple wads, mods and packages. Therefore, multiple .doom files can be created for the same WAD for each configuration of the game.

It is recommended to store WAD files in a iwads subfolder and MODs in a mods subfolder and include the full path to each file in the .doom file.

/roms/doom/
    ├─ doom2.doom
    ├─ heretic-mod.doom
    ├─ iwads/
    │   ├─ doom2.wad
    │   ├─ heretic.wad
    │   └─ IWMPP_Heretic.wad
    └─ mods/
        ├─ precise-crosshair-v1.4.1.pk3
        └─ target-spy-v2.0.1.pk3

Example: Doom 2 (no mods)

Example: /storage/roms/doom/doom2.doom contains

IWAD=/storage/roms/doom/iwads/doom2.wad

to load vanilla Doom 2

Note: don't leave any space between GRP or PATH and = and enclose filenames containing spaces with "quotes"

Example Heretic (with mods)

Example: /storage/roms/doom/heretic-mod.doom contains

IWAD=/storage/roms/doom/iwads/heretic.wad
IWAD=/storage/roms/doom/iwads/IWMPP_Heretic.wad
MOD=/storage/roms/doom/mods/precise-crosshair-v1.4.1.pk3
MOD=/storage/roms/doom/mods/target-spy-v2.0.1.pk3
-- end --

to load Heretic with additional patches and mods.

Note: add -- end -- to the end of the file when it contains multiple lines

Pico-8

Option 1: Running Pico-8 through the native engine

Pico-8 games are best played with the default emulator as it supports all native features without any limitations. You need to purchase it from Lexaloffle and we do recommend that you buy a copy if you can. Its an awesome piece of software and it also comes with the tools to make your own games.

Setup

Once you have purchased a license; the files you need will depend on the device you are using. These instructions will walk through how to set things up to work on all of our supported devices.

  • Go to Lexaloffle's download page
  • From that page download the Linux 64-bit zip file and the Raspberry Pi zip file
  • From the Linux 64-bit zip file...
    • Create a directory in roms/pico-8 called x86_64
    • Upload the pico8_dyn and pico8.dat from the Linux 64-bit zip to this directory (you do not need any other files)
  • From the Raspberry Pi zip file...
    • Create a directory in roms/pico-8 called aarch64
    • Upload the pico8_64 and pico8.dat from the Raspberry Pi zip to this directory (you do not need any other files)
/roms/pico-8/
    ├─ x86_64/
    │   ├─ pico8_dyn
    │   ├─ pico8.dat
    ├─ aarch64/
    │   ├─ pico8_64
    │   ├─ pico8.dat
    └─ Splore.png

Playing a game

Once the above is set up is you have 2 options for playing games through Pico-8's native engine:

  1. Using Splore
    • Splore is awesome as it allows you to browse and play the entire library of user created games with an internet connection.
    • To use this method simply launch Splore from the gamelist.
    • Note that you will need an internet connection to browse the pico-8 BBS (If you don't have an internet connection you can still use it to launch games you have downloaded previously)
    • To exit a game and return to EmulationStation you can either (1) press the ++"START"++ button while highlighting a game in Splore then selecting Options > Shutdown or (2) Press ++"L1"++ + ++"SELECT"++ + ++"START"++
  2. Through .png or .p8 files added directly roms/pico-8 or roms/pico-8/carts
    • Browse the list of games (aka. "Carts") on Lexaloffle's website
    • Download the .png or .p8 file for any game you are interested in playing and upload it to either roms/pico-8 or roms/pico-8/carts
      • roms/pico-8 is recommended if you want to have your games show up directly when you open the Pico-8 system in ES
      • roms/pico-8/carts is recommended if you plan to use Splore directly and also want to see your downloaded carts in the Splore interface.
    • Refresh EmulationStation by pressing ++"START"++ to open the Main Menu then select Game Settings > Update Gamelists.
    • You should now be able to launch the game by selecting it from the gamelist.
    • To exit a game and return to EmulationStation you can either (1) press the ++"START"++ button then selecting Options > Shutdown or (2) Press ++"L1"++ + ++"SELECT"++ + ++"START"++

Option 2: Running through RetroArch Fake-08

!!! warning "Fake-08 does not support all the native features of Pico-8 so its not guaranteed that every game will work with it."

  • Set the default emulator for Pico-8 to Fake-08
  • Browse the list of games (aka. "Carts") on Lexaloffle's website
  • Download the .png file for any game you are interested in playing and upload it to roms/pico-8
  • Refresh EmulationStation by pressing ++"START"++ to open the Main Menu then select Game Settings > Update Gamelists.
  • You should now be able to launch the game by selecting it from the gamelist.

SCUMMVM

.scummvm or .svm files

These files are created by _Scan ScummVM Games.sh script in /storage/.config/scummvm folder (which is also displayed in EmuStation). The script scans for game folders and generates the relevant .scummvm files to launch those games. The files are stored in /storage/.config/scummvm/games.

.scummvm files are named using the common name of the game and the Game Short Name in brackets (e.g. Beneath a Steel Sky (sky).scummvm).

.scummvm files contain a single line in the form:

  • --path= variable and the path to the folder containing the game, followed by
  • Game Short Name

Example: /storage/.config/scummvm/games/Beneath a Steel Sky (sky).scummvm contains

--path="/storage/roms/scummvm/Beneath a Steel Sky (CD VGA)" sky

Note: enclose filenames containing spaces with "quotes"

Note: .scummvm and .svm files are identical and interchangeable

Note: the .scummvm files are NOT stored in /storage/roms/scummvm and any .scummvm files stored there will not be displayed by EmuStation. EmuStation only displays .scummvm files that are in /storage/.config/scummvm/games.

Note: to display metadata and media within EmuStation, put gamelist.xml in /storage/.config/scummvm/games and media into relevant subfolders (e.g. /storage/.config/scummvm/games/media folder with boxart, images and videos subfolders)