Racing

From OoT Randomizer Wiki

by LostThePirate

This guide will help you get set up for your first race.

Community races and many privately organized races use racetime.gg. Previously SpeedRunsLive was used, and some people still organize races there, but the community has largely transitioned away from it.

Races can be joined using LiveSplit or through the racetime website. If using LiveSplit, make sure you can log into racetime quickly should LiveSplit fail to load a race channel or crash in the middle of a race.

We have compiled a list of known softlocks and crashes (WIP). It is recommended to read it through to potentially save you from frustration later.

Before You Ready Up

Please read the Rules and be familiar with the allowed and banned techniques for the particular ruleset of the race beforehand.

If you are joining a community race it is best to set everything up nice and early. Community race rooms are opened 1 hour ahead of time so you have plenty of time to get everything set up before they start. You'll certainly run into issues and it is easier to help you long before the race starts rather than struggling to hurry to fix everything just 5 minutes before everyone has to ready up.

If you are just playing a pickup race in one of the race planning channels (#standard-race-planning, #ddr-race-planning, #rsl-race-planning, #bq-race, or #other-racing-formats) the people you are racing with should be patient and be able to help you anywhere you get stuck as there is no set starting time there.

Ensure everything is working before you ready up in the race channel. Get your emulator or console behaving; get your controller/key bindings set; get your tracker of choice downloaded or installed and learn how to use it. Get everything ready so that you can play all by yourself without outside help.

Note: Project64 v3.0+, Retroarch and Bizhawk are the recommended emulators for Ocarina of Time Randomizer. In regards to race participation, Project64 v2.0, v2.1, v2.2, and v2.3 as well as ModLoader64 are not allowed for official racing. Use of all cheats is also prohibited. If you need to use a cheat code to address pause lag in Project64 v1.7 or v1.6, you cannot join an official race as long as that cheat is active. Use of texture packs to modify the game's appearance is also prohibited by the Ocarina of Time Randomizer community for official races.

Get acquainted with your streaming software; get your broadcast settings ready; get your scene layouts the way you want; get your Twitch channel how you'd like it. You can add Randomizer, Competitive, and/or Speedrun to your Twitch tags on your dashboard to let viewers know what kind of OoT you'll be playing.

Note: Unless you are a Twitch partner or having ensured quality options, especially in restreamed races it can be detrimental to stream at resolutions and bitrates that will cause lags on your end or for volunteers, so streaming at 1080p or at a bitrate over 4000 kbps is not recommended. We recommend a resolution of 720p (1280x720), and a framerate of 30 frames per second. If you want to go higher, please do not exceed a bitrate of 3500 kbps. For a normal stream of 720p30, 2400 kbps is more than enough for streaming OoTR.

racetime.gg

racetime.gg is a modern, sleek and user-friendly system that lets anyone and everyone race video games online, and is an open source, community driven site.

Create an account

Head to the rt.gg website. In the top right corner of the page you should see a Log in / Create account button. Left Click that button. On the right side is the log in form. You'll use that to log in to your account in the future, after you create it. On the left side is the Create an account form. You'll see a link to the rt.gg FAQ and fields for your Email, Name, and Password and its confirmation.

Fill out these fields. The email address will need to be valid so that you can confirm the account. The name field should be the username you like to go by. Ensure you type the same password into both password fields. At the bottom of both forms is a reCAPTCHA you'll need to interact with to prove you're human. Usually, you can just click the checkbox and that is enough.

Once you have filled out the form and proven you're not a robot, click Create account. You should get an email shortly with a link to click to validate your account.

Connect with Twitch

Once you are logged into your rt.gg account, head to the top right of the screen again. Left Click the Settings button. On this page, select the Twitch & connections tab, then on the following page press the Connect your Twitch.tv account button. You'll log into your Twitch account if you're not already, then Authorize the connection. Your racetime.gg account and your Twitch account are now linked together. You're now ready to join Ocarina of Time Randomizer races.

Joining a Race

Generally a race room will be provided in one of the announcements channels (#racing-announcements, #freaky-friday-races, #standard-announcements, #league-announcements, #ddr-announcements, #rsl-announcements, #bq-announcements) for official races, or one of the other race planning channels (#standard-race-planning, #ddr-race-planning, #rsl-race-planning, #bq-race, or #other-racing-formats) for pick-up games and you can just click on that link to be dropped right into the correct room on the website. You can also see active races and races currently waiting for participants in the #current-races channel or on the Ocarina of Time Randomizer page on racetime.gg You'll probably see Current races above a bunch of Past races. You can generally join any race that is accepting entrants, so click on the one you're interested in joining.

On the race page, you'll see details of the race, including the goal, a link to the seed page if one has been generated already, and the entrants to the left, and you'll see chat and a timer to the right. Above the timer is a Join button. Left Click that button to join the race. It will then split into two buttons. Ready, which you should click once you have your seed, emulator, and stream set up, and Quit which you can click if you decide you don't wish to race. Once you've readied up, a Not ready button will appear if you actually aren't ready yet.

Once the race has been started, the timer will begin to countdown. Once it reaches 0, begin to race. During an active race you have two buttons again. Done, which you will press once you finish the seed, and Forfeit which you may need to press if you find yourself no longer able to complete the race. Both of these actions can be undone if needed, so don't worry if you accidentally hit one. Just make sure by the end of the race you aren't "Done" when you haven't finished, or that you haven't "Forfeit" if you have actually finished. The very last action you can do after having done one of these is Add comment on the race. This will be displayed in a tooltip next to your name and in the chat and is viewable by everyone. Be sure not to leave any spoilers in the comment.

LiveSplit

Ensure you are using the latest version of LiveSplit for the best experience. If being in a race does not look like this screenshot, be sure to update.

LiveSplit is a convenient Timer program that has racetime.gg integration (as of version 1.8.8). It can be downloaded from LiveSplit's GitHub page.

The instruction video linked there is very helpful and I recommend you check it out to learn a lot more about LiveSplit.

Join a Race

With LiveSplit open, right-click within the Timer, select racetime.gg Races, and choose from the available races that are currently accepting Entrants. On racetime.gg, the Ocarina of Time Randomizer has its own category, so you shouldn't have any confusion.

Upon selecting a race to participate in, you will be prompted to log into the website for racetime.gg races.

Entering and Readying

To actually enter a race you'd like to participate in, Join a Race via LiveSplit or Join a Race on the website if racing on racetime. Then, click Enter Race or type .enter to join the race.

Click the link in the header below the ruleset name for a link to the seed to be used in the race. Note: This is not set too early before a race's start time, to prevent cheating. During Weeklies, for example, the seed is generated (and the link posted) approximately 15 minutes before the scheduled start time of the race.

Race participation requires streaming your run. Be sure to start your broadcast at least 5 minutes before the expected start time of the race. A bot will verify if you are live, and it can take up to 5 minutes for the fact that you are live streaming to become available to that bot. Budget your time accordingly.

Once you have everything ready to begin your run, select Ready or type .ready. Only do this after you have downloaded the seed, set your file name, had your final bathroom break before the race, gotten your cup of water, etc. Ready means ready, and once everyone has indicated that they are ready, there is a 15 second countdown on racetime.

Once the countdown reaches 0, your LiveSplit timer will start automatically, if linked. Do not start your game file (and load into your house in the forest) before the Timer starts! Do not attempt to Pause your timer during a race, either - LiveSplit will interpret a Pause as completion of the race.

Finishing A Race

When you are finished with a race depends on whether the goal is to Defeat Ganon, Collect All Triforce Pieces in Triforce Hunt, or in casual races some other goal. The timing of finishing for defeating Ganon is the start of cutscene after you press B for the final swing. For Triforce Hunt in the Random Settings League it is once the screen is completely black, and in general Ocarina of Time racing is finished either at the last input or once the item you collected is above your head.

Once you achieve your goal, stop your timer using whatever keybinding you have set for it, click Done or type .done to complete the race. You can look in the race room to see who has finished and with what times.

If something comes up, you can click Forfeit or type .forfeit to forfeit a race. You will lose points and standing on racetime, but sometimes it can't be avoided. Be aware of the penalties for forfeiting, and try to budget plenty of time for a race.

If you think you have to quit, click Forfeit, then realize you were mistaken, you can resume the race (including all the time that has elapsed) by clicking Undo Finish or typing .undone – the race timer will continue and will include the time you thought you were out of the race.

Racing Rules

This is an important racing rule! If you do not follow it, you may be disqualified from a race.

Reason: These are several of the most important rules you must follow while racing.

  1. You must follow the Rules the current race has chosen to follow. The most common ruleset is Standard, however this is not used for all races. Always confirm which ruleset a race is using if it is not in the race goal.
  2. You can play on the Nintendo 64 with a flash cart, Wii Virtual Console, or Emulators. Project64 v2.x, ModLoader64, and Dolphin versions older than Beta 5.0-13963 are not allowed for racing. Note that Project64 v3.0+ is race-legal.
  3. You may not modify the ROM in any way outside of patching it on the Randomizer website or the Ocarina of Time Randomizer software on your computer.
    • This means changing cosmetics using the randomizer is fine. Adding stuff like models or changing textures is not. Editing RAM is also not allowed.
  4. Generally there are no rules for streaming except that you must do so, however Tournament races often have additional requirements.
  5. Spoilers should only be discussed in the relevant "results" channels on the Discord. Do not discuss them in other Discord channels or the race chat channel, and do not put them in race comments.

The restreaming team also requests that if you use custom music, you try to keep it to only Zelda tracks if they ask you if you want to be restreamed.

Emulator Settings Requirements

This is an important racing rule! If you do not follow it, you may be disqualified from a race.

Reason: These settings are either useful for identifying a cheater, or preventing an emulator from exceeding the capabilities of the actual Nintendo 64

Playing on an emulator for races requires a little bit more setup. Namely, you need to enable an FPS display. If you cannot provide this, you are required to capture the entire emulator window. Texture packs are not allowed during races.

Some options may not be available unless you are currently running an Ocarina of Time Randomizer ROM.

BizHawk

To enable the FPS display, go to View ⇒ Display FPS. You can configure it further in Config ⇒ Messages.

Project64

To enable the FPS Display (shown as DL/s), launch Project64 and load your ROM. Next, navigate to Options ⇒ Settings... or press Ctrl+T to open the Settings menu.

In the Settings menu, expand the Options list on the left-hand side and look for an Advanced section. If the Advanced section isn't showing, click Options and untick Hide advanced settings. Afterwards, click Advanced and tick the Speed Display. The Speed Display box must show VI/s & DL/s. Click Apply.

Lowering the VI refresh rate to 1488 is also required for racing with Project64.

While in the Settings menu, look for a Defaults section. If the Defaults section isn't showing, click Options and untick Hide advanced settings. Afterwards, click Defaults and change the VI refresh rate from 1500 to 1488. Click Apply.

Finally, in the Settings menu, click on Config: The Legend of Zelda - Ocarina of Time (U) (Randomizer). Your VI refresh rate should display 1488. If not, change it accordingly and click Apply

Keep in mind that you must show your VI Refresh Rate in both the Defaults section and the Config: The Legend of Zelda - Ocarina of Time (U) (Randomizer) section before the race starts.

Allowed Versions

This is an important racing rule! If you do not follow it, you may be disqualified from a race.

Reason: Older versions of Project 64 have problematic settings, either overclocking by default or just don't work right with Ocarina of Time Randomizer

The allowed versions of Project 64 are version 3.0 and newer stable versions.

RetroArch

To enable the FPS display, go to Settings ⇒ On-Screen Display ⇒ On-Screen Notifications and switch On-Screen Notifications to ON if it is not already. Then, change Display Framerate to ON.

You must also show that you are using the Framerate option original, as well as having the VI Refresh (Overclock) option set to auto, before a race starts. To do this, press F1 to open the Quick Menu and choose Options and scroll down to the Framerate option. This is required for the Mupen64plus Next core and the ParaLLEl core. If you are using the old mupen64plus core, this option will not appear and the text in the bottom left that displays what core you are using will be proof that you are following this rule.

Dolphin

To enable the frame display, go the settings under Options ⇒ Graphics Settings ⇒ General and check the box which says Show FPS. Refer to the Dolphin for setup help to make sure your settings are race legal. Be aware that you need to show your settings menu to prove that your Speed Limit setting is set to 100% and that your Clock Override setting is disabled.

Allowed Versions

This is an important racing rule! If you do not follow it, you may be disqualified from a race.

Reason: Older versions of Dolphin did not emulate loading the ROM from the WAD properly and skipped the Classic Controller text

The allowed versions of Dolphin are Beta 5.0-13963 and newer. The newest beta is almost always recommended.