Free Eggbert vs. Speedy Blupi / Planet Blupi

This page explains the relationships between Free Eggbert, Planet Blupi, and the original Speedy Blupi games. These projects share common ancestry but are distinct and must not be confused.

Shared Heritage

The original Speedy Eggbert 2 / Speedy Blupi II shares a common engine ancestor with Planet Blupi. Many class names, function patterns, data formats, and constants are similar or identical across these codebases.

Free Eggbert developers use the officially open-sourced Planet Blupi source code as a behavioral reference when decompiled output is ambiguous.

Comparison: Free Eggbert vs. Planet Blupi

AspectPlanet BlupiFree Eggbert
Game genre Isometric RTS/puzzle Side-scrolling platformer
World grid 200×200 cells (2D isometric) 100×100 cells (side-scroll)
Cell size 60×30 px isometric Flat grid; objects 64×64 px
Player characters Up to 100 Blupi units (Blupi[100]) Single player (m_blupi* fields)
Multiplayer 6 players (MAXBLUPI=100 slots) Up to 4 network players (MAXNETPLAYER=4)
Fog of war Yes (15-pattern quadrant fog) None
Audio DirectSound / MCI DirectSound or BASS library
Source origin Official open-source release Decompiled via Ghidra/IDA/ILSpy
Header extension .h .hpp
Repository planetblupi/ free-eggbert/

Important Distinctions

⚠️
Do Not Confuse These Projects
Free Eggbert and Planet Blupi are maintained independently. Code patterns, APIs, and behaviors may appear similar but diverge in important ways. Do not assume Planet Blupi behavior applies to Free Eggbert without verification.

Player Model Difference

In Planet Blupi, up to 100 player units are tracked in a Blupi[100] array with separate state for each.

In Free Eggbert, there is a single player character. Its state is stored as individual member fields directly in CDecor: m_blupiPos, m_blupiAction, m_blupiDir, m_blupiTransport, etc. There is no Blupi array.

World Grid Difference

Planet Blupi's isometric world uses a 200×200 grid with 60×30 px rhombus cells. Free Eggbert uses a flat 100×100 grid with standard rectangular 64×64 px sprites. The level formats are incompatible.

Asset Format

Both projects use the .blp binary format for assets, inherited from the shared engine ancestor. However, the specific file layouts and asset content are completely different between the two games.

Original vs. Reconstruction

Free Eggbert reconstructs Speedy Eggbert 2 / Speedy Blupi II, not Planet Blupi. The relationship is:

  • Planet Blupi → shared ancestor engine codebase (officially open-sourced)
  • Speedy Blupi / Speedy Eggbert 2 → derived from same engine, never open-sourced
  • Free Eggbert → reconstruction of Speedy Blupi II from decompiled binary