Project Overview
Where Galaxy Eggbert comes from, the rules it is built by, and how it got to where it is.
From Speedy Blupi to Galaxy Eggbert
| Game | What it is |
|---|---|
| Speedy Blupi | A 2D platform game by Daniel Roux and EPSITEC, released for Windows Phone (XNA) in 2013. |
Mobile Eggbert (mobile-eggbert) | The C++ port of Speedy Blupi. Galaxy Eggbert treats it as the read-only reference. Its source code, mainly Decor.cpp, is the authority for gameplay numbers and timing, and its pictures, sounds and world files are the source of truth for assets. |
Galaxy Eggbert (galaxy-eggbert) | A faithful 3D remake. The player moves Blupi freely in X and Z with real heights, through worlds designed in 3D, while the rules, timings, sounds and look stay those of the original. |
The rules the project is built by
These rules come from the maintainer and are written down in the repository (CLAUDE.md,
CURRENT.md, plans/GALAXY_EGGBERT_COMPLETION.md and the handbook in
docs/handbook/). Most defects in the project's history came from breaking one of them.
- Every gameplay feature traces to confirmed Mobile Eggbert behaviour. No mechanic is
invented because it seems plausible. Where a 2D rule has no single 3D reading, one reading is picked,
kept small and recorded as an intentional 3D adaptation (
plans/audit/mechanics_3d_decisions.md, rowsM3D-NNNN). - The reference is never modified. Larger pieces of its code, tables or byte layouts are not copied without approval. A standing approval covers small data tables needed for fidelity (glyph widths, animation and timing tables), with the source cited.
- Real numeric IDs are preserved.
Def::ObjectType, block (icon) numbers and sound channels are the original's numbers and are stored in world files. They are never renumbered. - Worlds are hand-authored true 3D designs. The original's 2D maps give a world its identity, theme, mechanics, difficulty and progression, and nothing else: no conversion, extrusion, side-view "2.5D" or lane locking. A 2.5D conversion was tried and rejected on 2026-10-25.
- Models and animations come from the original Ray Dream scenes wherever they can be recovered, never from a modernised redesign. Effects (explosions, sparks, glows) may stay sprites.
- The in-game 3D world editor is the one approved exception. Its user interface may be invented, but it must not add gameplay behaviour.
What the remake contains
- The campaign: the main hub
world001, twelve theme hubs (world010,world020…world120), 64 missions and the bonus worldworld199. Two more worlds are Galaxy Eggbert's own:world999, a showcase of the mechanics, andworld998, a gallery of every block, object and big decor.title.vwris the scene behind the main menu. See Campaign & Worlds. - The game: Blupi, objects, enemies, hazards, pickups, vehicles, doors, switches, bridges, teleporters, swimming, crates, the HUD, menus, sound and music, three players with saved progress, and resuming an interrupted mission. See Gameplay.
- Additions around the game: the 3D world editor, each player's own galaxy, demos and recordings, and 3D effect levels. All of them are presentation or authoring features: none adds a gameplay mechanic.
Repositories involved
The game is built against its engine as source. These checkouts sit side by side:
| Repository | Role |
|---|---|
galaxy-eggbert | The game, its worlds, assets, tools, tests, documentation and this website (web/). |
cna | The engine: the XNA 4.0 API reimplemented in C++ on SDL3. Required. |
cna-engine | Strict helper modules over CNA (camera, mesh builder, GPU meshes, texture regions). Required. |
easy-gl, meta-gl, sharp-runtime | Build dependencies of CNA, expected next to it. |
mobile-eggbert | The reference game. Read-only; a few verification tests and tools read its world files. |
speedyblupi-data | The original Ray Dream scenes. Needed only by the asset converters, not to build or play. |
Details: Getting Started and Engine Integration.
How it got here
| Date | Milestone |
|---|---|
| 2026-05-12 | The repository starts. Early experiments use other engines (Nova3D, Urho3D/U3D, a Simple3D target). |
| 2026-07-05 | Direction locked: the game runs directly on CNA, with a small helper library beside it. |
| 2026-07-25 | The earlier GalaxyEggbertSimple3D target is removed once the CNA target reaches playable parity (recoverable at commit 4afd53e). |
| 2026-10-20 | cna-engine's strict modules replace the helper library easy-3d. Golden frames and traces stay byte-identical. |
| 2026-10-23 | The original Ray Dream scenes are converted into Blupi's 3D model; the objects follow. |
| 2026-10-25 | A side-view 2.5D conversion is rejected. Every world is hand-authored in true 3D. |
| 2026-10-26 | All twelve theme worlds, their 64 missions and the bonus world are built. Scripted playthroughs finish every mission, every world's chain of hubs, and the whole campaign in one run from a new game. |
| 2026-11-04 | Terrain tiles can show the relief of their Ray Dream scenes near the camera (the Setup's "3D terrain" option, off by default). |
| 2026-11-08 – 09 | Main-menu demos and recordings, editing campaign worlds in the game, every player's own galaxy and sharing it, and the 3D effect levels up to Ultra. |
| 2026-11-10 | The player's files move to the system's user folder, 2x texture sheets arrive, and release candidate 1.0.0-rc1 is built: a Linux archive and an Android APK (Releases). |
| 2026-11-11 | Speedy Blupi 2's network game for 2 to 4 players joins the game. The first releases, 0.1.0 to 0.1.3, are published on GitHub: Windows, Linux, Android and the web. |
| 2026-11-12 | Release 0.2.0: the game in French, German and Czech beside English, and a terrain that rebuilds only what a change reaches. |
| 2026-11-12 | Release 0.3.0: fifteen languages and a panel of flags to choose one, a faster 3D editor. |
| 2026-11-12 | Release 0.4.0: twenty languages (Finnish, Danish, Norwegian, Turkish, Greek), clean text in full screen. |
The project's own documents
The repository carries its documentation next to the code. This website is a guided summary of it.
| Document | Use it for |
|---|---|
CURRENT.md | The verified current state, limitations and open work: the status authority. |
docs/handbook/ | A condensed handbook for developers: overview, architecture, build, testing, worlds, assets, contributing, backlog. |
World Format.md | The .vwr world format. See also The .vwr Format. |
plans/ | The completion plan, the fidelity audit and its ledgers (plans/audit/), one design brief per world (plans/briefs/). |
handoff.md, plan.md, NEXT.md | Long working logs and history (NEXT.md is frozen since 2026-10-24). |
upstream_bugs.md | Defects found in the sibling repositories (UB-NNN). |
docs/provenance/ | Where every asset comes from and under which licence. |