Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Standalone game player (Player kit)

Copperline can be built as a standalone game player -- a lightweight executable configured for a single game without the launcher or debugger interface.

The distributable package contains the player executable, the game assets stored as an external sidecar file, the open-source AROS boot ROM pair, and license documentation.

The game manifest

A single TOML file defines the player build configuration:

[game]
title = "Skyhawks"            # Application window title
id = "skyhawks"              # Unique identifier for per-user settings/saves
version = "1.2"              # Application version string

[payload]                    # Exactly one payload kind
cd = "skyhawks.iso"          # CD image (ISO, CUE/BIN, CHD)
# adf = "skyhawks.adf"       # Floppy disk image for DF0
# run = { files = "amiga", executable = "Skyhawks", args = "" }
# sha256 = "..."             # Optional SHA-256 payload integrity check

[machine]
model = "CD32"               # Hardware profile (A500, A1200, CD32, etc.)
# chip = "2M"                # Optional memory overrides
# fast = "8M"

[display]
shader = "crt"               # Default CRT shader
bezel = "1084"               # Default bezel
fullscreen = true            # Launch in fullscreen

[features]
save_states = false          # Enable quick-save / quick-load slots in menu

[branding]
icon = "icon.png"            # Custom window / application icon

Supported payload types

The [payload] section requires exactly one of the following:

The optional sha256 key verifies the checksum of file payloads (cd or adf) and refuses to start if the file has been modified.

Building and packaging

To build using Cargo:

COPPERLINE_GAME_MANIFEST=/path/to/game.toml \
  cargo build --release --manifest-path crates/copperline-player/Cargo.toml

To build and package complete platform bundles:

tools/publish --manifest /path/to/game.toml

Package outputs:

The player binary is compiled with minimal features: debugger windows, GDB stubs, and developer environment variables are stripped.

User experience

The game launches directly into the title screen.

Pressing Cmd+E (macOS) or Alt+E (Linux/Windows) or the controller Menu/Guide button opens a simplified in-game menu:

User configuration, game saves, NVRAM, and save states are stored in the per-game directory (~/.config/<id>/ on Linux/macOS, %APPDATA%\<id> on Windows), or locally inside the application directory in portable mode.

Automated bundle verification

The player binary supports headless screenshot capture for CI test validation:

"Skyhawks.app/Contents/MacOS/skyhawks" --screenshot-after 30 boot.png

Licensing requirements

Bundles generated by tools/publish include Copperline’s GPL-3.0-or-later license text, source repository links, and the AROS APL 1.1 license files.