We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

SpongeBob SquarePants: Battle for Bikini Bottom (GameCube, PlayStation 2, Xbox)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

SpongeBob SquarePants: Battle for Bikini Bottom

Developer: Heavy Iron Studios
Publisher: THQ
Platforms: GameCube, PlayStation 2, Xbox
Released in US: October 21, 2003
Released in EU: November 28, 2003


AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
DevMessageIcon.png This game has a hidden developer message.
CopyrightIcon.png This game has hidden developer credits.
DevTextIcon.png This game has hidden development-related text.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MovieIcon.png This game has unused cinematics.
ItemsIcon.png This game has unused items.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.


NotesIcon.png This game has a notes page
ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article

Hmmm...
To do:
Replace the videos not using the native resolution in this article with videos that are using the native resolution.

SpongeBob SquarePants: Battle for Bikini Bottom is a game based on SpongeBob SquarePants. Plankton's robots have taken over Bikini Bottom, and SpongeBob, Patrick, and Sandy must stop them. Many regard it as one of the best SpongeBob SquarePants games for its gameplay, soundtrack, large worlds, and faithfulness to its source content.

Sub-Pages

Bfbb muscleboss unused.png
Unused Levels
Who were you expecting, Tiny Tim?
Bfbb soccerball.png
Unused & Hidden Objects
I'm Easy Like Sunday Morning
Bfbb goldspatglow.png
Unused Textures
A lot of early HUDs and a hidden credits screen.
SpongeBob SquarePants bfbb, Hidden Barnacle Boy.png
Unused Animations
I'm Walking, Krabby Patty, over to Squidward
SoundIcon.png
Unused Audio
I don't speak Italian.

Early Menu

Without the final version overlapping, the early pause menu is more visible.

You can get to the unused menu on the GameCube version by replacing the HIP and HOP files of a level with mnu3.hip and mnu3.HOP. Then, go to that level using the taxi. When you pause the game, it will take you to the menu, which has the misfortune of having the final menu overlapping the early menu. There's a lot of interesting stuff, such as Spanish task names and a reference to a scrapped level named "Glove World", which was later adapted into the Goo Lagoon Pier. A lot of the below early menu graphics are used by it, too. The following video is a demonstration of the early menu.

Unused Videos

There are two unused .bik files in the GameCube version, though disappointingly they're just logos that fade in and out. But hey, they're unused!


There are two unused .xmv files in the Xbox version, One is the logo video Heavy Iron used in their previous game Scooby Doo: Night of 100 Frights, and the other is the intro video also used in Scooby Doo: Night of 100 Frights (though this video only plays properly on an Xbox).

Unused Text

The game has lots of dialogue, but there's a lot of it that goes unused.

Unused Boss Battle Text

It seems that this text would have come up at the end of each phase and after a boss was defeated. Given the wording of these phrases, these were probably just placeholder text. Strangely, no equivalent exists for Robot SpongeBob, not even in the unused phase of the boss fight.

Filename Text
BOSS_DEATH_TEXTBOX.text Congratulations, you beat the Robot Sandy Boss!
(no file name found) Congratulations, you beat the Robot Patrick Boss!
round_1_text.text Round 1!
round_2_text.text Round 2!
round_3_text.text Round 3!

Box Office Guy in Bikini Bottom

A bit of dialogue with the Box Office Guy that never shows up. There are several variations of this dialogue, with this file featuring some unused lines.

Filename Text
boattendant_begin_text.text

Box Office Guy: Hello sir, may I help you?

SpongeBob: One movie ticket, my good man.

Box Office Guy: I'm sorry sir, the price of the ticket is 40,000 shiny objects.

SpongeBob: You are so kidding ... right?

Box Office Guy: I'm sorry sir, but I'm not allowed to have a sense of humor on the job. Please come back when you have 40,000 shiny objects.

The three lines after "One movie ticket, my good man" are never heard in-game.

Other in Bikini Bottom

The first text file that lies in the Bikini Bottom hub world is... interesting.

Filename Text
{sound_sbhb01024;speaker.text /pc}SpongeBob: Gotcha, Bubble Buddy!

No idea how this got in here or what it might have been used for, but it seems that the filename is meant to start off a line of dialogue which is somewhat continued in the file itself. Judging by what it says, there could have been a task where you chase Bubble Buddy.

Bubble Buddy in SpongeBob's Dream

Apparently, Bubble Buddy was meant to appear in SpongeBob's Dream.

Filename Text
bubblebuddy_description_text.text Bubble Buddy: There's something odd about those people floating above their houses.

Spongebob: They're just dreaming in my dream. In fact, you yourself are just a tiny ingredient in the casserole of my dream.
Bubble Buddy: If you say so.

bubblebuddy_success_text.text See. I told you something was odd about those things.
bubblebuddy_end_text.text Nice dream. I think I'll stay a while.
bubblebuddy_reminder_text_1.text The images of your friends. They're very odd.
bubblebuddy_reminder_text_2.text I can't quite put my finger on what's wrong with those... oh wait, what finger?

Mrs. Puff in Patrick's Dream

In the unused Patrick's Dream level, Mrs. Puff appears at the start but doesn't talk. She was meant to say a lot of things.

Filename Text
mrspuff_description_text.text Mrs. Puff: Is this your idea of sundae school?

Patrick: School?
Mrs. Puff: You're a man after my own heart. Or should I say appetite.
Patrick: Ok, say it.
Mrs. Puff: Say what?
Patrick: Say "Appetite."
Mrs. Puff: Are you always like this?
Patrick: No. Somedays I'm like this. Bler-bler-bler-bler!
Mrs. Puff: Sorry I asked. Now look, there's a golden spatula on the far side of that sundae over there.

mrspuff_reminder_text.txt Get to the spatula at the end of this sundae-path, dream-thingy. You know what I mean, it's your dream.
mrspuff_success_text.text Mrs. Puff:Congratulations, you pass with flying colors.

Patrick: And sprinkles.

mrspuff_failure_text.text Failed again. Well, this course is pass, not pass. Try again.
mrspuff_after_text.text Can someone dream me up a spoon? Normal sized.
mrspuff_sb_text.text Spongebob: Hello Mrs. Puff.

Mrs. Puff: Well, if it isn't my favorite student.

Unknown {i:text_pad_3} to quit. {xj=right}Press {i:text_button_1} to continue.

This is in the files for the unused level, and is most likely just a normal script for you to press a button to play/press a button to quit.

Evil Bubble Buddy

In the hub world, Bubble Buddy has a lot of hidden and rather ominous dialogue.

Filename Text
bubblebuddy_begin_text.text Welcome to my nightmare! Hie the hench though spongey freak.
bubblebuddy_end_text.text Well done, SpongeBob. Now die.
bubblebuddy_failure_text.text What about GETOUTTAHERE didn't you understand?
bubblebuddy_reminder_text0.text I said beat it.
bubblebuddy_success_text.text Thanks for leaving me alone. Repeat as needed.

Patrick

While fighting, Patrick was supposed to help Spongebob (if you're playing as him), but they decided to remove it because they thought it would be too annoying.

Filename Text
patrick_help_text.text Hit them! Hit them!
patrick_help2_text.text Hey, Spongebob, you need help?
patrick_help3_text.text You can press the A button, Neat
patrick_help4_text.text Press B to attack
patrick_help5_text.text Press the triangle button to jump!

Early Goo Lagoon Dialogue

In the early versions of Goo Lagoon in the GameCube version, Larry, Bubble Buddy and Mrs. Puff have some simple, unfinished dialogue.

Filename Text
larry_begin_text.text Hey, SpongeBob. Come on over.
larry_end_text.text Thanks for your help, SpongeBob
larry_failure_text.text You still need to turn the reflector on the island.
bubblebuddy_begin_text.text Well, hello there SpongeBob!
bubblebuddy_end_text.text Well done, SpongeBob.
bubblebuddy_failure_text.text You're not done yet.
bubblebuddy_reminder_text.text There's a Golden Spatula at the top of this sand castle.
bubblebuddy_success_text.text Congratulations, SpongeBob
mrspuffs_begin_text.text SpongeBob! Please help!

Early Flying Dutchman's Graveyard Dialogue

The Flying Dutchman has some unfinished filler lines too.

Filename Text
dutchman_description_text.text Robots have taken over my ship.
dutchman_reminder_text_01.text Help me destroy the Robot Pirate Ship.
dutchman_end_text.text Well done, SpongeBob.
dutchman_failure_text.text Failure line
dutchman_reminder_text_02 Please hurry, SpongeBob.
dutchman_success_text.text You defeated the robots. Here's a Golden Spatula.
CINE_TEXT_TEMP.text CINEMATIC!!!

Jellyfish Fields Demo Leftovers

Throughout the files of Jellyfish Fields are leftovers from demos.

Filename Text
temp_e3_patrick_text.text E3 Demo Feature. Press the {i:button_pickup_text} button to Pick up the Freezy Fruit, and then again to throw the Freezy Fruit onto the Goo.
opm_demo_exit_text.text End of demo. Thank you for playing SpongeBob SquarePants: Battle For Bikini Bottom.

Early Warps

Within SpongeBob's house are early messages for warping to another area within the house.

Filename Text
WARP ATTIC TXT.text Press R1 to enter attic
WARP BEDROOM TXT.text Press R1 to enter bedroom
WARP EXIT TXT.text Press R1 to go back outside
WARP LIVINGROOM TXT.text Press R1 to enter livingroom

There are also some for Shady Shoals.

Text
Press R1 to go outside
Press R1 to enter the Barnacle Cave
Press R1 to go back outside
Press R1 to enter livingroom

One also exists for the SpongeBall Arena.

Text
Press R1 to go to the Playground

Misc. Dialogue

Filename Text
gary_begin_text.text Well, hello there SpongeBob!
mrspuff_begin_text.text blah
mermaidman_reminder_text0.text Well, we're waiting.

Early Menu Text

The main menu/pause menu has a lot of unused text. There are temporary mission titles labeled in Spanish numbers. Seen in the unused menu(See above).

Filename Text
TASK TXT 02.text complete task numero dos.
TASK TXT 03.text complete task numero tres.
TASK TXT 04.text complete task numero quatro.
TASK TXT 05.text complete task numero cinco.
TASK TXT 06.text complete task numero seis.
TASK TXT 07.text complete task numero siete.
TASK TXT 08.text complete task numero ocho.

There's also some early names for certain missions and levels.

Early Final
Defeat Sandy BossBot Rumble At the Poseidome
Defeat Patrick BossBot Robo-Patrick Ahoy!
Defeat Spongebob BossBot Kah - Rah - Tae! / The Small Shall Rule... Or Not
Robo-SpongeBob Musclepants (unused in final game)
Swingalong Spatula Leap of Faith from the Slide
Screaming for Ice Cream (unused in final game (intended for unused Patrick's dream level))
Barnacle Cave Mermalair
Playground SpongeBall Arena

Hidden Developer Messages

Hidden within certain files are messages left for the developers during development.

Filename Text
sbgcM.elf (With apologies to Jim Morrison) This the end, my only friend, The End
boot.sdf DON'T DELETE THIS, DAMMIT! This is the default texture, which gets used if there's no match in shadowlist.txt.
boot.sdf The texture used by the heavenly thermonuclear aura FX. Do not delete me or Dan K will come and hurt you.
jf01_jellyfish_fields_jellyfisher.sdf This dispatcher runs the button that rises out of the water when the shiny gate is opened.
jf04_jellyfish_fields_king_jellyfish.sdf added 'demo' name for E3 demo - changed target to JF01
bb01_downtown_bb_streets.sdf Once the rope wall is destroyed, this replaces the destructable with the simple object model of it destroyed.
gl01_goo_lagoon_lifeguard_towers.sdf This timer turns the platform reflector halfway and runs the next two timers.
gl01_goo_lagoon_lifeguard_towers.sdf This timer turns the platform reflector all the way over to the other side, it starts disabled and is enabled after the player presses either button.
gl03_goo_lagoon_pier.sdf Drives springboard three down from the bungee to the deck.
hb01_hub_all_ext.sdf This conditional tests to see if the player has defeated the Sandy Boss
hb01_hub_all_ext.sdf This conditional tests to see if the player has defeated Patrick Boss
gl01_goo_lagoon_lifeguard_towers.sdf This is the driver for all the objects in the path behind the castle.
gl03_goo_lagoon_pier.sdf Drives springboard three down from the bungee to the deck.
gy04_graveyard_crashed_ship.sdf Bubble Bounce on the Bounce Pad to return to the Entrance Area
sm02_sand_mtn_guppy_mound.sdf I can make this track with all the tikis on it in 65 seconds without a problem, so I added 15 seconds to that time for the challenge.
gl03_goo_lagoon_pier.sdf Drives springboard three down from the bungee to the deck.

sb.ini

sb.ini contains all the values for how the game works. Some are values for unused features. Interestingly, everything is labeled with notes about what each value does.

Cheats

Some codes can be found for various cheat settings, and were probably used for debugging purposes. The cheats can be activated by changing the values to 1.

# Cheats enabled?
G.CheatSpongeball   = 0    (unknown)
G.CheatPlayerSwitch = 0    (allows player to switch between characters at any time by pressing a direction on the D-pad)
# Can I always portal with the pause menu? 1 == YES, 0 == NO
G.CheatAlwaysPortal = 0    (allows player to warp to any task, regardless of whether or not they have unlocked it)
G.CheatFlyToggle    = 0    (perhaps acts like the 'Moonjump' code?)
G.DisableForceConversation = 0    (NPCs like Bubble Buddy no longer talk to the player when they walk by them for the first time)

Sundae Powerup

Code for an unused Smelly Sundae powerup. As there is a model for the Smelly Sundae in boot.hip, the Smelly Sundae was definitely going to be a powerup.


# Sundae powerup info timeout
G.SundaeTime = 10.0
G.SundaeMult = 1.5

Scooby Doo: Night of 100 Frights Leftovers

A number of leftover powerups from Scooby Doo: Night of 100 Frights are listed, even though none of them seem to do anything when changed.

# Special moves for the characters
eSPECIAL_Slippers       	= 0	# First sneak
eSPECIAL_LampShade      	= 0     # First disguise
eSPECIAL_Spring         	= 1     # Double jump
eSPECIAL_FootballHelmet 	= 0     # Headbutt
eSPECIAL_StickyBoots    	= 0     # Anti-sticky boots
eSPECIAL_LightningBolt  	= 1     # Buttsmash
eSPECIAL_LightningBoltStun	= 0     # Buttsmash Stun
eSPECIAL_Plungers       	= 0	# Anti-slippery
eSPECIAL_Shovel         	= 0	# Dig powerup
eSPECIAL_Umbrella       	= 0     # Floating
eSPECIAL_BubbleGum      	= 0	# Spits wads of sticky/bouncy gum
eSPECIAL_SoapBar        	= 0	# Spits soap bubbles
eSPECIAL_BlackKnight    	= 0	# Second disguise
eSPECIAL_FlowerPot      	= 0	# Are these last two being used?
eSPECIAL_DivingHelmet   	= 0     # Last disguise (that you don't use?)

Executable

A number of various texts and variables can be found in the PS2 version's executable (SLUS_206.80 in the US version).

Scooby Doo: Night of 100 Frights Leftovers

In the game's executable at 3F90E0, all of the mission names from Scooby Doo: Night of 100 Frights can be found. The game was based on its source code.

The Mystery Machine
On Edge in the Hedge!
It's a Mean Greenhouse, Scooby!
Chills & Spills on Haunted Hill!
Scared Stiff at Skull Cliff!
Misbehavin'? Cause a Cave In
A Tight Spot for a Grave Plot!
Fishy Clues for Scooby-Doo?
Shiver Your Timbers, Scooby!
Please insert the Scooby-Doo Game Disc.

Source Code and Compiling Info

Some of the game's source code files and their respective directories can be found in the executable, as well as some information about the tools used to compile the game. There's a lot more than this, but you probably get the idea.

Metrowerks MW GAS R5900 Assembler
C:\usr\local\sce\EE\lib\crt0.s
MW MIPS C Compiler
C:\SB\Core\p2\p2skyfs.c
C:\SB\Game\zAnimList.cpp
C:\SB\Game\zAssetTypes.cpp
C:\SB\Game\zCamera.cpp
C:\SB\Game\zConditional.cpp
C:\SB\Game\zCutsceneMgr.cpp
C:\SB\Game\zDispatcher.cpp
C:\SB\Game\zEGenerator.cpp
C:\SB\Game\zEnt.cpp
C:\SB\Core\x\xModel.h
C:\SB\Core\x\xEnt.h
C:\SB\Game\zEntButton.cpp
C:\SB\Game\zEntDestructObj.cpp
C:\SB\Game\zEntHangable.cpp
C:\SB\Game\zEntPickup.cpp
C:\SB\Game\zEntPlayer.cpp
C:\SB\Game\zNPCTypeCommon.h
//RenderWare/RW35Active/rwsdk/plugin/collis/ctworld.c
MW MIPS C Compiler (2.4.1.01)

Pickups

Pickups appear near the beginning of the executable, some of which are unused. (BusTicket, StallKey and Sundae)

GreenShiny
YellowShiny
RedShiny
GoldenSpatula
Underwear
GoldenUnderwear
PatsSock
BusTicket
StallKey
Sundae

Triggers

Boss Fight Triggers

Certain boss battles have invisible triggers that cause the battle to end as soon as the player touches them. They were probably used by the developers for testing purposes. The rest of the boss battles don't seem to have any trigger files. These are actually exploited by speedrunners in order to save several minutes of gameplay.

To access some of these triggers, you will have to use a glitch called the "Cruise Boost" where you have to use the cruise bubble and the bubble bowl in the same frame against a wall. The result of this glitch is the slightly increased movement speed, and the effect can be stacked multiple times. To cancel it you can either use the cruise bubble/bubble bowl or get picked up by Hans.

SpongeBot SteelPants Phase 1

When SpongeBot SteelPants uses his karate chop move, if the player times it right (and SpongeBot chops it in the particular side), as soon as SpongeBob reaches the edge as SpongeBot chops the platform, the player will be catapulted into the air, hitting the trigger if they go high enough.

Prawn

Use the "cruise boost" trick to get out of bounds and reach the trigger above the entrance to the arena.

Flying Dutchman

Use the "cruise boost" trick to get out of bounds and reach the trigger above the entrance to the arena.

Alternate Levels

In any boss fight that involves the boss spawning enemys, if you alter the boss's .VIL file, all enemy's that normally spawn during the battle will be instantly spawned when the level loads (this can sometimes include items the boss interacts with).

King JellyFish Fight

By messing with King JellyFish's .VIL file, you can load an "alternate" version of the level.

Sandy-Bot Fight

By messing with Sandy-Bot's .VIL file, you can load an "alternate" version of the level.

Defeat Prawn

By messing with Prawn's .VIL file, you can load an "alternate" version of the level.


Industrial Park

By messing with Robot Patrick's .VIL file, you can load an "alternate" version of the level, featuring three Chuck robots. Interestingly, the enemy positioning is similar to what is seen in prerelease footage.

Sponge-Bot Fight

By messing with SpongeBot's and Plank-Bot's .VIL file, you can load two "alternate" versions of the level.

Muscle-Sponge-Bot Fight

By messing with Muscle-Sponge-Bot's .VIL file, you can load an "alternate", much duller version of the level.

Anti-Cheating Checks

Hmmm...
To do:
Get a better understanding of how these work. Are these actually anti-piracy features, since they can be triggered by messing with the ISO?

Some levels in the game have anti-cheating checks, although they don't seem to affect much other than some of the player's interactions with objects. They are known to exist in Goo Lagoon and Bikini Bottom.

Hmmm...
To do:
There are more effects then this but I need to confirm them

Effects:

  • Bikini Bottom: You will be unable to unlock levels you have not already unlocked, you can't buy a ticket for the theater if you have not already bought it, and you can no longer collect the golden spatula from the mission "Ambush at the Tree Dome".
  • Goo Lagoon: The buttons that operate the reflectors no longer appear, the balloon children don't float around, and open golden spatulas do not appear.
  • SpongeBob's Dream: The player can no longer collect any golden spatulas in Sandy's dream.
  • Flying Dutchman's Graveyard: The golden spatula for the mission "A Path Through the Goo" can no longer be collected, and the player will be trapped in the cage upon attempting to collect it.

The cheating checks may be triggered by swapping around the .HIP/.HOP files in the game's ISO. However, this has not been confirmed.

Oddities

  • A jump in the file names indicate there may have been a level planned between the Kelp Forest Swamp (kf02) and the Kelp Forest Cave (kf04), however there is no data whatsoever for kf03. It could have been an early version of the Cave that became broken, and replaced with the later version.
  • The final area of the Flying Dutchman's Graveyard is internally named "graveyard_crashed_ship". However, in the previous level, SpongeBob saves the ship from Plankton's robots, and never crashes at any point. Perhaps the plot for that level was intended to go in a different direction?
  • There is a SHIT.PLYR file in the boot.hip archive that seems to be an early version of the file used to place SpongeBob on the map. It lacks the identifier that tells the game to use his textures, so replacing a normal PLYR file with this one will give the results shown below.

  • Using Dolphin (emulator) to run the game, go to View and click on Show Log. Everytime you would lose all of your underwear, collect underwear, or drown then respawn, this inappropriate message will show in the logs.
decrement time = 0 -- ass saved!

Version Differences

There are some graphical differences in the Xbox version of the game that the other versions don't have.

  • The save select screen shows a "flythrough" of the area it was saved in, like those beginning the level.
  • The graphics seem... brighter. The robots and shiny objects have a "shinier" quality to them, particularly the Ham-Mer's ham.
  • The Flying Dutchman's eye lasers look slightly different, suggesting they were reworked.
  • When the game loads a level it freezes whatever you are doing and bubbles appear, as apposed to the other versions, which go to a black screen with bubbles
  • The Xbox version is presented in a higher quality, and the FPS seems to be more stable.
  • When using SpongeBob's Cruise Bubble, you get a slight distortion effect similar to what is seen in the IGN Prerelease gameplay video.