Galaxy Eggbert Documentation

A faithful 3D remake of Speedy Blupi — C++ · CNA · Easy3D · CMake

This documentation was rewritten 2026-07-04 It now describes the current long-term direction: Direct CNA + Easy3D (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.

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 Easy3D as a small helper library beside it (cameras, texture atlas, cube/billboard batching) — Easy3D does not hide CNA.

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 libraryEasy3D — cameras, texture atlas, cube/billboard batching (../easy-3d)
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.