Sonic CulT // Sonic - Arcade // Sonic the Fighters // The Game


In Sonic the Fighters, Eggman only appears out of his ships and mech units during the intro of the game. However, through hacking, this Eggman can be playable, and has similar moves as the Eggman fought after defeating Metal Sonic and also shares the same title card. The only real difference is his default punch moves, which are similar to Knuckles'.

Eggman as seen in the intro.

Eggman as seen in gameplay.

However, can Eggman be playable without hacking?

There is a theoretical method. It is based on an unconfirmed cheat code for the arcade version of Fighting Vipers:

Fight as B. Mahler: Wait for the timer to reach nine seconds at the character selection screen. Quickly hold Start + Up. While continuing to hold Start repeatedly press Up/Left or Up/Right to move the pointer to the other side of the screen one fighter at a time. For example, if you are player one, move to the right starting on Grace. If you are player two, move to the left starting on Rickey. Keep Start held and point Up between steps. The pointer will eventually go off the screen and the character portrait will change to B. Mahler. Note: This can only be done on machines with over accumulated 15,000 plays.

This particular version of the code was found at This code has been attempted by brute-forcing the emulator into thinking that the game has been played 15,000+ times, however it did not work. It could be due to the fact that after the 15,000th play, something is triggered and sent into the game's memory. Either case, this code does have some evidence to back it up.

In both Fighting Vipers and Sonic the Fighters, an array of bytes is used to determine which characters are selectable and in what order they appear at the character select screen, as shown here:

The array of bytes for Fighting Vipers are:
01 04 06 03 07 00 02 05

Here, they are in order: Grace, Bahn, Raxel, Tokio, Sanman, Jane, Honey, and Picky. However, when browsing the memory of the character select array, we see this:
01 04 06 03 07 00 02 05 08 0A 07

There are more than 7 bytes/characters defined here. After Picky's value comes Mahler 08 and Sonic 0A. The end value, 07, defines how many characters can be selectable at the character select screen. If this value were changed to 08 by using a cheat code, here is the end result:

Mahler is now selectable, and the pointer is off the screen. If the end value were changed to 09, Sonic would also be selectable.

Now, here is the array of bytes for Sonic the Fighters:

00 01 04 0A 05 07 02 06

In order, they are: Sonic, Tails, Nack, Bean, Bark, Espio, Knuckles, and Amy. If we browse the memory for the character select array, we find this full set of values:
00 01 04 0A 05 07 02 06 07

Unfortunately, there is only one extra byte. However, just like Fighting Vipers, this extra byte defines how many selectable characters there are. If this value were changed to 08, it would point to itself. The value 08 is the value for the non-mech, non-ship Eggman:

So, what does this mean? Well, until the Fighting Vipers code above can be confirmed in some Japanese arcade somewhere and the actual character selected is just regular Mahler, this code doesn't mean much. If this code is ever confirmed, it could mean one of several things. It could have meant that at one point in development, a regular Eggman would have been the final boss after Mecha Sonic, however, after seeing it wasn't very intimidating, the developers decided to put Eggman in a mech unit to add more excitement to the final battle.

This could also mean that the regular Eggman was intended to be selectable this way, as an added bonus. The developers might have assumed people would try the Fighting Vipers trick in Sonic the Fighters, as the game uses the same engine, so they gave the Eggman from the intro the final Eggman's moveset just for this purpose.

Of course, there is always the possibility that all of this could be pure coincidence. In that case, the regular Eggman would have been intended only for use in the intro, and given the final Eggman's moveset purely for testing purposes, such as testing skeletal structure and animation testing.

However, there is one other thing that can support this theory. In Fighting Vipers, there is Mahler and B.M. (Big Mahler), shown here:

Mahler and Big Mahler's values are 08 and 09 respectively.

Now, a comparison shot of two different Eggmans:

Eggman and Big Eggman's values are also 08 and 09 respectively.

Because the developers of Sonic the Fighters based the game so closely off of Fighting Vipers, there is a good chance that Eggman and a Big Eggman were going to be the original bosses and/or playable characters. However, Big Eggman's skeletal model when he is idle is broken, however, when running or performing a move, his skeletal model is fully functional:

Big Eggman punching. Note that his shadow model uses the objects from the smaller Eggman.

Other versions of Eggman:

Here is the UFO Eggman seen whenever a character fights itself. He has the default character moveset.

This is perhaps the most interesting find involving Eggman. This is a recreation of an unused boss. Because he has no character model data, the normal Eggman boss's structure was used. The only difference between the two seems to be that this boss has animated tank treads for his feet. It is unknown if this is exactly how this Eggman boss should look like, but based on the model objects found, it should be something similar to this.

Back To Game Index
Back To Sonic the Fighters Index