Gameplay Overview

⚠️
Work in Progress
Gameplay is partially functional. Many behaviors documented here are derived from code analysis and may not work correctly in the current build. Features marked Needs Verification should be tested.

Game Type

Speedy Eggbert 2 (Free Eggbert) is a side-scrolling platformer. The player controls "Blupi" (Eggbert) through a series of levels, collecting items, avoiding enemies, using vehicles, and activating switches to progress.

World Structure

  • Each level is a 100×100 grid of cells
  • Levels are organized into chapters (worlds 010–199, plus bonus and secret worlds)
  • Each level has a name, background music track, and visual region/theme
  • Up to 4 player start positions per level (for multiplayer)

Player Character

The player character is "Blupi" — a small anthropomorphic creature. Player state is tracked in CDecor via individual member fields (m_blupiPos, m_blupiAction, etc.).

Movement States

Character animation and behavior are controlled by ACTION_* codes. Key movement states include:

  • WalkingACTION_MARCH
  • JumpingACTION_JUMP (start), ACTION_AIR (mid-air)
  • Looking up/downACTION_UP, ACTION_DOWN
  • Edge vertigoACTION_VERTIGO (standing at edge)
  • TeleportingACTION_TELEPORTE

See the full Action Codes Reference for all 87 states.

Vehicles

Blupi can enter and operate several vehicles:

VehicleObject TypeTransport ModeDescription
HelicopterTYPE_HELICO / TYPE_BLUPIHELICO1Aerial vehicle, can fly over obstacles
JeepTYPE_JEEP2Fast ground vehicle
TankTYPE_TANK / TYPE_BLUPITANK3Can fire bullets (TYPE_BULLET)
HovercraftTYPE_OVERFlies at fixed height (OVERHEIGHT=80px)
SkateboardTYPE_SKATEFast ground movement; can be picked up/dropped

Swimming

Blupi can enter water with different states:

  • Deep waterACTION_STOPNAGE, ACTION_MARCHNAGE
  • Water surfaceACTION_STOPSURF, ACTION_MARCHSURF
  • DrowningACTION_DROWN

Enemies

EnemyType ConstantDescription
FishTYPE_POISSONAquatic enemy
BirdTYPE_OISEAUAerial enemy
WaspTYPE_GUEPEStings Blupi, causing balloon swelling (ACTION_BALLOON)
TentacleTYPE_TENTACULESlime tentacle effect
CreatureTYPE_CREATUREMoving slime creature

Hazards

HazardTypeEffect
Floor bombTYPE_BOMBEDOWNExplodes on contact
Hanging bombTYPE_BOMBEUPExplodes on contact from above
Moving bombTYPE_BOMBEMOVEPatrols a path
Homing bombTYPE_BOMBEFOLLOW1/2Follows the player
Glue ballTYPE_BALLETraps Blupi in place (ACTION_GLU)
ElectrocutionTYPE_ELECTROElectrocutes Blupi (ACTION_ELECTRO)
PollutionTYPE_POLLUTIONToxic zone effect
InversionTYPE_INVERTInverts player controls (blupiInvert)

Collectibles

ItemTypeEffect
TreasureTYPE_TRESORIncreases nbTresor count
EggTYPE_EGGCollectible item
Gold keyTYPE_CLEOpens gold-locked doors
Red keyTYPE_CLE1Opens red-locked doors
Green keyTYPE_CLE2Opens green-locked doors
Blue keyTYPE_CLE3Opens blue-locked doors

Power-Ups

Power-upType / SEC_ flagEffect
ShieldTYPE_SHIELD / SEC_SHIELDTemporary invulnerability
LollipopTYPE_POWER / SEC_POWERSpeed or power boost; eating animation ACTION_SUCETTE
CloudSEC_CLOUDInvisibility/cloud mode
DynamiteTYPE_DYNAMITEPlaceable explosive; count tracked in blupiDynamite

Level Mechanics

  • Crates (TYPE_CAISSE) — pushable and pullable boxes (ACTION_PUSH, ACTION_POP)
  • Doors (TYPE_DOOR) — opened with matching keys; states tracked in doors[200]
  • Goal/Exit (TYPE_GOAL) — level completion trigger
  • Lifts/Elevators (TYPE_ASCENSEUR) — moving platforms
  • Conveyor belts (TYPE_ASCENSEURs/si) — move Blupi left or right
  • Bridges (TYPE_BRIDGE) — fragile bridges that collapse
  • Hanging bars — Blupi can hang and traverse (ACTION_STOPSUSPEND, etc.)
  • Springs — bounce Blupi (SOUND_RESSORT)
  • Switches — toggle doors or other mechanisms
  • Teleporters — transport Blupi to another location

Win / Lose Conditions

  • Win — Reach the goal (TYPE_GOAL); triggers WM_PHASE_WIN
  • Lose — All lives depleted; tracked in nbVies
  • Treasures — Collecting all treasures (nbTresor == totalTresor) may trigger special win condition

Cheat Codes

25 cheat codes are defined in src/event.cpp (cheat_code[25][60]) and handled by CEvent and CDecor::CheatAction(). Type the code on the keyboard during gameplay (or on the title screen for some codes). A sound plays if the code is accepted.

ℹ️
All codes must start with a unique first letter (enforced by the matching algorithm in event.cpp). Most gameplay cheats only work during WM_PHASE_PLAY or WM_PHASE_PLAYTEST.
#CodeEffectWhere
0XMISSIONToggle build/official missions modifier (SetBuildOfficialMissions)Any
1OPENDOORSToggle all world-map doors/missions accessible (m_bAllMissions)Any
2CLEANALLExplode all enemies currently on screenGameplay
3MEGABLUPIToggle player invincibility (m_bSuperBlupi)Any
4LAYEGGGive +1 life (or set lives to 10 during gameplay)Any
5KILLEGGRemove 1 lifeAny
6FUNSKATEImmediately put player on skateboardGameplay
7GIVECOPTERImmediately give player helicopterGameplay
8JEEPDRIVEImmediately put player in jeepGameplay
9ALLTREASURECollect all remaining treasures in the levelGameplay
10ENDGOALTeleport to goal and win the level (only if all treasures collected)Gameplay
11SHOWSECRETToggle showing hidden/secret objects (m_bDrawSecret)Any
12ROUNDSHIELDActivate shield power-up (100 ticks)Gameplay
13QUICKLOLLIPOPActivate lollipop power-up (ACTION_SUCETTE)Gameplay
14TENBOMBSGive 10 personal bombs (m_blupiPerso = 10)Gameplay
15BIRDLIMEGive 10 glue shots (m_blupiBullet = 10)Gameplay
16DRIVETANKImmediately put player in tankGameplay
17POWERCHARGEActivate tank power charge attack (ACTION_CHARGE)Gameplay
18HIDEDRINKActivate drink/invisibility (ACTION_DRINK)Gameplay
19NETPACKEDToggle network packed mode (debug)Any
20ZNETDEBUGToggle network debug modeAny
21YNOSMOOTHToggle network move prediction (no-smooth mode)Any
22IOVERCRAFTImmediately put player in hovercraftGameplay
23UDYNAMITEGive 1 dynamite stick (m_blupiDynamite = 1)Gameplay
24WELLKEYSGive all colored keys (red, green, blue)Gameplay

Three of these flags are also serialized in DescSave: bCheatDoors (OPENDOORS), bSuperBlupi (MEGABLUPI), and bDrawSecret (SHOWSECRET) — they persist across save/load. All others are session-only.

Multiplayer Gameplay

Up to 4 players can play simultaneously via DirectPlay networking. In multiplayer, each player has a personal colored bomb:

  • Player 1: yellow bomb (TYPE_BOMBEPERSO1)
  • Player 2: orange bomb (TYPE_BOMBEPERSO2)
  • Player 3: blue bomb (TYPE_BOMBEPERSO3)
  • Player 4: green bomb (TYPE_BOMBEPERSO4)
Multiplayer Currently Broken
Network initialization fails silently. The game falls back to single-player. See Network System for details.