Project Overview
What Galaxy Eggbert is, where it comes from, and where it is going.
What is Galaxy Eggbert?
Galaxy Eggbert is a 3D remake of Speedy Blupi, a 2D side-scrolling platformer originally written in C# for Windows Phone using the XNA framework in 2013. The remake transposes the original game's levels, sprites, sounds, and gameplay rules into a three-dimensional voxel world rendered with the Urho3D engine API.
The project is part of the OpenEggbert collection of open-source Speedy Blupi ports and remakes. A sibling project, mobile-eggbert, is a direct C++ port (via MonoGame) of the original Windows Phone game. Galaxy Eggbert uses mobile-eggbert as its primary gameplay reference and shares its level files, sound files, sprite sheets, and save-data format.
Lineage
| Project | Description |
|---|---|
| Speedy Blupi (original) | C#/XNA Windows Phone platformer, 2013 |
| mobile-eggbert | C++ port via ILSpy decompile → MonoGame → SDL3/CNA |
| Galaxy Eggbert | 3D remake using Urho3D scene graph; this project |
Type of Project
Galaxy Eggbert is a game remake — not an emulator, not a port, not an engine demo. It reuses the original assets (sprites, sounds, level data) but replaces the 2D rendering with a 3D voxel scene. The gameplay rules (physics constants, enemy behavior, sound indices, save format) are ported as faithfully as possible from the original game.
Key Features (verified from source)
- 100×100×100 voxel world composed of 10×10×10 chunks
- Levels loaded from mobile-eggbert
.txtworld files or native.vwrbinary files - Blupi rendered as a UV-mapped billboard sprite from
blupi.png - 5 levels with distinct sky palettes: Grassland, Forest, Ice Caves, Lava Fields, Space Station
- Enemies: patrol enemies (types 2, 3, 4, 16, 17, 20, 33), platform lifts (type 1)
- Collectibles: treasures (type 5), extra-life eggs (type 6), keys (types 49–51), shield orbs (type 25)
- Hazard tiles: Lava, Spike, Crusher
- 3rd-person orbit camera with smooth follow
- HUD: lives, treasure counter, key icons, shield countdown, world name
- 93-channel WAV audio system (same indices as original game)
- 640-byte save file binary-compatible with mobile-eggbert
- 3 gamer save slots
- 54 engine-independent unit tests for the world data model
Platforms
| Platform | Engine path | Status |
|---|---|---|
| Linux x86-64 | U3D (primary) | Working |
| Windows x86-64 | U3D (MinGW cross-compile) | Working |
| Web (Emscripten) | Nova3D / SDL Renderer | Planned (U3D path not yet supported) |
| Android | Nova3D | Planned |
-DGALAXY_EGGBERT_ENGINE=NOVA3D). See Platform Support for details.
Important Dependencies
| Dependency | Role | Required |
|---|---|---|
| U3D (u3d-community/U3D) | Urho3D engine library (pre-built) | Yes (default path) |
| Nova3D | Alternative engine (git submodule ../nova-3d) | Only with NOVA3D engine |
| GoogleTest v1.14.0 | Unit testing (auto-fetched by CMake) | Only when BUILD_TESTING=ON |
| MinGW-w64 | Windows cross-compilation from Linux | Only for Windows cross-build |
| Emscripten SDK | Web build | Only for Web target |
| Doxygen | API doc generation | Optional |
Current Maturity
The project is in active development at Phase 27. Core gameplay is fully playable on Linux and Windows. The codebase is structured and well-organized but is not yet feature-complete (vehicles, advanced enemy AI, full Emscripten/Android builds are still pending).
The unit-tested Worlds/ data model is stable and production-quality.
The gameplay layer (Game/) is functional but still being expanded to cover all original enemy types and power-ups.