Randomizer



This is a guide on using Industrial Park's Randomizer tool to create a randomized mod for the game.

The randomizer works on all versions (GameCube, Xbox, PS2) of Battle for Bikini Bottom and Scooby-Doo: Night of 100 Frights as long as you can obtain the game's extracted files from a disc image (and then repack them back into an image after applying the mod, if necessary).

Notes: The randomizer works, but has not been optimzed/prepared for Movie Game and The Incredibles games (you'll likely get lots of crashes and softlocks); the Enemies Allow Any Type, Shiny Object Gates and Spatula Gates functions are only for the GameCube game.

Steps

 * 1) Have your game's extracted files in a folder (you can see this page or this video for a guide on doing this with Dolphin and a GameCube ISO).
 * 2) Launch the Randomizer tool (you'll see it in the Industrial Park download).
 * 3) Click on Choose Root Directory and choose your game's root (the files folder), or Choose Single File if you only want to apply the randomizer to a single HIP/HOP file.
 * 4) A default set of randomizer functions and settings is already preset. You can click Perform to start the randomizer. Applying the mod can take a few seconds and the tool might hang for a bit. If you're doing this on Scooby, a dialog will ask you which platform you're editing (GameCube, PS2, Xbox) since the tool can't guess for that game.
 * 5) You can edit a few of the settings to customize your randomized mod (if you know what you're doing); more details below.

Alternatively, you can use this video tutorial to follow through all the steps.

If you need to rebuild the image afterwards, you can follow this tutorial for GameCube. There are methods of rebuilding the image for Xbox and PS2 as well.

Note that running the randomizer more than once on the same files will cause the modifications to stack on top of each other. If you've set platform speeds to increase, for example, they will become even faster. You should always start from clean files when running it.

AR Codes
Here are some useful AR Codes to help reduce softlocks:

Settings
The Load Settings and Save Settings buttons allow you to load and save, respectively, a JSON file containing all of the randomizer's settings. The same settings file, applied to the same set of original game files, will result in the same randomized game, so you can share a settings file with others instead of needing to share the entire game. The following is saved to the settings file:
 * Seed
 * Checked functions
 * All additional settings

Seed
You can type a number in the seed box to use as a seed or generate one from anything you type. Note that using the same seed won't result in the exact same randomized game; some things might be similar, but all settings which are checked or not, plus the additional settings on the box to the right, will have an influence on the result (sharing the settings files is preferable over sharing just seeds if you're going to play the same game with someone else).

Randomizer functions
Some of the functions only take effect if another one is also active.

Main functions

 * Warps
 * Randomizes level warps. For example, the Hub has a warp to Jellyfish Fields. That warp might take you to Flounder Hill instead, and the warp from Flounder Hill back to Ski Lodge might take you to a different level. All warps have the same chance of being any level.
 * If you choose a single file instead of a directory, this has no effect.


 * Pickup Positions
 * Randomizes the positions of all PKUP assets with each other. Shiny objects, spatulas etc will be in random places.
 * Warning: Collecting a golden spatula in certain places (such as above a springboard or when swinging from a hitch) will softlock the game.


 * Tiki Types
 * Randomizes the types of all tikis with each other. For example, if your level had 3 wooden tikis and 1 thunder tiki before the randomization, it will still do after but their places will be switched.
 * Tiki Models: you will get wooden tikis which behave like thunder tikis, for example.
 * Tiki Allow Any Type: tikis can have any type, even if not originally present in the level (such as Stone Tikis in Jellyfish Fields 1).
 * This method has no effect on Scooby-Doo since that game has no tikis. The frequency that each tiki type might appear can be chosen in the settings box (you can also set a type to be ignored (-1) or not appear at all (0)).


 * Enemy Types
 * This works similarly to tiki types. All enemies in the level will be interchanged with each other.
 * Enemy Allow Any Type: allows enemies to have any type, even if not originally present in the level. This requires IndustrialPark-EditorFiles to be dowloaded to work (the program will download it for you if needed).
 * This method has no effect on Scooby-Doo. The frequency that each enemy type might appear can be chosen in the settings'' box (you can also set a type to be ignored (-1) or not appear at all (0)).


 * MovePoint Radius
 * Randomizes the radii of MVPT assets. Enemies will likely be able to move more and see you from further away. Minimum and maximum multipliers can be chosen in the settings box.


 * Platform Speeds
 * This will multiply all PLAT speed values by a random factor. Minimum and maximum multipliers can be chosen in the settings box.


 * Boulder Settings
 * Randomizes the floating point values in BOUL assets. Boulders (such as cannonballs) can end up more or less bouncy, heavier, lighter, faster, slower etc. Minimum and maximum multipliers can be chosen in the settings box.


 * Marker Positions
 * Randomizes the positions of some MRKR assets, mostly the ones used for warping and checkpoints. A few of them are not included to avoid softlocks.
 * Player Start: also randomizes the player start position.
 * Pointer Positions (under Not recommended): also randomizes Pointers (which are similar to markers but used to place you when talking to NPCs).
 * Teleport Box Positions (under Not recommended): also randomizes teleport box positions.
 * Taxi Positions (under Not recommended): also randomizes teleport box positions. The taxi stands won't be moved to the taxi trigger, which will be invisible.
 * Bus Stop Positions (under Not recommended): also randomizes bus stop positions. The bus stop itself won't be moved to the trigger, which will be invisible.


 * Timers
 * Randomizes the time of all TIMR assets. This can make timed challenges much more (or much less) challenging. Minimum and maximum multipliers can be chosen in the settings box.


 * Shiny Object Gates
 * Randomizes the shiny object requirement for gates and clams. Minimum and maximum multipliers can be chosen in the settings box.


 * Spatula Gates
 * Randomizes the spatula requirement for gates. Minimum and maximum values can be chosen in the settings box.


 * Disco Floors
 * Randomizes the pattern of Mermalair disco floors. This method has no effect on Scooby-Doo.


 * Colors
 * Randomizes colors of placeable assets and level models. This method is only visual (no effect on actual gameplay).
 * Bright Colors (in the settings box): if true, the method will result in lighter colors.
 * Strong Colors (in the settings box): if true, the method will result in very saturated colors.


 * Music
 * BFBB: creates a setup which plays a random song every time you warp or respawn and sometimes randomly mid-game.
 * Scooby: each stage will have a different song.


 * Cameras
 * Randomizes the positions of all CAM assets with each other. Bus Stop and Taxi cameras are not randomized to avoid softlocks.


 * Textures
 * Randomizes the contents of all RWTX assets.


 * Sounds
 * Randomizes the contents of all sound assets. Everything will play a different sound than it originally did.
 * Mix SND SNDS (under Not recommended): all types of sounds will be mixed and the robots will start speaking the character's lines (it's funny at first but becomes annoying quickly).

Settings under "Not recommended"

 * Level Files
 * Randomizes level files with each other. For example: the GL02 file might be saved over SM01. All warps to SM01 will now lead to GL02.
 * This setting:
 * doesn't change the music. So GL02 will have SM01 music playing.
 * makes you unable to complete the antidote, wheels, artwork, buttons and campers tasks as those are tied to level names. Kids, crystals and cannons are still possible :because all of the collectables are in the same area of the level.
 * causes random warps to happen in a few spots of the game (meeting Patrick in JF02, King Jellyfish fight, Chuck intro cutscene, Prawn fight, Dutchman fight and maybe :others), making certain other tasks impossible to complete.
 * causes a softlock in the rare case a level replaces one with a warp to itself. For example: JF01 has a warp to JF02. If JF01 replaces JF02, the game will softlock when trying to take the warp to JF02 since you are already in JF02.
 * If you choose a single file instead of a directory, this has no effect.


 * Scale Of Things
 * Randomizes the scale of all BOUL, BUTN, DSTR, PLAT and SIMP assets. Minimum and maximum multipliers can be chosen in the settings box.


 * Button Events
 * Randomizes the collection of events of all BUTN assets with each other. Very high chance of softlocks and uncompletable tasks: the events of a button which previously could be pressed multiple times might now belong to a button which can only be pressed once, or the events that open a cage might end up in a button inside the cage.


 * SIMP Positions
 * Randomizes the positions of all SIMP assets with each other. This might make the game crash or simply make levels unbeatable.


 * Models
 * Randomizes the contents of all MODL assets. Very high change of crashing the game.

Settings Box
Aside from the probabilities and multipliers, there's a few other things you can do in the settings box:

INI Mods
Boot Level: if set to Default, this won't change your boot (initial) level. If set to Set, you can choose the boot level (name in the text box; default is HB01, which is the hub). If set to Random, a random one will be chosen. This works on both BFBB and Scooby.

Don't Show Menu On Boot: not a randomizer function (output is always the same). This will skip the main menu and start the game directly.

All Menu Warps HB01: not a randomizer function (output is always the same). This will make you unable to warp anywhere else but the hub using the pause menu. If you set both this and Random Boot Level (and also randomize warps or level files), you might lock yourself out of the hub! This has no effect on Scooby.

Cheats: you can set the player to be invincible or to start the game already with one of the power-ups.

Disable Cutscenes
Not a randomizer function (output is always the same). This will disable the enemy introduction cutscenes for Fodder, Ham-mer, Tar-tar, G-Love, Chuck, Monsoon, Sleepytime, Arf and Slick. This decreases the chance of the game crashing when playing these cutscenes.

Spatulas For Chum Bucket Lab
Not a randomizer function (output is always the same). If set to true, you can set the amount of spatulas for the final boss (default is 75). If set to false and the Spatula Gates randomizer function is on, this will also be random!

boot.hip LODT Multiplier
Not a randomizer function (output is always the same). This will multiply the LOD distance (maximum render distance) of the game's pickups (spatulas, shiny objects, scooby snacks etc) by a factor (defaults to 2) so you can see them from further away.

Patterns and files to skip
There are two fiels for you to type filters of files to be left out of the randomizer. 'Skip Entirely' contains patterns to be skipped entirely (default are files for menus, characters and unused levels, which can't be randomized). 'Skip Warps' contains patterns to be skipped for the Warps and Level Files randomizer options, but not the others (these levels will be randomized but their warps and files will not be mixed with the rest of the game). It's recommended to just leave these with the defaults.

If you have "hb01" on the filter, for example, the hb01 level will be filtered but hb02 won't. If you have "hb", all "hbXX" files will be filtered. Check Filesystem (for BFBB) or Filesystem (Scooby-Doo: Night Of 100 Frights) for a complete list of levels.