Project Overview
What Is Free Eggbert?
Free Eggbert is an open-source reconstruction of Speedy Eggbert 2 (also known as Speedy Blupi II), a side-scrolling platformer originally developed for Windows using DirectX 3 in the late 1990s. The original game's source code was never publicly released, so this project is based on decompiled and reverse-engineered binary code.
Project Classification
Free Eggbert is a reverse-engineering and preservation project, not a clone or remake. The goal is to reconstruct the original game logic as accurately as possible from binary analysis, not to rewrite or reinvent it.
_LEGACY compile flag preserves known bugs for accuracy.
Reverse Engineering Tools
- Ghidra — Binary analysis, decompilation, and control-flow reconstruction
- IDA — Binary disassembly and additional analysis
- ILSpy — Inspection of the 2013 Windows Phone port of Speedy Blupi, which preserved demangled C++ symbol names
- Planet Blupi source — The official open-source release of the shared ancestor engine, used as a behavioral reference
Special thanks to Ч.У.Ш from the 4PDA forum for archiving the obscure 2013 Windows Phone port, which provided invaluable symbol names.
Original Game
| Property | Value |
|---|---|
| Title | Speedy Eggbert 2 / Speedy Blupi II |
| Genre | Side-scrolling platformer |
| Original platform | Win32, DirectX 3 |
| Executable name | SPEEDY_BLUPI_WINDOWS |
| Source availability | Never officially released |
Technology Stack
| Component | Technology |
|---|---|
| Language | C++20 |
| Cross-platform backend | Free Direct (SDL3-based DirectDraw/DirectSound replacement) |
| Platform abstraction | Free API (Win32 → cross-platform) |
| Audio (default) | DirectSound / MCI path (_BASS=FALSE) |
| Audio (alternative) | BASS + BASSMIDI library |
| Networking | DirectPlay (DirectX 3) — incomplete |
| Build system | CMake (primary), Visual Studio 2022 (Windows), Gradle (Android) |
| Web target | Emscripten → WebAssembly |
| Mobile target | Android NDK |
| License | GPLv3 |
Current Status
Gameplay is partially functional but the game is still defective and many features are incomplete, inaccurate, or missing. From the README:
- The game builds and runs on multiple platforms via the FreeDirect/SDL3 backend
- Some gameplay elements work; physics and AI need the most work
- Network multiplayer fails silently; the game falls back to single-player
- Save/load may have version compatibility gaps
- The level editor has known missing features
Project Goals
- Improve accuracy of the decompiled source code
- Restore missing or defective gameplay behavior
- Add Doxygen documentation to all headers and source files
- Add support for Free Direct via CMake (in progress)
- Make the game portable to additional platforms beyond Windows
- Investigate and complete Android support
- Investigate and complete web browser support
Relationship to Planet Blupi
Free Eggbert and Planet Blupi share common ancestry — the original Speedy Eggbert 2 was a fork or sequel of the Planet Blupi game engine. However, they are separate and independent projects. For a detailed comparison, see Free Eggbert vs. Speedy Blupi.
Disclaimer
This project is intended for research, preservation, documentation, and compatibility work. It is not an official release of the original game source code. Game assets (DATA, IMAGE08, IMAGE16, SOUND directories) are copyright of their respective owners, are not included in this repository, and must be obtained separately from an original copy of Speedy Eggbert 2.