If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Speedy Blupi 2

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Speedy Blupi 2

Also known as: Speedy Eggbert II (eGames), Speedy Blupi (Windows Phone)
Developer: EPSITEC
Publishers: eGames (Eggbert version)
Platforms: Windows, Windows Phone (2013)
Released internationally: 2001


DevTextIcon.png This game has hidden development-related text.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


NotesIcon.png This game has a notes page
DCIcon.png This game has a Data Crystal page

Hmmm...
To do:
Now that the Windows Phone version has been discovered, it needs investigation by someone who can actually run it. Probably unique enough to have its own separate page.

Speedy Blupi 2 is a platformer starring the titular yellow egg-shaped character (known as "Eggbert" in the eGames versions of Speedy Blupi and Speedy Blupi 2) who has featured in several games for the PC, mainly for the "Smaky" line of personal computers.

Speedy Blupi 2 serves largely as a version update to its predecessor, featuring several new levels, gameplay elements, and bugfixes, but reusing many assets and level layouts.

Confusingly, Speedy Blupi 2 was re-released for Windows Phone in 2013 with new features under the title Speedy Blupi. The extent of the changes is significant, but not fully investigated.

Sub-Pages

Miscellaneous tidbits that are interesting enough to point out here.
Notes
Blank.png
Updated Features
Differences between Speedy Blupi and Speedy Blupi 2.
Blank.png
Version Differences
Differences between Speedy Blupi 2 and Speedy Eggbert 2.

Blank Monitors

Speedy Eggbert 2 Unused Monitors.png

There are two unused variations of the monitors from the single-player mode. Interacting with them from the hub world will bring the player back to the title screen, as they attempt to load files that don't exist (world130.blp and world140.blp). Substituting in different world files works perfectly fine, and that world will be loaded instead. The monitors can be placed in the level editor with the xmission cheat activated.

Changeable Settings

In the Data directory there is a file called config.def which has the settings "FullScreen=1", "TrueColor=16", "MouseType=1", "SpeedRate=1", "Timer=50ms". Changing these settings allows the player to use a different cursor setting, play the game out of full screen mode, adjust the speed of the game and change the color depth. These settings are also found in Blupi at Home and Planet Blupi.

Unused Cursor Setting

Changing "MouseType" from "1" to "2" changes the normal cursor to the default cursor, the link cursor to a glove and the loading cursor to a timer. The glove cursor can be seen on Epsitec's website under 1996.

Debugging Feature

While playing the game, typing in znetdebug brings up yellow text at the top-left corner of the screen that measures the number of sent and received packets in the multiplayer mode. Some extra information is also logged to the file debug.txt, which is created in the executable's directory if it doesn't already exist.

Hidden Message

In the main navigation room for single player mode, there are blocks that spell "WWW.BLUPI.COM" hidden through the wall at the rightmost corner of the room. These blocks normally cannot be seen without cheating. The previous game has a similar message in its navigation room, spelling out "WWW.EPSITEC.CH".

Obfuscated Cheat

The normally hidden buttons in the level editor.

The xmission cheat found in the game's executable can't be activated like the other cheats; each letter but the X must be shifted forward one place in the alphabet: xnjttjpo. With the cheat activated, the player can edit the game's built-in missions, rather than their own. A new drop-down is also added in the level editor that allows the player to place doors, "start mission" monitors, and gold keys. Additionally, playing missions 300 or higher allows the player to record a demonstration movie, which will be played on the title screen. A video of editing single-player missions in Speedy Eggbert II can be found here.

This cheat can also be activated by editing one of the info###.blp files in the Data folder with a hex editor, and setting the 16-bit value at offset 86 to a non-zero value.

The proper method of activating of this cheat was left undiscovered for over 20 years, until the corresponding code was found in the open-source Planet Blupi. Prior to this, a common method of activating the cheat was to recklessly corrupt the save file using Notepad.

Health and Tomatoes

During gameplay, an integer variable is set to a value of 100 and never used. It can be saved and loaded with quicksaves, and will maintain its value if modified externally. Judging by its location in memory immediately next to the power-up energy and air meters, this was likely intended to be a health meter.

The actor with ID 0x12 (18) is never referenced in the code, except for a sole line allowing it to be destroyed by dynamite. The Windows Phone port identifies this actor as TYPE_TOMATES, corresponding to unused text referring to "Tomatoes".

This information suggests Tomatoes were planned to be a healing item, much like Epsitec's previous game, Planet Blupi. In Speedy Blupi, Blupi always dies in a single hit and respawns nearby, effectively using lives as health.

Unused Text

The game's STRINGTABLE resource contains several leftover strings from Planet Blupi. Despite being unused, several strings have been edited since Planet Blupi.

Amusingly, the string "Skill level" was falsely changed to "Skill mission" in Speedy Eggbert 2, likely the result of a crude find-and-replace on the word "level".

Some unused strings were left in English when the game was re-translated into Portuguese.

ID English Portuguese (Eggbert) French (Blupi) German (Blupi)
Blupi Eggbert
100 training %d, time %d entraînement %d, temps %d Training %d, Zeit %d
101 free libre frei
105 Levels Missions Níveis Tableaux Levels
106 Training Treino Entraînement Training
150 Training # Treino # Entraînement numéro Training Nummer
152 level %d, time %d mission %d, time %d tableau %d, temps %d Level %d, Zeit %d
190 Design %d, time %d Projeto %d, time %d construction %d, temps %d Benutzerlevel %d, Zeit %d
197 Game paused Jogo em Pausa Partie interrompue Partie unterbrochen
198 Cancel last action Cancelar ultima acao Annuler la dernière opération Letzte Handlung widerrufen
209 Skill level Skill mission Dificuldade Niveau de difficulté Schwierigkeitsgrad
210 Easy Fácil Facile Einfach
211 Hard Difícil Difficile Schwierig
2009 Tomatoes Tomates Tomates Tomaten
3200 Now go on mission. Agora parta para o nível. Passe maintenant aux tableaux. Spiele jetzt mit den normalen Levels.
3201 Very good, success on all missions ! Muito bem, saiu-se bem em todos os níveis ! Magnifique, le jeu est terminé ! Phantastisch, Du hast sämtliche Levels beendet !
3202 Last design resolved ! O último projeto foi resolvido! Dernière construction résolue ! Letzter Benutzerlevel beendet !

Unused Level Properties

Via hex editing or glitches, it is possible to change some levels' properties that are never fully taken advantage of in the game. The majority of these are located near offset 9FA4 in any given level file, as this is where the level's entity data is stored.

Pixel-Precise Entity Placement

Despite the level editor restricting entity placement to a grid, entities' positions are measured in individual pixels, with a scale of 64 pixels to 1 block. The starting positions of the four players are also subject to this, and are located at offsets 0148, 0150, 0158, and 0160 for the yellow, orange, blue, and green player, respectively. Entities' positions can also be set to negative values.

Entities Moving Like Lifts

Every entity has properties that would allow it to move like a lift, even entities that never move in-game. Each entity has a set speed forward and backward, a delay before it starts moving and a set position to move to. For most entities, the two positions are identical and the speed is set to 0, causing them to never move. This also allows lifts to move at custom speeds, rather than the four predetermined settings offered in-game.

Full Level Title

Custom levels can be given a 40-character-long name in-game. While editing the level file allows for a name up to 100 characters long, names longer than 40 characters will cause crashes when edited in-game.

Unseen Level Titles

With the xmission cheat enabled in the custom level list, a few levels have custom titles which are otherwise unseen.

Level Filename Name Translation
Palace 2 world022.blp
world309.blp
cool cool cool cool cool cool
House 2 world032.blp Vive la montagne !!! Long live the mountain!!!
House 4 world034.blp Télé-fou Tele-crazy
Rocks 4 world104.blp Je vole !!! I fly!!!
Rocks 5 world105.blp potre-à-porte door-to-door (misspelled; pun on "teleporte")
Tech 1 world111.blp ventueux windy (misspelled)

Obscure Data Fallback Feature

If the game's configuration file config.def is modified to contain the line CD-Rom=, all levels and save data will be loaded from a specific folder: c:\Speedy Blupi (these files are normally loaded from the folder of the game's executable).

The obscurity of this feature is due to several reasons:

  • Eggbert-titled versions of the game do not require a CD, and are not installed with the CD-Rom line in the config file.
  • Blupi-titled versions of the game refuse to start up in this state unless launched with the hidden -nocd flag.
  • The game's installer doesn't put anything in this folder, leaving the game largely unplayable in this state as no levels can be loaded. However, the game will function normally if the necessary level files are created.

Unimplemented User Manual

The game engine uses a table of "events" to handle actions caused by menu buttons, each with its own ID. A certain subset of events, called a phase, represents an individual menu screen. Most phase events have an ID between 1524 and 1590.

However, a single ID in this range (1553) is conspicuously never referenced in the game. In the source code of Planet Blupi (a previous game by the same developer on the same engine), this ID is referred to as WM_PHASE_MANUEL, and is similarly unreferenced. This was likely intended as a user manual describing the features of the game, but was scrapped in favor of a physical instruction book. This same Event ID remains reserved, unused, in Speedy Blupi 2.