Racing: Difference between revisions

From OoT Randomizer Wiki
m (rearrange outline a bit more, move some paragraphs from before TOC to after)
(→‎Before You Ready Up: mention that dolphin is banned)
(45 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''<span style="font-size:x-small">by LostThePirate</span>'''
'''<span style="font-size:x-small">by LostThePirate</span>'''


This guide will help you get set up for your first race. You must use an IRC client to set up a SpeedRunsLive account for racing. [https://speedrunslive.com SpeedRunsLive] profiles are ''not'' created by filling out text bars on a website like you might on Facebook, Twitter, Twitch, etc. This guide is for the [[#SpeedRunsLive Web Chat|SpeedRunsLive Web Chat]], [[#HexChat|HexChat]] and [[#mIRC|mIRC]]. If you have another IRC program with which you are already acquainted, feel free to use that one.
This guide will help you get set up for your first race. <!-- There are currently two popular websites we use for racing. You should be prepared to race on either one, so be sure to follow the guides for both to get set up ahead of time.


{{TOClimit|3}}
The first is [[#SpeedRunsLive|SpeedRunsLive]] which requires a bit of unconventional setup. You must use an IRC client to set up a SpeedRunsLive account for racing. [https://speedrunslive.com SpeedRunsLive] profiles are ''not'' created by filling out text bars on a website like you might on Facebook, Twitter, Twitch, etc. The SRL guide on this page is for the [http://www.speedrunslive.com/channel/ SpeedRunsLive Web Chat]. If you have another IRC program with which you are already acquainted, feel free to use that one. -->


== Before You Ready Up ==
Community races and many privately organized races use [[#racetime.gg|racetime.gg]]. Previously [https://speedrunslive.com SpeedRunsLive] was used, and some people still organize races there, but the community has largely transitioned away from it.<!-- This website is a lot more conventional to get set up on so you'll probably find the guide for it easier to understand.


If you are joining a community race it is best to set everything up nice and early. Community race rooms are opened 2 hours 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 the [https://discordapp.com/channels/274180765816848384/312609327603122186 #race-planing] channel 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 then.
Once you have set up an account with both services you can then join races using [[#LiveSplit|LiveSplit]] if you find it more user-friendly than an IRC client for SRL, or the website for racetime. Just be sure you are able to log into the SRL IRC or racetime quickly if LiveSplit fails to load a race channel or crashes in the middle of a race. -->


Ensure everything is working before you ready up in the race channel. Get your Emulator or Everdrive behaving; get your controller/key bindings set; get your Tracker of choice downloaded/installed and learn how to use it. Get everything ready so that you can play all by yourself without outside help.
Races can be joined using [[#LiveSplit|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.


'''Note''': RetroArch and Bizhawk are the recommended emulators for Ocarina of Time Randomizer. In regards to race participation, Project64 2.x is banned from all SRL races. If you use Project64 2.x, you '''cannot''' join an official race. Use of all cheats is also prohibited. If you need to use a cheat code to address pause lag in Project64 v1.7, you '''cannot''' join an official race as long as that cheat is active. Use of Texture Packs to modify the game's appearance are also prohibited by the OoTR community for official races.
''We have compiled [https://wiki.ootrandomizer.com/index.php?title=Common_Softlocks_And_Crashes a list of known softlocks and crashes] (WIP). It is recommended to read it through to potentially save you from frustration later.''


Get acquainted with your streaming software; get your broadcast settings ready; get your scene layout(s) 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.
{{TOClimit|3}}
== Before You Ready Up ==


== Setup a SpeedRunsLive Account ==
Please read the [[Racing#Racing_Rules | Rules]] and be familiar with the allowed and banned techniques for the particular ruleset of the race beforehand.


=== SpeedRunsLive Web Chat ===
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.


Head to [http://www.speedrunslive.com/channel/ the Channel section of SpeedRunsLive]. For nickname type the name you want to use for racing. Leave password alone for the moment since you don't have a password yet. Now you have to [[#Register_your_nickname_on_SRL|Register your nickname on SRL]].
If you are just playing a pickup race in the [https://discordapp.com/channels/274180765816848384/312609327603122186 #race-planning] channel 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.


=== HexChat ===
Ensure everything is working before you ready up in the race channel. Get your [[Setup#Emulators|emulator]] or console behaving; get your controller/key bindings set; get your [[Trackers|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.


Download HexChat from [https://hexchat.github.io/downloads.html their website]. Choose the ''Windows 7+ 32bit Installer'' option. Run the <code>.exe</code> you downloaded and install HexChat.
'''Note''': [https://wiki.ootrandomizer.com/index.php?title=Project64 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 and Dolphin 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.


==== Adding the SpeedRunsLive Server ====
Get acquainted with your streaming software; get your broadcast settings ready; get your scene layouts the way you want; get your [https://twitch.tv 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.


When you run HexChat it will display a few nickname boxes and a list of networks. SpeedRunsLive is not in this list by default so we will add it. Click the <code>Add</code> button and type SpeedRunsLive into the new item that appears in the list. If you mistype don't worry, this is only so you know which server it is.
== racetime.gg ==
[https://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.


With the new list item selected, click the <code>Edit...</code> button. A new window will appear with a lot of options. Click on the <code>Edit</code> button next to the list at the top. If you are in the North America type <code>irc.speedrunslive.com/6667</code>. If you are elsewhere there is no problem using that server, but you might have less latency using <code>irc2.speedrunslive.com/6667</code>. You can now click <code>Close</code>.
=== Create an account ===
Head to the rt.gg website. In the top right corner of the page you should see a <samp>Log in / Create account</samp> button. <kbd><samp>Left-Click</samp></kbd> 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 <samp>Create an account</samp> form. You'll see a link to the [https://racetime.gg/about/faq rt.gg FAQ] and fields for your <samp>Email</samp>, <samp>Name</samp>, and <samp>Password</samp> and its confirmation.


Input the nickname you will want to use when you are racing into the ''Nick name'' box. Go ahead and type the same thing into the Second and Third choice but with underscores afterwards like the example shows. For ''User Name'' just put your first nickname again. Now ensure that the SpeedRunsLive network is selected and click the <code>Connect</code> button.
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.


Two windows will appear. In the foreground one choose "Join this channel" and type <code>#speedrunslive</code> into the box. Click the <code>OK</code> button and you will be put into the ''#speedrunslive channel'' and a list of currently active races will be displayed. Congratulations, you've just connected to SpeedRunsLive! Head down to [[#Register_your_nickname_on_SRL|Register your nickname on SRL]].
Once you have filled out the form and proven you're not a robot, click <kbd><samp>Create account</samp></kbd>. You should get an email shortly with a link to click to validate your account.


=== mIRC ===
=== Connect with Twitch ===
Once you are logged into your rt.gg account, head to the top right of the screen again. <kbd>Left-Click</kbd> the <samp>Settings</samp> button. On this page, select the <kbd><samp>Twitch & connections</samp></kbd> tab, then on the following page press the <kbd><samp>Connect your Twitch.tv account</samp></kbd> button. You'll log into your Twitch account if you're not already, then <kbd><samp>Authorize</samp></kbd> 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.


The installer can be downloaded from [https://www.mirc.com/get.html https://www.mirc.com/get.html]. Click the big, green button. Run the installer.
=== Joining a Race ===
Generally a race room will be provided in [https://discordapp.com/channels/274180765816848384/512053754015645696 #race-announcements] for official races, or [https://discordapp.com/channels/274180765816848384/312609327603122186 #race-planing] 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 on the [https://racetime.gg/ootr Ocarina of Time Randomizer] page on racetime.gg. You'll probably see <samp>Current races</samp> above a bunch of <samp>Past races</samp>. You can generally join any race that is accepting entrants, so click on the one you're interested in joining.


[[File:Race 01 test.png|RTENOTITLE]]
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 <samp>Join</samp> button. <kbd>Left-Click</kbd> that button to join the race. It will then split into two buttons. <samp>Ready</samp>, which you should click once you have your seed, emulator, and stream set up, and <samp>Quit</samp> which you can click if you decide you don't wish to race. Once you've readied up, a <samp>Not ready</samp> button will appear if you actually aren't ready yet.


''<span style="font-size:x-small">(The following steps are paraphrased/simplified from the explanation found at [http://www.speedrunslive.com/faq/ http://www.speedrunslive.com/faq/])</span>''
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. <samp>Done</samp>, which you will press once you finish the seed, and <samp>Forfeit</samp> 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 <samp>Add comment</samp> 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.


==== Navigating mIRC to the SRL channel ====
<!-- == SpeedRunsLive ==
[[File:Race 02.png|270x351px|Race 02.png]]


===== Open up mIRC =====
SpeedRunsLive is a community based around speedrunning after the popularity of livestreaming took off.


mIRC will ask you to please Register; if you do not wish to register, click Continue, wait briefly, and then Continue will become a selectable option to click a second time. (You need to click Continue twice, with a bit of a delay in between – mIRC would really like you to register, please and thank you, and will make you wait a bit if you don't want to register.)
=== IRC ===
 
===== Set Nickname =====
 
Upon startup, mIRC will display its Options menu. On the Connect tab, select what Nickname you would like to show up as – I recommend using your '''Twitch '''or '''Discord nickname''' to keep things simple. (This step '''is not '''the same as registering your nickname – we'll get to that shortly. But this ''is'' the nickname that ''will be'' registered when you get to that step, so '''choose wisely'''.)
 
[[File:Race 03.png|RTENOTITLE]]
 
===== Adding the SpeedRunsLive Server =====
 
BEFORE clicking the big OK button, first select the Servers subcategory, and Add the SRL server. '''Note''': If you live in North America, use ''irc.speedrunslive.com''; if you live in Europe, use ''irc2.speedrunslive.com''.
 
[[File:Race 05.png|RTENOTITLE]]
 
Click Add, then click OK.
 
[[File:Race 06.png|226x116px|Race 06.png]]
 
===== Connect to SRL Server =====


Click on SpeedRunsLive in your leftside tray if it is not already selected, and click the lightning bolt-looking icon to Connect to it. (Don't be surprised if mIRC beeps at you several times in quick succession.) mIRC will pop up a Favorites menu. Type in '''#speedrunslive''' and click join.
You'll need to get familiar with a fairly old internet chat protocol called IRC to use SpeedRunsLive. IRC requires using an IRC client on your computer to connect to an IRC server. '''IRC does not have accounts'''. You connect using a username, called a ''nick'' or ''nickname''. Only one client can be using this nick at a time. You can reserve a nick for yourself by associating a password with it through the IRC service called NickServ, however this does not remove the "one client at a time" rule. You will have to do this on SRL in order to race, but it is important that you remember this information on how IRC works.


[[File:Race 07.png|RTENOTITLE]]
We will use the SRL webchat as the IRC client in this guide. Head to [http://www.speedrunslive.com/channel/ the Channel section of SpeedRunsLive].


== Register your nickname on SpeedRunsLive ==
=== Register with NickServ ===


Make sure that the nickname you selected is the one you ''really'' want to have as your SRL nickname, to use for all future races. If the following message appears in the Server or the SpeedRunsLive tab of your client it means you will need to choose a different one as someone else already uses this one.
On the webchat client, for nickname type the name you want to use for racing. Leave password alone for the moment since you don't have a password yet. Make sure that the nickname you selected is the one you ''really'' want to have as your SRL nickname, to use for all future races. If the following message appears in the Server or the SpeedRunsLive tab of your client it means you will need to choose a different one as someone else already uses this one.
  <NickServ>: This nickname is registered and protected.  If it is your
  <NickServ>: This nickname is registered and protected.  If it is your
  <NickServ>: nick, type /msg NickServ IDENTIFY password.  Otherwise,
  <NickServ>: nick, type /msg NickServ IDENTIFY password.  Otherwise,
Line 81: Line 67:
You will also know if this is a problem if you are renamed to the name TrueSkill with numbers afterward.
You will also know if this is a problem if you are renamed to the name TrueSkill with numbers afterward.


In the text bar, type <code>/nickserv register password e-mail</code>. This will register the nickname you logged in with to the SRL server, along with a corresponding email and password.
In the text bar, type <kbd>/msg NickServ REGISTER <var>password</var> <var>email</var></kbd>. Where password is the password you want to use to identify as this the owner of this nick, and email is your actual email address. It is important that this is your real email address if you ever forget your password. This will register the nickname you are currently using to NickServ with the corresponding email and password.
 
It is important that you enter your actual e-mail address, in case you need to retrieve your password in the future.


Example:  
Example:  
Line 90: Line 74:
[[File:Race 08.png|RTENOTITLE]]</blockquote>
[[File:Race 08.png|RTENOTITLE]]</blockquote>


When logging onto the IRC, you can log in by signing on to your nick, and typing <code>/nickserv identify password</code>.
When connecting to IRC with the webchat client, you can just enter your password along with your nick to identify with NickServ as the owner of the nickname. If you don't put your password then you will have to identify manually by sending a message to nickserv by typing <kbd>/msg NickServ IDENTIFY <var>password</var></kbd>.


=== (Optional) Set up automatic login ===
=== Set Your Twitch URL ===


If you will be regularly using the IRC client you will probably want to have it identify with nickserv on its own rather than having to type the command yourself. You don't need to do this if you plan to only use [[#LiveSplit|LiveSplit]] and possibly don't want to as you can only be logged onto IRC from one application at a time.
Type <kbd>.setstream twitch/<var>username</var></kbd> in the '''#speedrunslive''' channel. For our hypothetical GodGamer account, he would type in


==== HexChat ====
[[File:Race 12.png|RTENOTITLE]]


Open the ''Network List'' by either opening HexChat, or clicking <code>HexChat > Network List</code> in the menubar. Select the SpeedRunsLive server and click ''Edit...''. Near the bottom change ''Login method'' to ''NickServ (/MSG NickServ + password) and type your password in the ''Password'' box. Click the <code>Close</code> button and now whenever you connect to that server you will be logged in automatically.
to let the SRL servers know that this nick broadcasts to that Twitch channel.


==== mIRC ====
=== Joining a Race ===


First, go to Options, then the Connect menu, then the Options menu. Click Perform, and type <code>/nickserv identify password</code>. This way, mIRC will automatically enter your password when you join in the future.
Generally a race room will be provided in [https://discordapp.com/channels/274180765816848384/512053754015645696 #race-announcements] for official races, or [https://discordapp.com/channels/274180765816848384/312609327603122186 #race-planing] for pick-up games that looks like ''#srl-t9xbw''. This is the room name for the race. You can join this room by typing <kbd>/join #<var>srl-t9xbw</var></kbd>. Just be sure to use the actual room name and not this one. This is an old race room and won't work for new races.


[[File:Race 09.png|RTENOTITLE]]
=== Troubleshooting ===


[[File:Race 10.png|389x174px|Race 10.png]]
==== Nickname Already in Use ====


[[File:Race 11.png|RTENOTITLE]]
If you haven't set a password yet that means someone else uses this nickname. You will need to choose another one.
 
If you have set a password, remember that you can only be connected with a nickname from one client. You cannot connect with the webchat and LiveSplit at the same time for example. Make sure you are only running the one you want to use for racing. It may take a few seconds after you close a client for the server to realize you disconnected so wait patiently for a second if it still gives you the error after you close the client you aren't using.
 
==== Verify That My Stream Exists ====
 
Apparently if you set your stream on the web for SRL, it doesn't always take in IRC. Verify whether this has happened to you by typing <kbd>.stream <var>nick</var></kbd> using your nick. If it says that the stream doesn't exist, you will need to set it again in IRC. -->


== LiveSplit ==
== LiveSplit ==


LiveSplit is a convenient Timer program that has IRC integration – it lets you participate in official SRL races without having to deal with mIRC ever again! It can be downloaded from [http://livesplit.github.io/downloads/ LiveSplit's GitHub page].
LiveSplit is a convenient Timer program that has racetime.gg integration (as of version 1.8.8). It can be downloaded from [http://livesplit.github.io/downloads/ 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. <!--This application can be used as your IRC client for SRL so that you don't have to load a web browser for the webchat, or a separate application if you were already using one. Just remember that only one client can be using a nickname at a time.-->
 
=== Join a Race ===


The instruction video linked there is ''very helpful'' and I recommend you check it out to learn a lot more about LiveSplit than I'm including here.
With LiveSplit open, right-click within the Timer, select racetime.gg Races, and choose from the available races that are currently accepting Entrants.<!-- OoTR races are labeled under the category "The Legend of Zelda: Ocarina of Time Hacks" on SRL – there are other OoT ROMhacks besides Item Randomizer, so double check with folks if you are uncertain if it is a Rando race.--> On racetime.gg, the Ocarina of Time Randomizer has its own category, so you shouldn't have any confusion.


== Join a Race ==
Upon selecting a race to participate in, you will be prompted<!-- with to identify a nick for SRL races, or--> to log into the website for racetime.gg races.


=== LiveSplit ===
[[File:Race 15.png|RTENOTITLE]]


With LiveSplit open, right-click within the Timer, select Races, and choose from the available races that are currently accepting Entrants. OoTR races are labeled under the category "The Legend of Zelda: Ocarina of Time Hacks" – there are other OoT ROMhacks besides Item Randomizer, so double check with folks if you are uncertain if it is a Rando race.
== Entering, Readying, and Finishing ==


Upon selecting a race to participate in, you will be prompted with a login. Use the nickname and password you registered with SRL via their IRC channel.
To actually enter a race you'd like to participate in, [[#LiveSplit|Join a Race via LiveSplit]]<!-- or [[#Joining a Race|Join a Race via IRC if racing on SpeedRunsLive]]--> or [[#Joining a Race 2|Join a Race on the website if racing on racetime]]. <!--Be sure to use the right website for where the race you are joining is hosted. Then, click Enter Race or type <kbd>.enter</kbd> to join the race.


[[File:Race 15.png|RTENOTITLE]]
Type .goal to receive a link to the Patch-File to be used for the race. Note: This is not set too early before a race's start time, to prevent cheating. During Weeklies, for example, the .goal is set (and the link to the Patch-File distributed) approximately 10 minutes before the scheduled start time of the race.-->Then, click Enter Race 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 generate (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 livestreaming to become available to that bot. Budget your time accordingly.


=== IRC ===
Once you have EVERYTHING ready to begin your run, select Ready<!-- or type <kbd>.ready</kbd>-->. 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<!-- 10 second countdown on SRL and--> 15 second countdown on racetime.


Someone will give a string of characters out that looks like ''#srl-t9xbw''. This is the room name for the race. You can join this room by typing <code>/join #srl-t9xbw</code>. Just be sure to use the actual room name and not this one. This is an old race room and won't work for new races.
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.


== Set your stream on SpeedRunsLive's IRC ==
Once you Slay The Pig, stop your timer using whatever keybind you have set for it, or<!-- type <kbd>.done</kbd>--> click Done to complete the race. The exact timing is the start of the cutscene, after you take your final swing at his face. GG!<!--You can look in the Race IRC to see who has finished and with what time(s).--> You can look in the race room to see who has finished and with what time(s).


Type <code>.setstream twitch/name</code> in the '''#speedrunslive''' channel or the race channel you've joined to link your stream to SRL. For our hypothetical GodGamer account, he would type in
If something comes up, you can<!-- <kbd>.quit</kbd>--> click Forfeit to forfeit a race. You will lose points and standing on<!-- SRL or--> 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.


[[File:Race 12.png|RTENOTITLE]]
If you think you have to quit,<!-- submit <samp>.quit</samp>--> click Forfeit, then realize you were mistaken, you can resume the race (including all the time that has elapsed) by<!-- typing <kbd>.undone</kbd>--> clicking Undo Finish – the race timer will continue and will include the time you thought you were out of the race.


to let the SRL servers know that that login broadcasts to that Twitch channel.
== Racing Rules ==
There are several rules you should be careful to follow while racing.
# 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.
# You can play on the Nintendo 64 with a [https://wiki.ootrandomizer.com/index.php?title=Everdrive flash cart], [https://wiki.ootrandomizer.com/index.php?title=Wii_Virtual_Console Wii Virtual Console], or an [https://wiki.ootrandomizer.com/index.php?title=Setup#Emulators emulator]. Dolphin, Project64 v2.x as well as ModLoader64 are not allowed for racing. Note that [https://www.pj64-emu.com/public-releases Project64 v3.0+] is race-legal.
#* If playing on emulator, you must also follow the [[#Emulator Settings Requirements|Emulator Settings Requirements]].
# You may not modify the ROM in any way outside of patching it on the [https://ootrandomizer.com 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.
# Generally there are no rules for streaming except that you must do so, however Tournament races often have additional requirements.
# 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.


== Nickname Already in Use ==
''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''.


If you haven't set a password yet that means someone else uses this nickname. You will need to choose another one.
== Emulator Settings Requirements ==
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'''.


If you have set a password you can only be connected with a nickname from one client. You cannot connect with mIRC or LiveSplit at the same time for example. Make sure you are only running the one you want to use for racing. It may take a few seconds after you close a client for the server to realize you disconnected so wait patiently for a second if it still gives you the error after you close the client you aren't using.
=== BizHawk ===
To enable the FPS display, go to <kbd><samp>View</samp> ⇒ <samp>Display FPS</samp></kbd>. You can configure it further in <kbd><samp>Config</samp> ⇒ <samp>Messages</samp></kbd>.


== Entering, Readying, and Finishing ==
=== Project64 (v3.0+)===


To actually enter a race you'd like to participate in, [[#LiveSplit_2|Join a Race via LiveSplit]] or [[#IRC|Join a Race via IRC]]. Then, click Enter Race or type ".enter" to join the race.
To enable the FPS Display (shown as DL/s), launch Project64 and load your ROM. Next, navigate to <kbd><samp>Options</samp> ⇒ <samp>Settings...</samp></kbd> or press <kbd><samp>Ctrl+T</samp></kbd> to open the Settings menu.


Type .goal to receive a link to the Patch-File to be used for the race. Note: This is not set well in advance of a race's start time, to prevent cheating. During Weeklies, for example, the .goal is set (and the link to the Patch-File distributed) approximately 10 minutes before the scheduled start time of the race.
In the Settings menu, expand the <samp>Options</samp> list on the left-hand side and look for an <samp>Advanced</samp> section. If the <samp>Advanced</samp> section isn't showing, click <samp>Options</samp> and untick <samp>Hide advanced settings</samp>. Afterwards, click <samp>Advanced</samp> and tick the <samp>Speed Display</samp>. The <samp>Speed Display</samp> box must show <samp>VI/s & DL/s</samp>. Click <samp>Apply</samp>.  


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 livestreaming to become available to that bot. Budget the time accordingly.
'''Lowering the VI refresh rate to 1488 is also required for racing with Project64.'''


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 (and changed your Z-Targeting preference, if the default for the seed is not to your liking), 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 10 second countdown.
While in the Settings menu, look for a <samp>Defaults</samp> section. If the <samp>Defaults</samp> section isn't showing, click <samp>Options</samp> and untick <samp>Hide advanced settings</samp>. Afterwards, click <samp>Defaults</samp> and change the <samp>VI refresh rate</samp> from <samp>1500</samp> to <samp>1488</samp>. Click <samp>Apply</samp>.  


Once the countdown reaches 0, your LiveSplit timer will start automatically. '''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.
Finally, in the Settings menu, click on <samp>Config: The Legend of Zelda - Ocarina of Time (U) (Randomizer).</samp> Your <samp>VI refresh rate</samp> should display <samp>1488</samp>. If not, change it accordingly and click <samp>Apply</samp>


Once you Slay The Pig, stop your timer (using whatever keybind you have set for it) or type .done to complete the race. The exact timing is the start of the cutscene, after you take your final swing at his face. GG! You can look in the Race IRC to see who has finished and with what time(s).
Keep in mind that '''you must show your VI Refresh Rate''' in both the <samp>Defaults</samp> section and the <samp>Config: The Legend of Zelda - Ocarina of Time (U) (Randomizer)</samp> section '''before the race starts'''.


If something comes up, you can .quit to forfeit a race. You will lose points and standing on SRL, but sometimes it can't be avoided. Be aware of the penalties for forfeiting, and try to budget plenty of time for a race.
=== RetroArch ===
To enable the FPS display, go to <kbd><samp>Settings</samp> ⇒ <samp>On-Screen Display</samp> ⇒ <samp>On-Screen Notifications</samp></kbd> and switch <samp>On-Screen Notifications</samp> to <kbd>ON</kbd> if it is not already. Then, change <samp>Display Framerate</samp> to <kbd>ON</kbd>.


If you think you have to quit, submit .quit, then realize you were mistaken, you can resume the race (including all the time that has elapsed) by typing .undone – the race timer will continue and will include the time you thought you were out of the race.
You must also show that you are using the <samp>Framerate</samp> option <kbd>original</kbd>, as well as having the <samp>VI Refresh (Overclock)</samp> option set to <kbd>auto</kbd>, before a race starts. To do this, press <kbd>F1</kbd> to open the <samp>Quick Menu</samp> and choose <kbd><samp>Options</samp></kbd> and scroll down to the <samp>Framerate</samp> 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.

Revision as of 11:23, 22 July 2021

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 the #race-planning channel 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 and Dolphin 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.

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 #race-announcements for official races, or #race-planing 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 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

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.

RTENOTITLE

Entering, Readying, and Finishing

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 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 generate (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 livestreaming to become available to that bot. Budget your time accordingly.

Once you have EVERYTHING ready to begin your run, select 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.

Once you Slay The Pig, stop your timer using whatever keybind you have set for it, or click Done to complete the race. The exact timing is the start of the cutscene, after you take your final swing at his face. GG! You can look in the race room to see who has finished and with what time(s).

If something comes up, you can click 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 – the race timer will continue and will include the time you thought you were out of the race.

Racing Rules

There are several rules you should be careful to 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 an emulator. Dolphin, Project64 v2.x as well as ModLoader64 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

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.

BizHawk

To enable the FPS display, go to ViewDisplay FPS. You can configure it further in ConfigMessages.

Project64 (v3.0+)

To enable the FPS Display (shown as DL/s), launch Project64 and load your ROM. Next, navigate to OptionsSettings... 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.

RetroArch

To enable the FPS display, go to SettingsOn-Screen DisplayOn-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.