Running the Game
How to launch Galaxy Eggbert after building.
Linux
./cmake-build-u3d/GalaxyEggbert
The binary looks for assets relative to its own location.
The build system copies Content/, worlds/, and U3D's Data/ and CoreData/
directories next to the executable via post-build commands in CMakeLists.txt.
Windows
Double-click build-windows\GalaxyEggbert.exe, or from PowerShell:
.\build-windows\GalaxyEggbert.exe
Web (Emscripten)
emrun cmake-build-web/GalaxyEggbert.html
Alternatively, serve cmake-build-web/ with any HTTP server and open GalaxyEggbert.html in a browser.
The game will not run from file:// directly due to browser security restrictions on WebAssembly loading.
Required Files at Runtime
The following must be present relative to the executable:
| Path | Source in Repo | Notes |
|---|---|---|
Content/backgrounds/ | Content/backgrounds/ | Sky and menu PNGs |
Content/icons/ | Content/icons/ | Sprite sheets |
Content/sounds/ | Content/sounds/ | WAV audio files |
worlds/ | worlds/ | Level data (.txt or .vwr) |
Data/ | U3D build output | Urho3D shaders and resources |
CoreData/ | U3D build output | Urho3D core shaders and models |
Save File Location
On Linux and Windows, save data is stored at:
<UserDocumentsDir>/GalaxyEggbert/save.dat
On Web, save data is written to /save/.cna_isolated_storage/SpeedyBlupi inside
an Emscripten IDBFS virtual filesystem backed by the browser's IndexedDB.
The file is flushed on every write and on page unload.
Window Settings
These are set in GalaxyEggbertApp::Setup()
(src/GalaxyEggbert/GalaxyEggbertApp.cpp:9):
| Setting | Value |
|---|---|
| Window title | Galaxy Eggbert |
| Initial size | 1280 × 720 |
| Full screen | No |
| Log file | GalaxyEggbert.log |
| Resource paths | Data;CoreData;Content |
First-Run Behavior
- The engine initializes and calls
GalaxyEggbertApp::Setup()to configure the window. GalaxyEggbertApp::Start()createsGalaxyEggbertGameand starts it.- Save data is loaded from disk if present; otherwise defaults (3 lives, world 1) are used.
- World 1 is loaded: first tries
worlds/world001.vwr, thenworlds/world001.txt, then generates a demo world. - If a demo world is generated, it is saved as
worlds/world001.vwrfor future runs. - The game enters the
Initphase (gamer-select screen).