Bizhawk: Difference between revisions

From OoT Randomizer Wiki
m (add link to hires texture install)
(simplify controller setup by placing common config in separate guide)
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:Bizhawk_releases_page_download.png|thumb|250px|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 Installation Guide''' =
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'''''.


{{TOClimit|3}}  
First, you must download BizHawk and the files it requires to have installed to even run.
* [https://github.com/TASVideos/BizHawk-Prereqs/releases/ Prerequisite Files Installer]
** You want version 2.1 of the pre-requisites if you are using Bizhawk 2.3.x and v2.4.8_1 of the pre-requisites if you are using Bizhawk v2.4.1 or newer.
* [https://github.com/TASVideos/BizHawk/releases/ BizHawk Emulator]


== Instructions ==
== Installing ==
<span style="display:block;margin:20px;">[[File:Bizhawk 01.png|RTENOTITLE]]</span>


#'''Download:''' Download Bizhawk and its prerequired files: [https://github.com/TASVideos/BizHawk-Prereqs/releases https://github.com/TASVideos/BizHawk-Prereqs/releases]<br/> [https://github.com/TASVideos/BizHawk/releases/ https://github.com/TASVideos/BizHawk/releases/] &nbsp;
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.
#'''Extracting:''' Extract both files after they are done downloading:<br/> [[File:Bizhawk 01.png|RTENOTITLE]] &nbsp;
#'''Installing the Pre-Reqs:''' Open “bizhawk_prereqs_vX.X” and run “bizhawk_prereqs.exe” and go through with it by clicking “Next”. &nbsp;<br/> &nbsp;
#'''Starting the Emulator:'''Open “BizHawk-X.X.X” and run “EmuHawk.exe”.<br/> &nbsp;
#'''Booting up the Rom:''' Select “File” and select “Open ROM”. Find your game and load it up!<br/> Make sure you are using the “32 MB Compressed ROM” and not the “65 MB ROM”!* The “65 MB ROM” will crash the emulator during your gameplay.<br/> [[File:Bizhawk 02.png|RTENOTITLE]]<br/> &nbsp;
#'''Better Analog stick accuracy: <span style="font-size:x-small">Provided by Retzioka</span>'''<br/> While the game is running, go to the “Config” tab and select the “Controllers..” option. Set up the controls by clicking on the text boxes and input the desired button with your Controller. If it’s not registering the inputs from your Controller, then you are missing drivers for your Controller. Make sure you do not input anything in the 4 first boxes as shown below, as they will mess up your aiming in game when using the Bow / Hookshot / Etc.. Instead, change to the “Analog Controls” tab and click the “Bind” button.<br/> X Axis = Move your stick Left to Right once -- Y Axis = Move your stick Up to Down once.<br/> Also make sure you change the sensitivity of the Y Axis as shown below for easier control over aiming.<br/> [[File:Bizhawk 03.png|RTENOTITLE]]


&nbsp;
You should now have a folder with a name like ''bizhawk_prereqs_vX.X'' where <code>X.X</code> is the version of the prerequisites that you downloaded such as <code>2.1</code>. This version can be different than the BizHawk version. Open this folder.
 
Inside there should be a file called <code>bizhawk_prereqs.exe</code>. 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 <code>X.X.X</code> is the BizHawk version you downloaded, such as <code>2.3.0</code>. This version can be different than the Prerequisites version. Inside this folder is a file called <code>EmuHawk.exe</code>. Open this file.
 
You have to load a ROM before you can change N64 emulator-specific settings. Go to <code>File > Open ROM</code> in the menu bar up top. Locate your ROM and open it.
 
<span style="display:block;margin:20px;">[[File:Rom.png|RTENOTITLE]]</span>
 
=== Enable RAM Expansion ===
 
Now that you have loaded a ROM a new menu entry ''N64'' will show up in the menu bar. Ensure <code>N64 > Use Expansion Slot</code> 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 <code>Emulation > Reboot Core</code> to do so. You'll have to do this for every randomizer rom you create due to how Bizhawk works.
 
== 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 <code>Config > Controllers...</code> 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''
 
<span style="display:block;margin:20px;">[[File:Bizhawk 03.png|RTENOTITLE]]</span>
 
Make sure the first '''4''' boxes under ''Normal Controls'' are empty as displayed above. If they are not, click the box and hit <code>Esc</code> 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 ==
== Optional Settings ==


#'''Hotkey Settings'''<br/> I suggest getting rid of most (if not all) the bound Hotkeys, as some of them can be bound by default to your controller (like fast forward) and be annoying when you play.<br/> Select a hotkey and simply press the "Escape" key on your keyboard.<br/> [[File:Bizhawk 04.png|RTENOTITLE]]<br/> &nbsp;
=== Enable Save Backup In Case of Crashes ===
#'''Better Graphics'''<br/> Go to the "Config" tab, select "Cores" and then "N64 Video Plugin Settings".<br/> you should see a third box named "Video Resolution".<br/> 640x480 is recommended, but depending on the available PC specs, a higher resolution is possible.<br/> ''Higher resolutions may affect your FPS and can slow the game down.<br/> [[File:Bizhawk 05.png|RTENOTITLE]]''<br/> &nbsp;
The very first thing is go to Config -> Customize and navigate to the Advanced tab. You should check the box for AutoSaveRAM and set it to 30s. 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.
#'''Background Inputs'''<br/> 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.<br/> Go to “Config” and select “Customize..” Make sure the 5th and 6th box are both Checked.<br/> It is also recommended to uncheck the “Pause when Menu Activated” box too.<br/> ''If you selected a high resolution at #2, your FPS might go down if you click somewhere other than on the Emulator, like a second monitor.<br/> [[File:Bizhawk 06.png|RTENOTITLE]]''<br/> <br/> &nbsp;
 
#'''''Aspect Ratio'''''<br/> If you decide to make your Emulator’s Window Fullscreen, your game will look stretched, which is not a nice sight for either you or your viewers. This will ensure the game will stay in its original 4:3 Ratio.<br/> Go to “Config” and select “Display”. Check the “Maintain Aspect Ratio (Letterbox)box and select “Use 1:1 Pixel Size”.<br/> [[File:Bizhawk 07.png|RTENOTITLE]]<br/> &nbsp;
=== Enable Background Input ===
#'''Gamecube Adapter Support'''<br/> Download the drivers for your WII U Adapter via [http://m4sv.com/page/wii-u-gcn-usb-driver this_link].<br/> Some of you who wishes to use your Gamecube Controller with the Wii U Adapter, connect only the Black USB end of the Wii U Adapter to your PC and connect your Gamecube controllerin the left most slot, then run as an Administrator the “''WiiU-UsbSetup 2015-09-02.exe''”.<br/> Once the installation starts, a new Window will appear under the name “Zadig”.<br/> In the first box, select “WUP-028” and then select either “Install Driver” or “Reinstall Driver”. It will be the big box in the middle of the Window.<br/> [[File:Bizhawk 08.png|RTENOTITLE]]<br/> Once done, close this Window with the “X” in the upper right corner, this will make the process keep going. Keep pressing “Next” until the program ask you to Reboot your PC.<br/> After restarting your PC, you will now have a “Wii U USB GCN Adapter” icon (Gamecube Controller looking icon). Open it up as a Administrator and select “Start”.<br/> Your PC will be making several connection noises as if you are plugging and unplugging stuff, this is normal. Let it do it’s thing until you see “Driver Successfully Started, entering input loop”. You will have to repeat this process every time you restart your PC or close the program entirely. If you close this Window, the program will be minimized and will still be running in the background.<br/> [[File:Bizhawk 09.png|RTENOTITLE]]<br/> Now open up the Emulator “EmuHawk.exe” and start the Game. Go to “Config” and select “Controllers…”. From here, simply click any of the text box and use your Controller to register inputs! This method is also used for the Gamecube / Wii Emulator knowns as “Dolphin”.<br/> ''If this didn’t work, uninstall and try again. May take 2-3 attempts.''  
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.
 
=== Hotkey Settings ===
<span style="display:block;margin:20px;">[[File:Bizhawk 04.png|RTENOTITLE]]</span>
 
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 <code>Config > Hotkeys...</code>, select a hotkey, and simply press the <code>Esc</code> key on your keyboard to unbind it. You can also click Misc and Clear All to unbind all of the hotkeys at once.
 
=== Better Graphics ===
<span style="display:block;margin:20px;">[[File:Bizhawk 05.png|RTENOTITLE]]</span>
 
Under <code>Config > Cores > N64 Video Plugin Settings</code> you should see a dropdown box titled ''Video Resolution''. The recommended resolution is <code>640x480</code> and the maximum recommended resolution is <code>800x600</code>. 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 <code>GLideN64</code> 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 ===
<span style="display:block;margin:20px;">[[File:Bizhawk 06.png|RTENOTITLE]]</span>
 
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 <code>Config > Customize...</code> and make sure <code>Run in background</code> and <code>Accept background input</code> are both checked. It is also recommended to uncheck the <code>Pause when menu activated</code> 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 ===
<span style="display:block;margin:20px;">[[File:Bizhawk 07.png|RTENOTITLE]]</span>
 
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 <code>Config > Display</code> and check the <code>Maintain aspect ratio (letterbox)</code> box and select <code>Use 1:1 pixel size</code>.
 
=== 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 [[Bizhawk#Better_Graphics|here]] to help guide you.
 
==== Increase the Audio Buffer ====
<span style="display:block;margin:20px;">[[File:Bizhawk_audio.jpg|RTENOTITLE]]</span>
 
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 <code>Config > Sound...</code> 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.''


&nbsp;
== Custom Texture Packs ==


There is also [[HiRes_Texture_Packs#Bizhawk|a guide for installing texture packs]].
[[HiRes_Texture_Packs#Bizhawk|Here]] is a guide for installing texture packs.


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

Revision as of 18:27, 28 May 2020

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.

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 Save Backup In Case of Crashes

The very first thing is go to Config -> Customize and navigate to the Advanced tab. You should check the box for AutoSaveRAM and set it to 30s. 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.

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.

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.

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.

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