A side-scrolling terminal steam train for toddlers.
- Right arrow / Left arrow — drive the train forward / backward
- Spacebar — toot the horn
- Type
quitorexit— quit
Download the ZIP for your platform from the latest release, extract it, and run the game from a terminal.
Use train-game-macos-arm64.zip.
cd ~/Downloads/train-game-macos-arm64
./train-gameThe macOS release is not signed or notarized yet. If macOS says it cannot verify the game, remove the quarantine attribute from the extracted release folder:
xattr -dr com.apple.quarantine ~/Downloads/train-game-macos-arm64Use train-game-macos-x86_64.zip.
cd ~/Downloads/train-game-macos-x86_64
./train-gameThe macOS release is not signed or notarized yet. If macOS says it cannot verify the game, remove the quarantine attribute from the extracted release folder:
xattr -dr com.apple.quarantine ~/Downloads/train-game-macos-x86_64Use train-game-windows-x86_64.zip.
cd $HOME\Downloads\train-game-windows-x86_64
.\train-game.exeRun it from Windows Terminal or PowerShell so the terminal stays open.
Use train-game-linux-x86_64.zip.
cd ~/Downloads/train-game-linux-x86_64
./train-gameIf your unzip tool drops executable permissions, restore them:
chmod +x ~/Downloads/train-game-linux-x86_64/train-gameMinimal Linux installs may also need the ALSA runtime libraries for audio.
The chugga loop, horn, and "another wheel" voice are vendored under assets/
and embedded into the binary at compile time. Rain ambience is generated at
runtime. Playback uses rodio, so the game
runs on macOS, Linux, and Windows with no audio toolchain required at runtime.
- Chugga loop (
assets/chugga.flac, fromSteam_engine.ogg): public-domain recording by aradlaw, via Wikimedia Commons. - Whistle / horn (
assets/whistle.flac, fromWWS_SteamWhistle.ogg): CC-BY-4.0, via Wikimedia Commons. - Another wheel (
assets/another_wheel.flac): generated with the Piperen_US-ljspeech-mediumvoice. Thepiper-voicesrepository is MIT licensed, and its model card lists the LJ Speech dataset as public domain.
- Rust toolchain (edition 2024 — Rust 1.85+)
cargo run --release