Getting Started

Everything you need before your first build.

Prerequisites

Common (all platforms)

Linux native build (EasyGL backend)

Windows cross-build from Linux (MinGW)

Web (Emscripten) — Nova3D path only

Clone the Repository

git clone https://github.com/openeggbert/galaxy-eggbert.git
cd galaxy-eggbert

Initialize Submodules

The Nova3D engine backend is a git submodule (../nova-3d relative to the project root). Even if you only plan to use U3D, run submodule init to avoid CMake warnings:

git submodule init --recursive
git submodule update --recursive

Set Up the U3D Engine (default backend)

Galaxy Eggbert defaults to the U3D engine backend. U3D must be pre-built and available as a static library (libUrho3D.a) plus headers.

The default expected path, hard-coded in CMakeLists.txt, is:

/rv/data/library/github.com/u3d-community/U3D/cmake-build-debug

You can override this via:

Warning The CMake configuration will fail with a fatal error if it cannot find the U3D library. Pre-building U3D from source is required before building Galaxy Eggbert with the U3D backend.

Verify the Asset Files

Game assets are committed in the repository under Content/ and worlds/:

Content/
  backgrounds/   ← sky/menu background PNGs
  icons/         ← sprite sheets (blupi.png, element.png, object-m.png, …)
  sounds/        ← WAV files (sound000.wav … sound092.wav)
worlds/
  world001.txt … world005.txt   ← level data (mobile-eggbert format)
Tip The worlds in worlds/*.txt are the original mobile-eggbert world files. They are loaded at runtime and converted to 3D voxel data. The first run also generates worlds/world001.vwr as a binary cache.

Next Steps