An arcade dodger built with raylib. Dodge procedurally spawned meteors while streaking through a parallax starfield. Keyboard and gamepad inputs are supported on desktop, with controller mappings mirroring the Dreamcast pad.
- C++20 compiler (GCC 10+, Clang 12+, MSVC 2019+)
- CMake 3.16+
- raylib 4.0+ installed on the host system (package manager build or local install)
- Working KOS toolchain with kos-ports installed (commonly under
/opt/toolchains/dc/when using the default layout) - raylib4dc built via
kos-ports(expected at$KOS_PORTS/raylib4dc/inst) environ.shprovided by KOS must be sourced before configuring the Dreamcast build
cmake -S . -B build/native
cmake --build build/nativeThis produces the desktop executable at build/native/orbital_run (or .exe on Windows). Run it directly. See BUILDING.md for additional details (including compile_commands.json).
source "$KALLISTIOS_HOME/kos/environ.sh" # replace with your toolchain location
cmake -S . -B build/dc -DCMAKE_TOOLCHAIN_FILE=${KOS_CMAKE_TOOLCHAIN}
cmake --build build/dcThe Dreamcast build targets the ELF output build/dc/orbital_run.elf. Use the usual KOS utilities to convert/package if you need a binary or disc image, for example:
kos-elf2bin build/dc/orbital_run.elf- You can point CMake at a custom raylib location with
-DRAYLIB_ROOT=/path/to/prefix. ENABLE_LTO=ONtoggles link-time optimization for supported compilers (off by default).- Dreamcast builds automatically link against the KOS OpenGL shim (
libGL). If your toolchain is installed in a non-default path, ensureKOS_PORTSis exported when configuring. - All sound effects are synthesised at runtime—no external assets required. Desktop builds route audio through raylib; Dreamcast builds use KallistiOS'
snd_sfxbackend.
- Desktop: Arrow keys or WASD to steer,
Space/Enterto start, holdSpaceor eitherCtrlkey to fire, hold eitherShiftkey to boost. - Dreamcast pad: Analog stick to steer,
AorStartto launch/retry, holdAto fire, hold the right trigger to boost. - Toggle runtime stats (FPS, CPU budget, memory) with
F3on desktop or the left trigger on the Dreamcast pad. - The boost gauge drains rapidly while held and refills slowly when idle—watch the top-left bar.
- The
Gunbar works like the boost meter: firing drains it, and it only reloads once you release the trigger. - Navigate menus with Up/Down and confirm with
Space/Enter/A;Escor theBbutton backs out. - Press
P(desktop) orStart(pad) in-game to open the pause menu (Restart or Quit to title). - The Options screen lets you switch ship colors and toggle the debug overlay; back out with
Esc/B/Start.
This project uses raylib under the zlib/libpng license. Source code for Orbital Run is released under the MIT License (see LICENSE).