Bizhawk

From OoT Randomizer Wiki
Revision as of 18:27, 1 October 2020 by ETR BTF (talk | contribs) (added clarification)
You want the first file located under the Assets heading for both downloads. It should have ".zip" at the end. Version numbers will vary, ask in #setup-support on Discord if you're not sure which versions you want.

BizHawk is a frontend for small number of emulators and is targeted at Tool-Assisted Speedrunners. The advantage of this is that it means the emulators you use on it are targeted towards accuracy so you are unlikely to run into too many bugs that aren't also found when running the games on hardware. A small disadvantage to this is that these emulators also have various debugging tools enabled, which generally means they run slightly slower than emulators without these features enabled. But this also allows further manipulation of the game via Lua scirpts which is how Multiworld functions. This also means that as of right now, BizHawk is the only emulator that can be used for playing Multiworld.

First, you must download BizHawk and the files it requires to have installed to even run.

Installing

RTENOTITLE

Once you have downloaded the files for installation, you have to extract them. Right-click the zip files and choose "Extract All..." and click next a couple of time. Make sure you do this for both zip files you downloaded.

You should now have a folder with a name like bizhawk_prereqs_vX.X where X.X is the version of the prerequisites that you downloaded such as 2.1. This version can be different than the BizHawk version. Open this folder.

Inside there should be a file called bizhawk_prereqs.exe. Double-click this file and click next a couple of times, then wait for all of the files to install. Once the installer has completed you can continue.

Emulator Setup

You can now start up BizHawk. Open the folder BizHawk-X.X.X where X.X.X is the BizHawk version you downloaded, such as 2.3.0. This version can be different than the Prerequisites version. Inside this folder is a file called EmuHawk.exe. Open this file.

You have to load a ROM before you can change N64 emulator-specific settings. Go to File > Open ROM in the menu bar up top. Locate your ROM and open it.

RTENOTITLE

Enable RAM Expansion

Now that you have loaded a ROM a new menu entry N64 will show up in the menu bar. Ensure N64 > Use Expansion Slot has a check-mark beside it indicating it is enabled. If it does not click on it to enable it. Once you have enabled the setting you have to reboot the core for it to take effect. Navigate to Emulation > Reboot Core to do so. You'll have to do this for every randomizer rom you create due to how Bizhawk works.

Enable Save Backup In Case of Crashes

Go to Config -> Customize and navigate to the Advanced tab. You should check the box for AutoSaveRAM and set it to a reasonable time, such as 60-180 seconds (keep in mind that setting this too low could increase lag and decrease overall emulator performance). This will allow Bizhawk to write your in-game save to your drive. This is NOT a form of save state - it simply periodically creates/updates a file on your hard drive with your in-game save data, and is wonderful for mitigating the effects of crashes. In the event of a crash (or if you open TAStudio by accident) DO NOT RELOAD THE ROM! DO NOT RELOAD THE ROM! . Doing so will overwrite your backups, meaning that your save files will be gone. To recover your save file follow the instructions over here.

Advanced Customization

Hotkey Settings

RTENOTITLE

It is strongly recommended to remove most, if not all, of the default hotkeys. Some are bound to your controller by default and can cause frustration while trying to play. Go to Config > Hotkeys..., select a hotkey, and simply press the Esc key on your keyboard to unbind it. You can also click Misc and Clear All to unbind all of the hotkeys at once.

Controls Setup

First, take a look at the Controller Setup guide. Ensure your controller is calibrated, and if you are using one of the controllers with additional setups steps in that guide make sure you follow them.

With the ROM still running, go to Config > Controllers... and set up your controls by clicking on the textboxes and pressing the button on your controller or keyboard you wish to have mapped to the displayed N64 control. If your controller isn't registering inputs you are missing the required drivers for your controller and must find them and install them.

Better Analog Stick Accuracy

Provided by Retzioka

RTENOTITLE

Make sure the first 4 boxes under Normal Controls are empty as displayed above. If they are not, click the box and hit Esc to clear the bind. These settings will force your controller to always input the control stick at 100% rather than by how much you press the stick in a direction. This makes aiming in the game very difficult. You never want these set if you are using a controller with an analog stick which is why we unbind them.

Now go to the Analog Controls tab and click the Bind button.

X-Axis Move your stick Left to Right once.

Y-Axis Move your stick from Up to Down once.

Be sure to also adjust your sensitivity to make it easier to aim as well. The image above shows an example, but everyone has a different setting that "feels good" to them. Experiment with them, especially once you've found a Bow or Slingshot.

Optional Settings

Enable Background Input

In the General tab of the Config -> Customize menu, check the box to enable Accept background input – this will allow Bizhawk to keep accepting controller inputs when you tab over to your tracker or notes. You'll want to ensure you disable hotkeys if you enable this setting.

Better Graphics

RTENOTITLE

Under Config > Cores > N64 Video Plugin Settings you should see a dropdown box titled Video Resolution. The recommended resolution is 640x480 and the maximum recommended resolution is 800x600. Higher resolutions will affect the performance of the emulator and is a major cause of slowed and laggy gameplay.

If you computer has up-to-date OpenGL drivers (fairly modern Nvidia and AMD cards, and only very, very recent Intel graphics) you should change the Active Video Plugin to GLideN64 as it is the most accurate video plugin. If the game boots to a black screen while after activating this plugin try Glide64 mk2 instead. Use Rice plugin only as a last resort as it is quite inaccurate.

Background Inputs

RTENOTITLE

As a Streamer, you may have to click around often. This will make sure that whatever you do, the Emulator will register the inputs from your Controller. Go to Config > Customize... and make sure Run in background and Accept background input are both checked. It is also recommended to uncheck the Pause when menu activated box.

If you selected a high resolution in the previous step your FPS might go down if you click somewhere other than on the Emulator.

Aspect Ratio

RTENOTITLE

If you decide to make your emulator’s window fullscreen, your game will look stretched. This does not look very nice for either you or your viewers. This will ensure the game will stay in its original 4:3 Ratio. Go to Config > Display and check the Maintain aspect ratio (letterbox) box and select Use 1:1 pixel size.

Troubleshooting

Help! My emulator crashed!/I accidentally opened TAStudio and got a black screen!

First of all, DO NOT RELOAD THE ROM! DO NOT RELOAD THE ROM! . Doing so will overwrite your backups, meaning that your save files will be gone. To recover your save files follow these instructions.

  1. In your Bizhawk folder navigate to \N64\SaveRAM.
  2. Identify the SaveRAM and AutoSaveRAM files corresponding to your seed. Sorting by date may help. Note that the AutoSaveRAM files will only exist if you've enabled that beforehand.
  3. Optional: manually make a backup of these files somewhere on your pc.
  4. Delete the SaveRAM file and rename AutoSaveRAM to take the place of the SaveRAM file you've just deleted.
  5. Now you can safely load your seed again and continue playing.

I am getting (Random) Crashes

Ensure that you've enabled RAM expansion

Bizhawk is Laggy

Go to Config -> Cores -> N64 Video Plugin Settings and take a look at your Video Resolution setting. If this is set too high then that can cause lag. Even if your pc is very powerful we still recommend not going over 800x600, because it will demand a lot of resources from your computer without increasing the graphics all that much (it's a 20 y/o game). If you're still experiencing lag then consider decreasing the resolution even further. Remember: Bizhawk is a very resource-intensive emulator. Playing in full screen could also be a cause of lag.

Audio Issues

Audio issues can be just that, audio issues, but if you have a reasonably powerful graphics card in your computer audio issues can be a result of Bizhawk using the integrated GPU on your CPU instead of the actual powerful dedicated GPU.

Ensure Proper GPU is Being Used

Follow this resource to ensure Bizhawk is using your high performance GPU if you have one: https://www.howtogeek.com/351522/how-to-choose-which-gpu-a-game-uses-on-windows-10/

Decrease Resolution

If your high performance GPU is being used, or you don't have one, then try reducing the output resolution. Refer back to here to help guide you.

Increase the Audio Buffer

RTENOTITLE

Sometimes the audio buffer BizHawk uses runs out and causes audio skipping, or crashes the emulator. To prevent this issue you should increase the audio buffer size. Go to Config > Sound... and increase the "Buffer Size" from 100 milliseconds to at least 250 milliseconds. This will slightly delay audio playback but should reduce how often the emulator crashes.

Change the Output Method

If you are still having audio issues you can also try changing the "Output Method." You'll have to try each option and see which one works best for you as there is no guaranteed best option.

Multiworld

Testrunner made a coop mod for the OoT Randomizer: Nothing is shared communally by all players, however there are now player-specific items which are mixed between all the worlds. So if you obtain an item for yourself, only you get it. If you obtain an item for another player, then only they get it. This effectively means everyone will be playing different intermingled seeds.

For more information and instructions check the Multiworld setup guide.

Custom Texture Packs

Here is a guide for installing texture packs.

Note: Texture packs are not allowed during races and you will be disqualified from a race for using them.