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)
| SpongeBob SquarePants: Battle for Bikini Bottom |
|---|
|
Developer:
Heavy Iron Studios
|
| 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.
Contents
- 1 Sub-Pages
- 2 Early Menu
- 3 Unused Videos
- 4 Unused Text
- 4.1 Unused Boss Battle Text
- 4.2 Box Office Guy in Bikini Bottom
- 4.3 Other in Bikini Bottom
- 4.4 Bubble Buddy in SpongeBob's Dream
- 4.5 Mrs. Puff in Patrick's Dream
- 4.6 Evil Bubble Buddy
- 4.7 Patrick
- 4.8 Early Goo Lagoon Dialogue
- 4.9 Early Flying Dutchman's Graveyard Dialogue
- 4.10 Jellyfish Fields Demo Leftovers
- 4.11 Early Warps
- 4.12 Misc. Dialogue
- 4.13 Early Menu Text
- 4.14 Hidden Developer Messages
- 5 sb.ini
- 6 Executable
- 7 Triggers
- 8 Oddities
- 9 Version Differences
Sub-Pages
| Unused Levels Who were you expecting, Tiny Tim? |
| Unused & Hidden Objects I'm Easy Like Sunday Morning |
| Unused Textures A lot of early HUDs and a hidden credits screen. |
| Unused Animations I'm Walking, Krabby Patty, over to Squidward |
| Unused Audio I don't speak Italian. |
Early Menu
| To do: Find a video with the "cheat device" method of accessing the level |
In the PS2 version, if you somehow get SpongeBob to get out of bounds on the title screen using a cheat device, Hans will pull you in and an early version of the pause menu will appear, however it will be stuck together with the final pause 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 here. You can also 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.
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. |
| 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? |
| 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 |
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
| 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.
| 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.
- Games developed by Heavy Iron Studios
- Games published by THQ
- GameCube games
- PlayStation 2 games
- Xbox games
- Games released in 2003
- Games with unused animations
- Games with unused areas
- Games with unused code
- Games with hidden developer messages
- Games with hidden developer credits
- Games with hidden development-related text
- Games with unused enemies
- Games with unused objects
- Games with unused graphics
- Games with unused models
- Games with unused cinematics
- Games with unused items
- Games with unused sounds
- Games with unused text
- To do
- SpongeBob SquarePants series
Cleanup > To do
Games > Games by content > Games with hidden developer credits
Games > Games by content > Games with hidden developer messages
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused animations
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused cinematics
Games > Games by content > Games with unused code
Games > Games by content > Games with unused enemies
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused items
Games > Games by content > Games with unused models
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Heavy Iron Studios
Games > Games by platform > GameCube games
Games > Games by platform > PlayStation 2 games
Games > Games by platform > Xbox games
Games > Games by publisher > Games published by THQ
Games > Games by release date > Games released in 2003
Games > Games by series > SpongeBob SquarePants series
The Cutting Room Floor > Featured articles
