Randomizer

This is a guide on using Industrial Park's Randomizer function 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). 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).



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 Industrial Park and open Research/Advanced -> Randomizer. Make sure you don't have any Archive Editor windows open before doing this.
 * 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.

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.

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 3 boxes)
 * Patterns and files to skip (both boxes)
 * Additional (other) 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 every single setting (checked boxes, files to skip and additional settings) must be the same for that to happen (this is why sharing the settings files is preferable over sharing just seeds if you're going to play the same game with someone else).

Patterns and files to skip
There are two boxes for you to type filters of files to be left out of the randomizer. The left box contains patterns to be skipped entirely (default are files for menus, characters and unused levels, which can't be randomized). The right box 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.

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

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 (bottom or top of the mountain) might take you to a different level.

Reduce Warps to HB01: In the original game, there are about 20 warps to the hub world! (almost every level has one). This setting makes the hub have less warps leading to it and other levels have more instead (the total amount, which defaults to one, can be set in the Other Settings dialog). This method has no effect on Scooby.

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 since that game has no tikis. The frequency that each tiki type might appear can be chosen in the Other Settings dialog (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. The frequency that each enemy type might appear can be chosen in the Other Settings dialog (you can also set a type to be ignored (-1) or not appear at all (0)).

MovePoint Radius
Randomizes the radii (radiuses) 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 Other Settings dialog.

Platform Speeds
This will multiply all PLAT speed values by a random factor. Minimum and maximum multipliers can be chosen in the Other Settings dialog.

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 Other Settings dialog.

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.

Shiny Object Gates
Randomizes the shiny object requirement for gates and clams. Minimum and maximum multipliers can be chosen in the Other Settings dialog.

Spatula Gates
Randomizes the spatula requirement for gates. Minimum and maximum values can be chosen in the Other Settings dialog.

Set FinalBoss Spatulas: instead of randomizing the amount of spatulas for the final boss gate, sets it to a fixed number, which can be set in the Other Settings dialog.

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 Other Settings dialog.

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.

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

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).

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

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.

Multiply boot.hip LODT
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 which can be chosen in the Other Settings dialog (defaults to 2) so you can see them from further away.

Level Files
Not recommended

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
Not recommended

Randomizes the scale of all BOUL, BUTN, DSTR, PLAT and SIMP assets. Minimum and maximum multipliers can be chosen in the Other Settings dialog.

Button Events
Not recommended

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
Not recommended

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

Models
Not recommended

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

Boot To Set Level
Under INI mods

Not a randomizer function (output is always the same). This sets the boot level to a level which can be set in the Other Settings dialog (default is HB01, which is the hub). This works on both BFBB and Scooby; if you're setting this on Scooby, be sure to set a different boot level (H001 is the hub).

Random Boot Level
Under INI mods

The only actual randomizer function for the INI mod. This sets the boot level to a random level (overrides the setting above). This works on both BFBB and Scooby.

Don't Show Menu On Boot
Under INI mods

Not a randomizer function (output is always the same). This will skip the main menu and start the game directly.

All Menu Warps HB01
Under INI mods

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.

Cheat Invincible
Under INI mods

Not a randomizer function (output is always the same). You will never lose underwear or Scooby medals.

BobCheat BubbleBowl
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the bubble bowl. This has no effect on Scooby.

BobCheat CruiseBubble
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the cruise bubble. This has no effect on Scooby.

ScoobyCheat Spring
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the spring power up. This has no effect on BFBB.

ScoobyCheat Helmet
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the helmet power up. This has no effect on BFBB.

ScoobyCheat Smash
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the super smash power up. This has no effect on BFBB.

ScoobyCheat Umbrella
Under INI mods

Not a randomizer function (output is always the same). You will start the game with the umbrella power up. This has no effect on BFBB.