Galaxy Eggbert Documentation
A faithful 3D remake of Speedy Blupi: C++23 · CNA · cna-engine · CMake
What is Galaxy Eggbert?
Galaxy Eggbert is a 3D remake of Speedy Blupi, a platform game by Daniel Roux and EPSITEC that came out for Windows Phone (XNA) in 2013 and was later ported to C++ as Mobile Eggbert. In Galaxy Eggbert, Blupi walks, jumps, swims and drives through hand-built 3D worlds. He collects treasure chests, eggs and keys, avoids mines, lava, saws and enemies, and reaches the exit. The rules, timings, sounds and pictures follow the original. The worlds themselves are new true-3D designs, and Blupi and the objects are 3D models converted from the Ray Dream scenes the original's sprites were rendered from.
The game is written in C++ and is built directly on CNA, a C++
reimplementation of the XNA 4.0 API. Two strict modules of cna-engine sit
beside it as helpers (camera, mesh building, GPU meshes, texture regions). The only game
target is GalaxyEggbertCNA, and its executable is called
GalaxyEggbert.
CURRENT.md in the
repository; Known Issues summarises what is
still open.
Quick Navigation
📦 Releases
0.4.0: the Windows, Linux, Android and web packages, requirements and installation.
🚀 Getting Started
Prerequisites, sibling repositories and the shortest path to a running game.
🔧 Build Guide
Linux desktop, the Linux runtime bundle, WebGL 2, Android and Windows.
🎮 Gameplay
Objectives, hazards, enemies, pickups, vehicles, swimming, crates and hubs.
🎮 Controls
Keyboard, mouse, gamepad and touch screen.
🌎 Campaign & Worlds
The main hub, twelve theme worlds, 64 missions and the bonus world.
⛏ 3D World Editor
Build your own worlds in the game, play-test them and share them.
🌌 Your Own Galaxy
Every player can build a whole world system of hubs and missions.
🎥 Demos & Recordings
The main menu's demos, and recording, exporting and importing your own.
✨ 3D Effects & Graphics
Effect levels from Off to Ultra, frame rate, textures and display settings.
🏛 Architecture
The layers, the registries, the event boundary and the render seam.
📄 Class Reference
World, BlupiController, InteractionSystem, WorldRenderer, WorldEditor and more.
✅ Testing & QA
ctest, golden frames, autoplay playthroughs and the world checkers.
What the game has today
| Area | Status | Details |
|---|---|---|
| Campaign | Done | Main hub, twelve theme hubs, 64 missions and bonus world 199. Hubs unlock missions as in the original. Campaign & Worlds |
| Blupi and objects in 3D | Done | Converted from the original Ray Dream scenes, with a clip for every animation state. Effects stay sprites. Assets |
| Gameplay | Done | Hazards, enemies, pickups, vehicles, swimming, crates, lifts, doors, switches, bridges, teleporters. Gameplay |
| HUD, menus, sound, music | Done | The original's 640×480 menus scaled to the window, 93 sound channels, ten music tracks. |
| Saving | Done | Three players, progress, settings, and resuming an interrupted mission at the moment it stopped. Save Data & Resume |
| In-game 3D editor | Done | Ten world slots per player, undo/redo, box fill, copy/paste, play-test, keyboard, touch and gamepad. Editor |
| Player galaxies | Done | Every player can build a galaxy of hubs and missions, with its own progress, and export or import it. Galaxy |
| Demos | Done | Main-menu demos, recording, export and import. Demos |
| 3D effects | Done | Off, Low, Medium, High and Ultra, from fog and particles up to HDR, shadows, reflections and voxel GI. Graphics |
| 2x textures | Done | Sheets at twice the resolution, re-rendered from the Ray Dream scenes, for large displays (desktop). Graphics |
Platforms
| Platform | Status |
|---|---|
| Linux desktop (OpenGL) | Verified builds, tests and plays; a relocatable .tar.gz runtime bundle in every release (it needs glibc 2.38 or newer) |
| Web (Emscripten, WebGL 2) | Verified manually in Chrome; a web zip in every release; not part of CI; no multiplayer |
| Android | Partial a signed arm64 APK for Android 7.0+ in every release; played on a phone, but little tested on devices |
| Windows | Packaged a MinGW cross-build zip in every release since 0.1.0, played under wine; not yet tested on Windows itself |
Details: Platform Support.
Technology Stack
| Component | Technology |
|---|---|
| Language and build | C++23, CMake ≥ 3.23 (the game itself declares 3.21; CNA's dependencies need 3.23) |
| Engine | CNA: the XNA 4.0 API in C++ on SDL3 and SDL3_mixer, with several graphics back ends chosen by CNA_GRAPHICS_RENDERER |
| Helpers | cna-engine strict modules CnaEngine::Core and CnaEngine::Graphics (until 2026-10-20 the helper library easy-3d) |
| Reference game | Mobile Eggbert, the read-only C++ port of Speedy Blupi and the authority for gameplay and assets |
| Tests | GoogleTest and the Verify* executables in ctest, golden frames, scripted playthroughs |
| Tools | Python world generators and checkers, Ray Dream → model converters |
| Licence | The game: GNU GPL v3. This website: MIT. |
About this site
The site is plain static HTML in the web/ directory of the
galaxy-eggbert repository. .github/workflows/pages.yml deploys it
to GitHub Pages whenever web/ changes on develop. The sidebar,
the previous/next links and the search index are generated by
web/tools/update_site.py; run it after adding or renaming a page. The pages
describe the state of 2026-11-10. For anything newer, CURRENT.md and
docs/handbook/ in the repository are the authority.