Galaxy Eggbert Documentation

A faithful 3D remake of Speedy Blupi — C++ · CNA · cna-engine · CMake

This documentation was rewritten 2026-07-04 It now describes the current long-term direction: Direct CNA + small helpers beside it (GalaxyEggbertCNA), per the project's "Current Direction Lock" (see Architecture). The previous documentation described an Urho3D-based architecture (GalaxyEggbertApp, Blupi, Decor, …) that no longer exists in the source tree. The older, currently-playable GalaxyEggbertSimple3D target (built on Simple3D/U3D) still exists as a reference implementation and is mentioned where relevant, but is not the subject of this rewrite.
Updated 2026-10-20: the helper library easy-3d (namespace Easy3D) was removed and replaced by the strict modules of cna-engine (CnaEngine::Core, CnaEngine::Graphics) — see Engine Integration.

What is Galaxy Eggbert?

Galaxy Eggbert is a 3D remake of Speedy Blupi, originally a Windows Phone XNA platformer game from 2013, itself later ported to C++ as mobile-eggbert. Galaxy Eggbert's long-term target, GalaxyEggbertCNA, is built directly on CNA (an XNA-compatible, SDL3-based C++ game framework) with the strict modules of cna-engine as small helpers beside it (camera, mesh builder for cubes/plates/billboards, GPU meshes, texture regions; XNA 4.0 types only) — they do not hide CNA, and game code calls CNA directly. Until 2026-10-20 that helper was easy-3d.

GalaxyEggbertCNA is real, buildable code today (opt-in via CMake), not a future plan: it opens a window, loads a genuinely 3D, hand-authored .vwr voxel world, renders textured animated terrain across all Y layers, and moves an invisible collision-only Blupi placeholder through it with gravity and step-up traversal. It does not yet render Blupi's sprite, objects/pickups, a HUD, or play sound — see the status table below.

Quick Navigation

Technology Stack

ComponentTechnology
LanguageC++ (CMake ≥ 3.21)
Game frameworkCNA — XNA-compatible, SDL3-based C++ framework (../CNA)
Helper librarycna-engine strict modules (CnaEngine::Core, CnaEngine::Graphics) — camera, mesh builder, GPU meshes, texture regions (../cna-engine; easy-3d until 2026-10-20)
Reference implementationGalaxyEggbertSimple3D — built on Simple3D/U3D, the currently-playable target
Reference gamemobile-eggbert — read-only C++ port of the original Speedy Blupi; source of assets and behavioral truth
TestingGoogleTest (world/voxel data model)
Graphics backend (CNA, Linux default)EasyGL (OpenGL); SDL Renderer elsewhere

GalaxyEggbertCNA Status (2026-07-04)

FeatureStatus
CMake build (GALAXY_EGGBERT_BUILD_CNA=ON)Done
Load a genuinely 3D, hand-authored .vwr worldDone
Textured terrain rendering (one cube per non-air block)Done
Animated tiles (lava/crusher/saw/spike/water/fan/marine/temp, 6 fps)Done
Invisible collision-only Blupi movement (gravity, step-up, jump)Done
Blupi rendered as a sprite/billboardPlanned
Object/pickup renderingPlanned
HUDPlanned
SoundPlanned
Real gameplay (hazards, enemies, pickups, exit, save/load)Planned
Chunk-radius world streaming / face cullingPlanned

Full task-by-task roadmap: Known Issues.

How to Open This Documentation

This is a static website — no server required. Open index.html directly in any modern browser. All links use relative paths, so the site works from any local directory or when hosted on GitHub Pages.