Randomizer: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
Battlepedia>TetraxZ
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 3: Line 3:
This is a guide on using [[Industrial Park (Level Editor)|Industrial Park]]'s '''Randomizer''' tool to create a randomized mod for the game.
This is a guide on using [[Industrial Park (Level Editor)|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).
The randomizer works on all versions (GameCube, Xbox, PS2) of Battle for Bikini Bottom, Scooby-Doo: Night of 100 Frights and Movie Game 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.


Notes: The randomizer works best on the GameCube version of the games; some functions appear not to work on the other platforms. The tool has not been optimized/prepared for The Incredibles games (you can try it in them using the Movie setting but you'll likely get lots of crashes and softlocks).


==Steps==
==Steps==
# Have your game's extracted files in a folder (you can see [[Setting up Dolphin for modding|this page]] or [https://www.youtube.com/watch?v=GthegXui6eg&list=PLuDjCkCsPEiPtXh4a57HXBZVErwd916SY this video] for a guide on doing this with Dolphin and a GameCube ISO).
# Have your game's extracted files in a folder (you can see [[Setting up Dolphin for modding|this page]] or [https://www.youtube.com/watch?v=GthegXui6eg&list=PLuDjCkCsPEiPtXh4a57HXBZVErwd916SY this video] for a guide on doing this with Dolphin and a GameCube ISO).
# Launch the Randomizer tool (you'll see it in the Industrial Park download).
# Launch the Randomizer tool (you'll see it in the Industrial Park download).
# 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|HIP/HOP file]].
# Click on ''Choose Game Directory'' button under the ''Game Directory'' menu and select your game's root (the files folder), or ''Choose Single File'' if you only want to apply the randomizer to a single [[HIP|HIP/HOP file]].
# 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.
# You can also click on ''Choose Backup Directory'' to choose a folder with a copy of the game's files to use as backup. If you do this, the randomizer will load the files from the backup, but still save them over the files you chose on the previous set.
# Choose the game you are applying the randomizer for from the box.
# You can edit a few of the settings to customize your randomized mod (if you know what you're doing); more details below.
# 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 or Xbox) since the tool can't guess for that game.
# You can edit a few of the settings to customize your randomized mod. You can see the description for each method in the box at the bottom.


Alternatively, you can use [https://www.youtube.com/watch?v=U-KJl7_eSVk this video tutorial] to follow through all the steps.
Alternatively, you can use either [https://youtu.be/g1jqd3BqrRg this tutorial] or [https://youtu.be/U-KJl7_eSVk this slightly older one] to follow through all the steps.


If you need to rebuild the image afterwards, you can follow [https://www.youtube.com/watch?v=AyldF6AneZk&list=PLuDjCkCsPEiPtXh4a57HXBZVErwd916SY this tutorial] for GameCube. There are methods of rebuilding the image for Xbox and PS2 as well.
If you need to rebuild the image afterwards, you can follow [https://www.youtube.com/watch?v=AyldF6AneZk&list=PLuDjCkCsPEiPtXh4a57HXBZVErwd916SY 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.
Note that running the randomizer more than once on the same files will cause the modifications to stack on top of each other. You should always start from clean files when running it; the randomizer allows you to choose a backup folder to automatically get files from when randomizing.


If you need any help or have questions about the Randomizer, feel free to join the Modding Discord server from the link on the sidebar link.
If you need any help or have questions about the Randomizer, feel free to join the Modding Discord server from the link on the sidebar External Links area.


===AR Codes===
===AR Codes===
Line 43: Line 44:
|}
|}


==Settings==
==Settings File==
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:
In the ''Settings File'' menu, you can load and save 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
* Seed
* Checked functions
* Checked methods
* All additional settings
* All additional settings

==Game Directory==
* ''Choose Backup Directory'': allows you to choose a backup files directory.
* ''Use Backup Directory'': if this is checked, when applying the randomizer, all files will be loaded from the backup but will overwrite in your selected game directory. The backup files will be left untouched If this is unchecked, the randomizer will be applied directly to the game files you choose.
* ''Choose Game Directory'': chooses the directory with the files that will be randomized. The randomizer will be applied directly to these files if ''Use Backup Directory'' is unchecked.
* ''Choose Single File'': chooses one single file to apply the randomizer to.


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


[[Category:Tools]] [[Category:Tutorials]]
==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 Format|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.

[[Category:Modding]] [[Category:Tools]] [[Category:Tutorials]]

Latest revision as of 17:55, 29 April 2021

Randomizer tool window

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, Scooby-Doo: Night of 100 Frights and Movie Game 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 best on the GameCube version of the games; some functions appear not to work on the other platforms. The tool has not been optimized/prepared for The Incredibles games (you can try it in them using the Movie setting but 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 the Randomizer tool (you'll see it in the Industrial Park download).
  3. Click on Choose Game Directory button under the Game Directory menu and select 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. You can also click on Choose Backup Directory to choose a folder with a copy of the game's files to use as backup. If you do this, the randomizer will load the files from the backup, but still save them over the files you chose on the previous set.
  5. Choose the game you are applying the randomizer for from the box.
  6. 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 or Xbox) since the tool can't guess for that game.
  7. You can edit a few of the settings to customize your randomized mod. You can see the description for each method in the box at the bottom.

Alternatively, you can use either this tutorial or this slightly older one 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. You should always start from clean files when running it; the randomizer allows you to choose a backup folder to automatically get files from when randomizing.

If you need any help or have questions about the Randomizer, feel free to join the Modding Discord server from the link on the sidebar External Links area.

AR Codes

Here are some useful AR Codes to help reduce softlocks:

Effect Code
Skip Spatula Animations
040634F8 60000000
0406363C 60000000
04076A38 60000000
04076A4C 60000000
040640A0 60000000
L+R+Z to reload area
4A292620 00000070
023C1C0B 00000000

Settings File

In the Settings File menu, you can load and save 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 methods
  • All additional settings

Game Directory

  • Choose Backup Directory: allows you to choose a backup files directory.
  • Use Backup Directory: if this is checked, when applying the randomizer, all files will be loaded from the backup but will overwrite in your selected game directory. The backup files will be left untouched If this is unchecked, the randomizer will be applied directly to the game files you choose.
  • Choose Game Directory: chooses the directory with the files that will be randomized. The randomizer will be applied directly to these files if Use Backup Directory is unchecked.
  • Choose Single File: chooses one single file to apply the randomizer to.

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