Ways to play the game
Before you start setting up for speedrunning, it is important to know what platform you’ll play on. Battle for Bikini Bottom was released for the Original Xbox, GameCube and PlayStation 2 consoles. It can also be played on Wii and Xbox 360, since they have backwards compatibility. It can be played on PlayStation 3 as well, but only on the original 60GB and 20GB versions, since newer versions lack backwards compatibility.
If you have any of these platforms, you can use them to speedrun the game. In case you don’t have any of these or you can’t use them to play the game for whatever reason you can use Dolphin emulator instead to emulate the GameCube version of the game. There are other emulators as well, but Dolphin is the only emulator allowed for runs.
If you have made the decision to play on Dolphin emulator, you’re gonna need these necessary things to run the game:
- Dolphin: https://dolphin-emu.org/download/. It’s recommended to download the latest development version, since they get updated a lot more frequently. If the development version doesn’t work for you, you can use the stable 5.0 version.
- The GameCube Battle for Bikini Bottom Iso
Choosing a Controller
Next up you’re gonna have to decide what controller to use for Dolphin. The controller options from best to worst are:
- Xbox 360/One controllers are solid, but they lack notches, making it hard to go in a straight line sometimes. However, since OG Xbox and Xbox 360 are the fastest consoles to play the game on, the muscle memory will carry over nicely and therefore it’s the best controller to start out on.
- GameCube controllers might arguably be the best way to play on Dolphin, but muscle memory doesn’t carry over to OG and 360 and some people absolutely hate the triggers for certain tricks.
- PS3/PS4 controllers are a decent choice if you can’t play with the previous controllers and you’re used to PlayStation controllers.
- Playing on Keyboard is possible, but it’s incredibly hard and inconvenient and doesn’t carry over any muscle memory when you swap to a console.
Setting up your Controller
- Xbox 360/One controllers are XInput devices on Windows. Any XInput device connected to the computer will automatically be detected by dolphin. You can connect either via USB or via an official wireless receiver.
Click the Controllers button in Dolphin to open the Controller Settings. On Port 1 select "Standard Controller”. Click configure and select "XInput/0/Gamepad" under Device. Now you can simply click the button you want to bind a controller button to with your mouse and press the controller button afterwards.
As for sticks, keep your "Radius" on 100. If you notice analog inputs while not touching the control stick, you can change the "Dead Zone" with small increments until it no longer happens.
- GameCube Controllers. You need either the Official GameCube Controller adapter or its Mayflash counterpart. You also need to do some setup depending on which operating system you’re using, which you can find here
After you’ve done this however, you can simply click the Controllers button to go to Controller Settings and change Port 1 to “GameCube Adapter for Wii U”. If you want to turn off Rumble you can do so by pressing Configure next to Port 1 and changing the setting.
- PS4 controllers require the exact same setup as Xbox 360/One controllers as long as they get recognized as XInput. Refer to their setup part to set up your controller. If the controller doesn’t get recognized as XInput. Refer to the PS3 controller setup part.
- PS3 controllers don’t get automatically recognized by Windows. Use https://github.com/nefarius/ScpToolkit to make the controllers get recognized as XInput. Then follow the same steps as the 360/One controllers.
- Keyboard works the same as setting up an XInput controller, except you choose "DInput/0/Keyboard Mouse" instead of XInput. Hard to make work well, but it kinda works with this setup:
You use your left hand for movement and your right hand for camera and other buttons.
General Dolphin Setup
For General settings, the only setting that you could change around is “Enable Dual Core”.
If you are going to be doing anything with TAS (Tool-Assisted Speedrun), you should disable this setting to prevent desyncs.
If you want to use AR Codes for practice, you should also make sure “Enable Cheats” is checked.
Otherwise, you should disable this if your computer can run Dolphin just fine. If your computer slows down during emulation, you should consider turning on this setting.
In Paths, you should add the folder your bfbb Iso is located in, so that you can quickly open and play it from the menu every time.
For any other Config settings and all the Graphical settings, you should leave them on the standard settings for the best performance and the least graphical glitches.
For Dolphin users, there are a number of features that will make practicing the game easier and more efficient. HOWEVER, MAKE SURE YOU DON’T USE THESE FEATURES IN RUNS, AS ALL OF THEM ARE BANNED.
First off, right-click your bfbb Iso in Dolphin, click properties and check “Speed up Disc Transfer Rate”. This will decrease your loading times substantially, depending on how fast your computer is.
For a “Warp Anywhere” cheat code, under “AR Codes” press “Add New Code”. Name it anything you want and next to “Code” add:
You can now warp anywhere during practice without first unlocking the warps.
A unique feature to running on Dolphin are savestates. Savestates allow you to save the exact state of the game at any time and go back to that state at any time.
To use savestates, go to “Options” > “Hotkey Settings” “Save and Load State”. In here you can bind up to 10 save and load state hotkeys. It’s recommended to at least bind "Save State Slot 1" and "Load State Slot 1" to something.
To use these savestates in the game, simply press your "Save State Slot 1" hotkey to save your exact state of the game. And then simply press your "Load State Slot 1" hotkey to return to that state. This will allow you to basically reload at different parts than just menu loads or respawns.
If you plan to play on a console, you should know what consoles are best for speedrunning. Keep in mind that any console is viable to start off on. This just gives you an idea of the available options and what you should expect to buy in the future.
NTSC/PAL: The PAL version of the game used to break a very important trick that made the version considerably slower. Nowadays, there’s a version of the trick that works for both regions, so you no longer have to import an NTSC console to be competitive.
The Consoles from Best to Worst are:
- Xbox has the fastest loading times, allows for lag clips, and has less graphical glitches than Xbox 360. The controller is not the best, but does the job. The Xbox is also most prone to being refurbished with newer parts, which makes loading times too fast and renders your console banned from running the game.
- Xbox 360 has slightly slower loading times than the original Xbox, and has a lot of graphical glitches compared to the original Xbox. Because it’s slower, lag clips are a lot easier, which somewhat makes up for the slower loading times. The Xbox 360 controller is the best controller available to run the game on.
- PS3 is where the line is drawn for top runner viability. The console is slower than 360 and only has backwards compatibility on very specific versions. The controller is pretty good.
- Wii is somewhere between PS3 and the original GameCube in loading times. It basically plays exactly the same as the GameCube and Dolphin versions of the game, just has faster loads.
- GameCube is a lot slower than Xbox and is the only version of the game that is allowed to be emulated for runs. If you prefer using a genuine console over Dolphin, then this is a somewhat popular choice to start out with.
- PS2 is even slower than GameCube by quite a bit. Dolphin is a lot more convenient and faster. If you prefer a genuine console over emulation and only have this available, it’s also a fine console to start off on.
It is recommended to start off on the fastest console that is already available to you. Once you reach a certain time and you feel confident that you’re going to spend a lot of time on speedrunning, you should consider switching to the Original Xbox.
Buying an Xbox
Since the original Xbox is the fastest console, we'll only be covering buying that.
If you want to buy an Xbox, you should check out listings on sites like Ebay and Amazon. Prices around 40-60 dollars are normal. Always ask the seller if they can send pictures of the bottom of the Xbox. With this, you can see if the console has been opened up and refurbished by looking for exposed screw holes. If it has been refurbished, you should not buy the Xbox since there’s a chance it will have faster loading times due to replaced parts.
You can also check the manufacturing date of the Xbox in question by looking at this part here.
There have been several versions of the Xbox, ranging from 2001 to 2005. If you want the fastest loading times, you should aim for a 2004-2005 Xbox.
Buying the Game
If you already have a console, but you don’t have the game, you can buy several versions of the game on Ebay:
Displaying the Game
For a speedrun game, it is important that you have a screen with low input delay. The tricks in this game are simply too precise to play on some 200ms delay HDTV.
The two main options will be either using a CRT or a Low Delay Monitor
A CRT is the cheapest option, since it’ll most likely directly support the video cables of these old consoles. Mainly Composite (Red/White/Yellow) and S-video (Red/White/Black). A CRT also has the lowest delay of any screen type. CRT’s cause eye strain for some people after repeated use.
A Low Delay Monitor is basically any gaming monitor and should be far more common in current-day households than a CRT. Most of these will not support Composite or S-Video cables so they require an upscaler like this one for composite and this one for S-Video. Composite is cheaper and comes with most Xboxes. S-Video looks a lot better but is more expensive. If you want to use S-Video, you should get S-Video cables for your Xbox like these
Don’t go too cheap on the downscalers, as they might add a lot of input delay. The ones above should work fine for quality and input delay, but they do force 16:9.
Recording the Game
Any category in the game will have two thresholds defined in the rules. These are the Video and Audio Threshold and the Capture Card Threshold. This means if you surpass a certain time on a category you are required to add a video with audio of your entire run.
For the first Threshold you can record by any means necessary. I.e. if you have a sub 1:05 time on Any%, you could add video proof by means of a phone camera. As long as the entire screen and all the audio is visible/audible the entire run. It is recommended to record any run, even above the threshold, as pretty much anyone has some sort of camera and it’s fun to watch back your progress.
The second Threshold is for the most competitive times. You won’t get these times without spending a lot of time on the game. These times will require you to have a video with capture card footage to be accepted. Don’t hesitate to get a capture card earlier on though. The quality is a lot better than a camera. Below is an explanation on how to get and set up the best beginner capture card: The GV-USB2. You can also use something like an EZCap or a Dazzle, but these are generally much worse than the GV-USB2.
What hardware you need to record with the GV-USB2
- A GV-USB2: https://www.amazon.com/DATA-connection-video-capture-GV-USB2/dp/B00428BF1Y
- A POWERED Composite/S-Video splitter like this one. DO NOT USE AN UNPOWERED SPLITTER, THESE WILL ADD INPUT DELAY, BAD AUDIO AND BAD VIDEO QUALITY
- 2 Male to Male Composite Cables like these
- Only if you want to use S-video (You still need the previous cables for audio) 2 Male to Male S-Video Cables like these
Plug the powered splitter into a power socket. Then connect the Xbox' output cables to the input side of the splitter. For the 2 cables you bought, you want to connect both of them to the output side of the splitter. If you bought the S-video cables as well, replace only the yellow cable with that. Connect one of the cables to your capture card and the other to your CRT/Monitor/Upscaler. You can now record and play the game at the same time!
First off, download the necessary software:
- OBS: https://obsproject.com/
- GV-USB2 Drivers (Only if you are using the GV-USB2 to record): The drivers are in Japanese, so follow this guide: https://iotku.pw/gvusb2-guide/
Once we have all the necessary software and drivers, we want our gameplay to appear in OBS.
For Dolphin, open the game first. Then, in OBS, click on the plus below “Sources” > “Game Capture” and click OK. For Mode choose "Capture Specific Window" then choose the longest of the Two Dolphin Window titles. Also make sure you uncheck "Capture Cursor".
For Console with the GV-USB2, click on the plus below “Sources” > “Video Capture Device” and click OK.
First off, you want to click “Configure Video” and make sure the settings that pop up look like this (Change "Composite" to "S-Video" if you chose to use that) :
"NTSC_M" is what you need to use if you’re using an NTSC Xbox. If you’re on PAL, "PAL_B" usually works, but if it doesn’t, just try all the PAL settings until one works. Once you’re done with this, close the “Configure Video” window and make sure the main screen looks like this:
Make sure you check “Use custom audio device” and select “GV-USB2, Analog WaveIn” for the audio.
Finally, you can add some filters to make the footage look a lot better.
You can do this by right clicking the Video Capture Device and clicking Filters. First off, add a new Crop/Pad filter by clicking the + at the bottom of the menu and copy the following settings:
This should remove the black bars on the sides of the footage.
The rest of the filters are all down to personal preference. Color Correction and Sharpen can be used effectively to make the footage look better.
If you have a fast computer, you can deinterlace the footage to make it look smoother. To do this, right-click the “Video Capture Device” > “Deinterlacing” and mess around with the different settings. “Blend 2x” is recommended for the best quality.
Setting up OBS for Recording
The simplest way to record your attempts is by recording locally. To set this up, go to “Settings” at the bottom right of the OBS window.
For “Video Bitrate”, you can choose anything between 2000 and 4000. Change this to lower values if you are experiencing lag during recording.
Change “Recording Format” to flv. This will assure you won’t lose your recording if OBS crashes.
Depending on your computer’s speed, change “Output (Scaled) Resolution” from anywhere between “852x480” to “1920x1080”. Same thing for FPS, but either 30 or 60.
Finally you want some hotkeys for recording, as you will frequently start and stop recording between attempts. These can be any buttons you like.
Setting up OBS for Streaming
If you want to livestream your footage, there’s only a few things you have to change.
First off, your upload speed is now also a limiting factor. If you have very bad upload speed, you should change some of the performance settings listed in the recording guide.
Under the Stream Tab in Settings, you need to enter your entire Stream Key, which you can retrieve from your Twitch Account by going to “Dashboard” > “Stream Key”.
Finally, if you’re going to speedrun, you’re going to need some kind of way to keep track of your times. This is what we use LiveSplit for. It’s a program that allows you to make your own timing points, depending on your routes. It keeps track of all your best segment times, your personal best and is very customizable.
Download Link: http://livesplit.org/downloads/
How to use LiveSplit
There are two types of files you can use for LiveSplit. LSL (LiveSplit Layout) files and LSS (LiveSplit Splits) files.
You can technically play on the default LiveSplit Layout, but if you want a more custom layout, either import a layout you like or make your own. You can open layouts by right-clicking the LiveSplit window and clicking “Open Layout”.
You can personally edit your layout by clicking “Edit Layout”. This is incredibly customizable and not mandatory at all. So it won’t be explained in this tutorial. There are plenty of decent guides out there if you want to make your own layout anyway.
As for Splits files, you can either import one of them from one of the tutorials on this site or make your own. To do this right-click the LiveSplit window and click “Edit Splits”
Here you can select the game and category and start adding your splits by using the buttons on the left and typing your segment names.
On the “Additional Info” tab, you can enter some more information about the Region and Platform you’re using.
For some final settings, make sure “Control” > “Global Hotkeys” is enabled. Go to “Settings” to set your Split button, Reset button, Undo button and Skip button. Do not set your Pause button to anything. If you need to pause during a speedrun, you have to keep your timer running. It should also be noted that a timer is not mandatory (but highly recommended), as any run can be retimed afterwards.
Showing LiveSplit in OBS
To show LiveSplit next to your footage in OBS, open OBS, click the + button below “Sources” and add a new “Window Capture”. Change the settings to the values in the image below and you should be ready to record or stream your speedruns with a timer in OBS.
You should now be ready to run and record the game! Check out routes and tutorials of the 3 main categories here: Any%, 100% and NG+. It is recommended to start off with Any% as there is a very in-depth tutorial on that and it's the most beginner-friendly category