Skip to main content
Documentation

Stages & Formats

Competitions are organized into one or more stages. Each stage has its own format, scoring, and advancement rules.

How Stages Work

A stage represents a phase of competition. Simple events use a single stage. Complex events chain multiple stages together:

  • Single-stage example: A Swiss tournament with 5 rounds
  • Multi-stage example: Round-robin group stage → single-elimination playoffs

Stage Properties

  • Name — display name (e.g., "Group Stage", "Playoffs")
  • Format — the competition format (Swiss, elimination, etc.)
  • Sequence — position in the competition (stage 1, stage 2, etc.)
  • StatusPendingActiveCompleted
  • Scoring — point values and tiebreaker configuration
  • Advancement — how participants move to the next stage

Stage Lifecycle

  1. Create the stage and configure its format and scoring
  2. Activate it when you're ready to start play
  3. Run matches — generate pairings, record results
  4. Finalize when all matches are complete — optionally advance top participants to the next stage

Available Formats

Swiss

Players with similar records are paired each round. Everyone plays all rounds — no elimination.

  • Best for: 8–64+ players, 3–7 rounds
  • Config: Number of rounds, pairing method, bye point value
  • With groups: Add groups to a Swiss stage to run independent Swiss within each group (the "Group + Swiss" template below). Pairings stay in-group and the standings page shows a separate leaderboard per group, with ranks resetting from 1 inside each group.

Swiss Rounds covers how pairings are computed, how byes are assigned, and the generate-review-release loop in detail.

| Players | Recommended Rounds | | ------- | ------------------ | | 8 | 3 | | 16 | 4 | | 32 | 5 | | 64 | 6 |

Single Elimination

Classic bracket — win or go home.

  • Best for: Top cuts, quick events, 8–32 players
  • Config: Seeding method, optional third-place match

Double Elimination

Two losses to eliminate. Winners bracket and losers bracket converge in grand finals.

  • Best for: Competitive events, 8–32 players
  • Config: Grand finals rules (single set, bracket reset, advantage)

Round Robin

Everyone plays everyone. Best for small groups.

  • Best for: 4–8 players, league play, group stages
  • Config: Double round (home/away) toggle

Ladder

Continuous ranked play with tiers.

  • Best for: Ongoing competitive seasons
  • Config: Default match format (BO1 or BO3), tier thresholds (1–4), allow demotion, win streak bonus
  • Match format: every challenge on the ladder uses the stage's default match format. Ladders offer BO1 or BO3 only — the ladder reads the match result, not the individual games, so winning a best of 3 counts once, exactly like a single-game win. Formats that can end in a draw are excluded because a drawn match has no winner, so both players would take the loss.
  • Notifications: Players automatically receive in-app + push notifications when promoted to a new tier (Bronze → Silver, etc.). Discord channels subscribed to match results also receive a rank-up broadcast — no extra subscription needed.

Open

Freeform play — participants create their own matches against anyone else in the stage.

  • Best for: Casual leagues, practice seasons, community play
  • Config:
    • Default match format (BO1, BO3, BO5, Two-Game)
    • Allow participants to choose format (toggle)
    • Max matches per opponent pair (or unlimited)
    • Show/hide standings leaderboard

GSL (Group Stage League)

A group stage format used in esports-style events, where groups play a specific bracket structure.

Multiplayer & team formats

Most competitions pit one player against one. These options change how many people — or how many fighters — take part in a single match. They combine with the formats above (a 2v2 Swiss, a double-handed round robin, and so on).

2v2 (pairs)

Set Team Size to 2 when creating your competition to run a 2v2 event, where each entry is a pair of players who share one game against another pair.

How a pair forms. One player (the captain) registers the pair, then invites a partner. The partner has to accept the invitation before the pair is complete — nobody is added to a pair without agreeing to it. A partner who declines by mistake can be invited again. Until a partner accepts, the pair has only the captain.

Pairs form on the competition page itself: the captain gets a party card with a member count (1/2 members until the partner joins) and a player search, and the invited player gets a Party invitation banner with Accept & join / Decline. A captain can cancel an invitation that's still outstanding, and a player who has already entered on their own can't be pulled into a pair.

How it plays and scores. A 2v2 match has two sides, and standings track the pair, not the two players separately. Each player enters the fighter they played when the result is reported, and one report covers the whole match rather than one per player.

What you'll run by hand. Several player-side conveniences don't apply to a 2v2, so plan to cover them from the manage area:

  • Finalizing results — expect to close out 2v2 results yourself from the manage area rather than relying on the players to confirm them.
  • Scheduling — the peer-scheduling section doesn't appear on a 2v2 match. Time proposals, polls and mutual availability are all built around two people, so set 2v2 match times yourself.
  • Forfeits — players can't record a 2v2 forfeit themselves, and the match's ⋮ actions menu doesn't offer forfeit to organizers either. Use the Forfeit control inside the Enter Results wizard, or the row actions on the manage Matches page.
  • Drafts — not available for 2v2. Fighters are captured when the result is reported.
  • Per-game fighter breakdown — shows two of the four fighters. The match scoreboard and standings are correct for the pair; only that one list isn't split by side yet.

2v2 competitions don't produce player ratings or fighter/character stats. A shared game can't be attributed to one partner, so those surfaces stay empty by design — this is expected, not a missing feature.

The player's side of all of this is in Team & Multiplayer Play.

Double-handed

In a double-handed competition, every player pilots two fighters at once: a 2v2 board with a one-on-one result. Turn it on with the Double-handed switch in your competition settings (under Advanced formats). It applies to the whole competition, and it's exclusive with three other things — a competition uses at most one of them:

| Combination | What happens | | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Double-handed + 2v2 | Not allowed. The switch is disabled while team size is above 1 — set team size to 1 first | | Double-handed + Succession Duel | Not allowed. The switch is disabled while Succession Duel is on — turn that off first | | Double-handed + pod stages | Not allowed. A double-handed competition can't also have a stage with more than 2 players per match, so don't pair it with a Blitz stage |

Each game is reported with both fighters per side, and the match page shows both fighters for each player. Two rules narrow the fighter lists during reporting: a player's own two fighters must differ from each other, and in game systems where a mirror match isn't possible (Unmatched, for example), all four fighters in the game must differ. Per-fighter ending health can be recorded alongside the result. A double-handed game records who went first, but not who held the advantage.

If your competition has a draft configuration and uses a multi-game format, players go through the usual roster step first and the per-game fighter lists narrow to what they declared there. That step is the ordinary arsenal declaration — its size comes from your draft configuration's pick count, not from the double-handed setting — and a best-of-1 competition skips it entirely, with fighters picked inline on the game itself.

Because it's still one human against one human, double-handed results from a rated competition feed the normal 1v1 rating ladder — unlike 2v2, there's no partner to muddy who won. Fighter and character stats stay closed for this format for now. Players can also log a friendly double-handed game, which like every friendly is unrated — see Match Reporting — and the reporting flow is described from their side in Team & Multiplayer Play.

Blitz — 4-player pods

Blitz here means the multiplayer pod format: a single-elimination bracket whose matches are free-for-all pods of up to four players. Only the pod winner advances to the next round; everyone else is eliminated. (Some events — notably the Gauntlet Championship — use the name "Blitz" for a different, one-on-one character-succession game; that is a separate format, not this one. If your event's Blitz is 1v1, don't set up pods.)

Set it up on a Single Elimination stage. In its Bracket Settings, choose the "Blitz — pods up to 4" preset (or set Players per match to 4), then pick a bracket size:

| Bracket size | Pods in round 1 | Field it holds | | ------------ | --------------- | -------------- | | 4 | 1 | 2–4 players | | 16 | 4 | 8–16 players | | 64 | 16 | 32–64 players |

Pods don't have to be full — a round can hold pods of two, three, or four players — but every pod needs at least two. Field sizes that fall between the bands above (for example 5–7 or 17–31) are refused when you generate the bracket, with a message naming the sizes that work.

Collecting pod rosters. Underneath the pod knob, Bracket Settings has two more controls for capturing what each player brought to the table:

  • Fighters per player — how many fighters each player records, from 1 to 12. Blitz brings four.
  • Require rosters — off by default. Left off, players can record their fighters but a result can still be reported without them. Switched on, a pod can't be reported until every player in it has their fighters recorded.

The roster captures what each player brought, not what they played, and it's collected as a step in the reporting flow. Two players in the same pod may bring the same fighter, except in game systems where a mirror match isn't possible.

Reporting a pod. Report it like any free-for-all — tap the players into finishing order, or use the one-tap Who won? shortcut to mark the winner and eliminate the rest. A pod must have exactly one winner; there are no ties for first in a bracket. Winning a pod advances that player to the next round, and advancement is the whole outcome — an elimination stage doesn't build a points table, so the official rules' 4 points for a pod win are a scorekeeping convention at the table rather than something the bracket tallies. (The stage's Win scoring value applies on points-based stages such as Swiss or a league, not on a bracket.) If a pod finishes with no winner (for example everyone forfeits), it completes without advancing anyone — reopen or reset the match to sort it out.

Like all free-for-alls, Blitz matches don't feed ratings or fighter stats — and that holds at every pod size, including a two-player pod, so no round of a bracket is rated while another isn't. The snake draft from the official rules is still run at the table; what the platform records is the roster above and the fighters played, not the draft itself.

The reporting and roster steps are described from the player's side in Team & Multiplayer Play.

Seeding a Bracket

For elimination stages you pick a bracket size (8, 16, 32, …) and seed players into it. The bracket size has to be large enough to hold everyone: a 16-player bracket seats up to 16 participants, and unfilled slots become first-round byes.

If you seed more participants than the bracket has slots, the seeding editor shows a "Bracket over capacity" warning telling you how many players are over the limit. Fix it before generating the bracket — either raise the bracket size or remove the extra players. Generating an over-capacity bracket fails with a clear error rather than quietly dropping the players who don't fit.

Multi-Stage Templates

When creating stages, you can start from a template:

| Template | Stage 1 | Stage 2 | | -------------------- | ------------------ | --------------------------- | | Group + Knockout | Round Robin groups | Single Elimination playoffs | | Group + Swiss | Swiss groups | Swiss finals | | GSL + Playoffs | GSL groups | Single Elimination playoffs |

Or create stages individually for full control.

Scoring Configuration

Each stage has its own scoring settings.

Match Points

Points awarded per match result. The defaults depend on the stage's format — a Swiss stage starts from the chess-style 1 / ½ / 0, while a league starts from the two-points-for-a-win convention:

| Result | Swiss · Swiss Elimination · Round Robin · GSL · Open | League | | ------------ | ---------------------------------------------------- | ------ | | Win | 1 | 2 | | Draw | 0.5 (0 in Swiss Elimination and GSL) | 1 | | Loss | 0 | 0 | | Bye | 1 (0 in Open) | 2 | | Forfeit Win | 1 | 2 | | Forfeit Draw | 0.5 (0 in Swiss Elimination and GSL) | 1 | | Forfeit Loss | 0 | 0 |

Every one of these is editable per stage in the stage's Scoring section — set Win = 3 if that's your scene's convention, or anything else. Elimination brackets and ladders aren't scored on a points board at all, so they ship no scoring defaults.

Forfeit-specific values let you decouple administrative outcomes from played outcomes — for example, a league might award a full forfeit win the same as a regular win but penalize a forfeit loss with -1 to discourage no-shows.

Game Points

Individual game results inside a match (relevant for Best-of-3 and up) can also be worth points. Every format ships with game points switched off — 0 for a game win, draw, and loss — so standings are decided by match results unless you say otherwise. Set them per stage in the same Scoring section:

| Result | Default Points | | --------- | -------------- | | Game Win | 0 | | Game Draw | 0 | | Game Loss | 0 |

Tiebreakers

Configure tiebreaker priority when players have equal match points:

| Tiebreaker | Description | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | | Buchholz | Sum of opponents' scores (strength of schedule) | | Sonneborn-Berger | Wins add the opponent's full points, draws add half, losses add nothing — always 1 / ½ / 0 regardless of your match-point values | | Head-to-Head | Direct result if tied players faced each other | | Game Win % | Individual game performance | | Match Win % | Overall match win percentage | | Matches Played & Won | Match wins excluding forfeits — rewards wins from actual play | | Games Won | Game wins excluding forfeit games — rewards wins from actual play | | Total Games | Total games played | | Median Buchholz | Buchholz score excluding the highest and lowest opponent scores — reduces the impact of outlier pairings (FIDE standard) | | Koya System | Points earned only against opponents with a winning record (above 50% match win rate) | | Wins at Disadvantage | Number of game wins when playing without first-turn advantage | | Unique Fighter Wins | Number of game wins using distinct characters — rewards versatility | | Seed | Original seeding position as final tiebreaker (lower seed = higher priority) |

Tip: Drag tiebreakers to reorder their priority. The first tiebreaker is checked first; if still tied, the second is used, and so on.

Select and order the tiebreakers that make sense for your format.

Advancement

When a stage finishes, you can advance top participants to the next stage:

  • By standings — automatically advance the top N participants based on final standings
  • Manual — hand-pick who advances (useful for wildcard spots or special circumstances)

Configure the advance count (total or per group) when setting up the stage.

How advancing players are seeded into the next stage

When you advance a set number of players per group, they don't arrive in the next stage group by group. Every group's winner goes in first, in group order, then every runner-up, then every third place, and so on.

So two groups advancing two each are seeded like this:

| Seed | Player | | ---- | ----------------- | | 1 | Group A winner | | 2 | Group B winner | | 3 | Group A runner-up | | 4 | Group B runner-up |

That is what produces the conventional crossing in the playoff bracket: A1 plays B2, and B1 plays A2. Group winners are kept apart in the first round, and no one meets someone from their own group straight away.

This applies to every format that runs in groups — round robin groups, Swiss groups, GSL, and Swiss with an elimination stage. It's automatic; there's nothing to switch on.

A few things worth knowing:

  • Group order matters. Groups contribute their players in the order they appear on the stage, so the order you arrange your groups in decides which group's winner takes seed 1. Reorder them before you finalize if you care. Groups you haven't deliberately ordered fall back to their names, compared so that "Group 2" comes before "Group 10".
  • Uneven groups are fine. If one group has fewer qualifiers than the others, it simply stops contributing once it runs out. It doesn't leave a gap or push the other groups down.
  • The preview shows the real order. The list in the finalize dialog is the seeding order, top to bottom. What you confirm is what the next stage gets.
  • Hand-picking changes who advances, never the order. Ticking someone extra or unticking someone doesn't move anyone else's seed, and it makes no difference what order you tick in. Everyone you select is seeded in the order the list already shows them, so an extra player takes the seed their own placement earns.
  • You can finalize without advancing anyone. Clear the whole list and the button changes to "Finalize without advancing anyone" — the stage closes and nobody moves up. That's a deliberate choice, not the same as leaving the automatic selection alone.

Advancing a total number of players rather than a per-group count seeds them straight down the standings: 1st place takes seed 1, 2nd takes seed 2, and so on.

When Players Are Eliminated

A player's status in a stage is Active, Advanced, Eliminated, or Withdrawn. When someone becomes "eliminated" depends on the format:

  • Single & double elimination (brackets): a player is eliminated the moment their knockout match result is confirmed — you don't have to finalize the stage. (If your competition requires result verification, this is when the result is verified, not the instant it's submitted.) A player is knocked out when they lose a match with no further match to play. In double elimination, losing in the winners bracket is not elimination — that player drops to the losers bracket; they're eliminated only after losing there (or in the grand finals).
  • Swiss, round robin, league, group stages: losing a match does not eliminate anyone. These players are marked eliminated only when you finalize the stage — everyone who isn't advanced becomes eliminated at that point.
  • Withdrawn is separate from eliminated: it's applied when a player drops out, regardless of results.

Why it matters: eliminated status drives "knocked out" indicators in standings and, if you've enabled it, automatic removal of the competitor Discord role. If you correct a match result so a bracket player is no longer knocked out, their status returns to Active automatically.

Match Formats

Individual matches within any stage use one of these formats:

| Format | Description | | ------------ | ------------------------------------------------------ | | BO1 | Best of 1 — single game | | BO3 | Best of 3 — first to 2 wins | | BO5 | Best of 5 — first to 3 wins | | BO7 | Best of 7 — first to 4 wins | | Two-Game | Both players play twice (common in chess-style events) |

Two stage types narrow that list: a ladder offers BO1 or BO3 only, and a pod stage (three or more players in one game) is always a single game.