Spoiler Tournament Format and Rules
Spoiler Race: Players are given a spoiler log prior to go time and may refer to the spoiler document throughout the race.
Table of Contents
What is expected from you, the player
- You have SpeedRunsLive and Twitch accounts that are in good standing.
- You will be in the discord server for the duration of the tournament, and have DMs enabled for the server (this is the default).
- This is so admins and our bot can send you direct messages.
- Over a two week period, three qualifier runs shall be streamed to YouTube as unlisted streams, or publicly to Twitch.tv. These don't need to be pre-scheduled.
- Guide for streaming to YouTube will be coming soon for those who chose to stream to unlisted YouTube.
- If you qualify, that you will register for Challonge by March 29th, 2019 @ 11:59PM.
- Over seven weeks up to 3 games will be played per round, for up to 5 rounds.
- You'll conduct yourself in an ethical and sportsmanlike manner.
What you should expect from the tournament admins
- If you ping @admins, an admin will respond to you in reasonable amount of time (assuming it isn't 1AM).
- The tournament admins will do everything in their power to maintain the fairness and competitiveness of this tournament.
- The tournament admins will handle potential cheating in a fair way that protects both the accuser and the accused from harassment.
- Changes to the tournament rules and format that occur will be clearly communicated to all players as much in advance as possible before the rule change takes effect.
- The tournament admins will strive to avoid rule changes mid-tournament, though reserve the right to do so to correct a major issue.
The format of the qualifiers is significantly different than that of other randomizer tournaments.
Qualifiers consist of three runs. Every player attempting to qualify will play the same three seeds, which will be posted, along with their spoiler logs, at the beginning of the qualifier phase.
The important part of the qualifier is the player will get only one official attempt (excluding the retry explained below) per seed. The player is permitted to practice the run as much as they want before attempting their official (scored) runs.
At the conclusion of the qualifier round, a spreadsheet with all of the submitted runs will be made public.
Streaming Qualifier runs
Qualifier matches will be streamed to either an unlisted YouTube stream (instructions will be provided) or publicly to Twitch.tv. Maintaining local recordings is highly recommended.
If you chose to stream to Twitch.tv, you must have stream archiving enabled and a highlight of your runs must be taken and preserved for the duration of the tournament.
The player will receive a verification key from a bot before the start of their official run. This key must be the first four characters of the save file and be displayed at the end of the credits roll.
The player will have 15 minutes after receiving the verification key to begin the run. It is recommend that the player is already streaming before requesting the code. If the code is requested on accident, it is the responsibility of the player to immediately ping @admin in discord to cancel the code. Failure to do so may result in a forfeit for the run.
During the course of the qualifier phase, the player will get one retry for the entire qualifier round. To use the retry, the player simply requests another code using the bot's "$qualifier" command. We will only accept the player's first retry and other subsequent submissions of runs of a seed the player has already submitted will be thrown out.
Be warned, the player's previous run for the seed will be thrown out when a retry is used. Even if the second attempt is worse than the original attempt, the second attempt will be the attempt counted for scoring purposes.
The retry may be used at any point during the qualifier period, though is still subject to the March 24th submission deadline.
The qualifier score will be a sum of the lengths of each run. If a player has not completed a seed using a verification key requested, the run is considered a forfeit and will be scored as the worst time between all players of the run plus thirty (30) minutes.
The qualifier scores (and links to the VoDs of each run submitted) will be published at the end of the qualifier round.
The below table is a list of results for this tournament from 5 players.
Run / Players
Seed #1 Retry
Seed #2 Retry
Seed #3 Retry
The bolded times are the times that will be summed for each player. The number in parenthesis is the time converted to seconds. Note that Ganon used his retry and scored a worse time. The worse time is the run that is scored because the first run was thrown out when the retry was used.
The players seeding and ranking for qualification would be from lowest to highest.
- Old Man
For this example, let us assume we're only accepting 4 players for the bracket (in reality this is 32 players). Ganon would be eliminated and would not progress to the bracket stage.
Old Man forfeited runs 1 and 3, and chose to retry the third run. His first run is counted as a forfeit, so it would be the slowest runner for the run (Ganon) plus 30 minutes, making his score for the run 8451. He still scored slightly better than Uncle because his other two scored runs had very low times.
Link opt'd to not use his free retry.
The process for racing in the qualifiers goes:
- A player sends a bot the command '$qualifier x' where 'x' is the number of the qualifier seed that they'll be playing (1, 2, or 3).
- The player is sent a 4 character code that is required to be in the beginning of the filename of the run when it is streamed. This is done to verify that the player is running the seed live and are not playing back a video of them doing the run in their stream.
- The player has 15 minutes to begin their run after receiving the code. We recommend that the player is streaming before making the request.
- The player is required to immediately inform an admin if they do not play the race after receiving the code. Failure to do so may be counted as a DNF and the game will be recorded as the slowest finish time between all players plus 30 minutes. The free retry can be used to replay the game.
- The player plays the seed and then waits for the end of the credits (when in-game time and collection rate appears).
- Once the run is completed, the player will submit their results via a form. A link in the original DM will pre-fill information on the form. The player will need to supply their real time, in-game time, collection rate, and a link to the unlisted YouTube stream or to their Twitch VOD.
- The run will be reviewed by an admin and officially recorded once verified.
Brackets will be a single-elimination, best of three matches with a max bracket size of 32 players. The bracket will be hosted on Challonge.
Bracket Qualification and Seeding
The top 32 players with the lowest sumed times will be put in a seeded bracket using Challonge's single-elimination bracket format. The highest seeded players, in this format, will get first round byes if there are less than 32 players.
If less than 32 players are in this tournament, then all players will qualify and be placed in the bracket.
Streaming Bracket Matches to Twitch
Bracket matches will be streamed to Twitch.tv, without a stream delay. Maintaining local recordings are highly recommended.
This will be the workflow of a typical race (regardless of it being restreamed). At the surface it may seem a bit complex, but it is to help facilitate automation.
- The player or restreamer will create a new race room in SRL using the ".startrace alttphacks" command.
- The player or restreamer, in discord, will use the command "$bracketrace x y" in the #brackets channel in discord where:
- x = the id of the race on the SpeedGaming schedule
- y = the full name of the SRL room in IRC (e.g. #srl-abc12 )
- The bot automatically sends the players, commentator, and tracker the permalink of the seed, the file select screen code, and the SRL channel that was specified.
- In the SRL room, confirm the bot joined the correct channel. If so, type the command ".spoilerstart" to have the bot begin gatekeeping. The bot will set the correct goal and post the seed and code in the goal as well.
- The requirement for entering a command in the SRL channel is to verify the correct channel was specified when $bracketrace command was executed. Otherwise the bot could potentially hijack another race that was about ready to start.
- The bot waits for all entered players to either ready up or leave the race.
- The restreamer gatekeeping the race should leave the race once the spoiler log is ready to be distributed.
- The bot will drop out and allow RaceBot to begin the race.
- Oncve the race has began, the bot will whisper a link to the spoiler log to both of the readied up players in the SRL race room.
- If more than two players are in the match, the spoiler log will be posted as a normal message in the SRL channel instead of being whispered.
- A fifteen minute countdown will occur by the bot in the SRL channel.
- Once fifteen minutes have passed, the bot will will post the message "Log study has finished. Begin racing!" to the SRL channel. Both players may then start running.
- Nothing needs to be submitted after the race has concluded. We will be able to retrieve SRL race data and chat logs to verify the winner.
- Qualifiers - March 8th to March 24th
- All three seeds will be provided on March 8th @ Noon Eastern
- Submissions of runs are due by March 24th @ 11:59PM Eastern
- Brackets - April 1st to May 26th
- Players must be registered for Challonge by March 29th, 2019 @ 11:59PM Eastern.
- Best of 32 and Best of 16 matches due April 21st @ 11:59pm Eastern
- Best of 8/Semifinals/Finals due May 26th @ 11:59pm Eastern
All games played this tournament will have the following settings:
- State: Open
- Swords: Randomized
- Goal: Defeat Ganon
- Logic: No Glitches
- Difficulty: Normal
- Variation: None
Winning Condition and Ties (brackets)
The race winner will be the first person to enter the Triforce Room and have screen fade to black after defeating Ganon. This is based on the time the runner enters ".done" in the SpeedRunsLive chat channel.
A tie shall occur if both runners finish within at the maximum two seconds of each other. If this occurs, the match will be replayed with a new seed.
- Use of minor glitches are permitted.
- Major glitches are prohibited.
Definition of minor glitches: https://docs.google.com/document/d/1cio22fU4_cEsMcHN0I1KceUzB5P1aFgB7dOBrZuwRHU/edit
During this tournament, the version of the randomizer being used will only be v30.4, the latest version of the randomizer as of February 1st, 2019. A dedicated instance of the randomizer website will be used for all matches during this tournament.
For the purposes of this tournament, all scheduling and deadlines will be in the U.S. Eastern Daylight Time zone.
Exceptions to Normal Tournament Rules
Normally in a randomizer tournament, the race is played blind (players cannot see what other players are doing). For this tournament the following normally prohibited actions are allowed:
- Players are allowed to view their opponent's stream during the course of the race.
- Players are allowed to view the restream.
- Players are allowed to chat in their stream's Twitch chat.
- Players are allowed to chat in the restream's Twitch chat.
Confidentiality of spoiler logs (brackets)
- The spoiler log is for the players’ eyes only. The log cannot be shared with others not directly involved with the race.
- The spoiler log will be sent to players via IRC in the SRL channel. The log will also be sent via Discord direct message to the players.
- For the Round of 32, the commentary and trackers will also receive the spoiler log. For the Round of 16 and later, this practice will be re-evaluated and a ruling will be made on continuing to provide the spoiler log to the commentary and trackers.
- Commentary will be advised to use discretion when using the spoiler log to avoid giving unintentional routing hints to players.
Prohibition of use of automated tools to parse spoiler log
The use of automated tools to parse a spoiler log are prohibited. Ctrl+F, Copy/Paste, and other standard text editor functions are OK. Automated tools may include but are not limited to:
- Any program that automatically parses the spoiler log for any reason other than for you to read it in its unaltered format (e.g., a text editor technically parses the spoiler log but it does not alter it in any way or present this information to you in any way other than as text)
- Settings that color-code characters/symbols/words/etc automatically in your text editor. E.g., a person cannot setup Sublime or some other code editor to highlight words with progression items in Orange - or even to color code text with different levels of indentation. All text and symbols must appear monochrome when loaded initially. A player may manually color-code text if they wish, but may not do this with an automated tool. This falls under the category of “no automatic parsing”
- Map tools which parse a spoiler log to show you visually where each item is on the map. This falls under the category of “no automatic parsing”
If the player needs to be able to view the spoiler log in a different format, the player should ask a tournament admin for assistance.
The tournament admin team reserves the right to make judgement calls on situations that may not be fully outlined within this document.
Reporting suspected rule violations
If any person believes a violation of the rules of this tournament has occurred, it is requested that those reports be directed to a form at https://goo.gl/forms/jMaD7eLFJdhpCQG92 . It is prohibited to publicly talk about suspected cheating.
Changing Discord Name or Discriminator
Changes a player's discord name or discriminator must be declared to a tournament administrator.
- You must stream your race on Twitch and enable VOD saving
- Qualifier runs may be streamed to YouTube as an unlisted stream.
- Race VODs must be highlighted and left on Twitch for the duration of the tournament
- Qualifier runs that were done on Youtube should remain on YouTube in an unlisted format for the duration of the tournament. After the end of the qualifier round unlisted Youtube videos will be made public, along with placement data
- Players are expected to respond promptly to admin requests made in the race channel (for bracket phase)
- Players who drop will be considered to have lost all subsequent matches.
- Records of previous matches will remain unchanged
- All forms of cheating are strictly prohibited. This includes but is not limited to:
- ROM/RAM inspection
- Using external tools to modify game memory
- Using automated tools to parse the spoiler log
- Sharing the spoiler log with others (bracket stage only)
- Public accusations of cheating will not be tolerated in any way
- Use this to report suspicious play: https://goo.gl/forms/jMaD7eLFJdhpCQG92
- Harassment and bullying will not be tolerated in any way
- You should not take matters into your own hands, DM an admin instead or report the harassment here: https://goo.gl/forms/jMaD7eLFJdhpCQG92
- Allowed emulators include SNES9X 1.51+, SNESGX (Wii), BSNES/HIGAN and BizHawk
- ZSNES & older versions of SNES9X are banned
- Allowed flash cartridges include the SD2SNES and Super Everdrive
- The following console brands are allowed for play with flash cartridges or SD-cards:
- Analogue (including SuperNT jailbreak firmware)
- The following console brands are not allowed for play with flash cartridges or SD-cards:
- Turbo controllers and functionality are both banned
- Emulator specific functionality is banned (e.g. save states, fast forward, hiding layers, etc)
- Pressing Up+Down or Left+Right simultaneously is banned
- Only one action can be mapped to any given button
- For example you cannot bind Up and Right to the same button
- Only one button can be mapped to any given action
- For example you cannot bind Up to two different buttons
- If your preferred emulator isn’t listed please contact a tournament admin. You may be asked to display your input settings/hotkeys and emulator version before or after a race.
1/31/2019 - Synack - Initial draft
2/4/2019 - Synack - Further small adjustments, added section on the randomizer version and changing discord name/discriminator.
2/7/2019 - Synack/Qirn/Cyclone - Final review of document.
2/14/2019 - Synack/Qirn - Allow Twitch.tv streaming for qualifier runs