Introduction
“I Ain’t Reading All That, I’m Happy for U Tho, or Sorry That Happened”
This is long. Really long. I know some people don’t care about the history, or the how or the why, and just want instructions for what to do. This link will scroll you all the way to the bottom to a summary of formats I suggest for different event sizes. However, I will be disappointed in you if I see you posting comments about the suggestions having clearly not read the justifications. If you care about the subject, please read the article!
The Actual Introduction!
Improving and expanding on X-Wing tournament formats has been a long term goal of mine, but a few weeks ago I had a large perspective shift. Andrew Cox made what seemed like a passing comment that’s been stuck in my head, which was something along the lines of “Tournament and event decisions aren’t made based on what will make the best tournament or event, but by what will cause the least amount of complaining". That thought has been bouncing around in my head ever since.
After thinking on it for some time, I think he’s right. It’s natural that organizers running events and building things want the people using them to be happy. But, we have to be careful not to fall to audience capture:
To restate some, by just directly taking feedback from what makes players happy and feels fair, we are effectively letting the inmates run the asylum. Players aren’t going to tell us what is best in the long run, only what makes them happy in the short term. As organizers, it’s our obligation to do what is best and most fair to have things be better in the future, even if it isn’t necessarily the most popular option at the time. Our job is not only to make players and participants happy, but also to make improvements to these processes over time.
Collectively we have shirked that responsibility as a community, but I don’t think any individual is a villain here. Generally most people, even the largest event organizers, are running a maximum of one event per year, and just trying to use lessons learned from the previous recent events to improve their own events. Since no one will complain when you copy the most recent successful event, there is a natural stagnation.
The Current State: What do Players Expect Now?
Let’s consider the current format as run, which generally minimizes the amount of complaints you get as an organizer. I won’t go into much detail into why or how this is the way things are, as this is all covered much more in depth in a previous post here:
The basic structure of a tournament that receives minimal complaints currently is 5 or 6 rounds of Swiss, mostly independent of how many participants are present, as long is there are more than 20 or so. This tournament might have multiple days of qualifiers, for example a Friday Swiss, and a Saturday Swiss, which are combined into a Single Elimination bracket on Sunday with all of the players that were either undefeated or only lost one game in their Swiss day.
There will be no ties, if a game ends with a tied score, the players will ROAD roll to determine the winner.
There are generally no strong opinions for how the single elimination bracket should be seeded, especially when multiple qualifiers are involved. The size of this bracket is generally about the same size as a day of Swiss qualifier, which is to say a 5 or 6 round swiss tournament generally produces a roughly 5 or 6 round cut, and around a top 16 or 32.
We’ll take a look at the 2019 World Championship specifically later to measure what worked well and what didn’t.
Building a Tournament
As a community, we tend to think about a tournament as a desired personal goal for success, or thing to strive to do well in. To build the tournament itself though, we need to take a step back and figure out what exactly it is we’re trying to do. A tournament is a thing with properties, just like anything else you can build. There are goals you’re trying to accomplish, and sacrifices in other areas of the tournament you need to make to get there.
Building an intangible set of processes to get a desired result is less straightforward than building something physical, and can be a counterintuitive process for many people. That’s not to say it’s incredibly hard and not approachable, just that it’s natural to need to take a moment and think and review your own understanding of what you are trying to accomplish. Don’t beat yourself up if things don’t make sense right away.
Identifying the Goals
The very first question we should have is, what exactly are we trying to do with a format? There’s a set of goals, many of which directly contradict other goals! For the purposes of this discussion, I’ll list out what I personally think the major ones are, but I do not think they are listed in order of importance. This is meant just to give a few reference points to review against later, to see if what we’re doing makes sense.
Competitive Integrity
This is a complicated issue, and the primary subject of the rest of this article. To quickly summarize, the goal here is that the tournament actually be a fair and good way to pick a winner and rank players, not just feel like it is a fair way to do so. Fair is doing a lot of heavy lifting in this statement, but since we are going to spend so much time on it later I won’t expand on exactly what I mean by that for now. Feeling fair and actually being fair are different things. In many cases, people think feeling fair is even more important than actually being fair, but I propose that it is more important to actually be fair than it is to appear fair, at least in the long term.
Part of this is picking the top players in the tournament, potentially in different increments. For example, generating an accurate top 8, 4, and winner to gives prizes accordingly.
Participant Enjoyment
An obvious major goal is making sure the people coming to your event are having a good time. Thankfully, the audience has already self selected for you into people that will enjoy the game being played, as they are here to play X-Wing, so should enjoy their games mostly by default.
The primary concerns here are things like making sure there’s enough time between rounds, that there’s enough time for lunch, that your organizers are friendly, pairings and such promptly posted. I would say this aspect of events is understandably where the vast majority of events put their attention, so I won’t expand on it much.
One minor thing to look at here is a good example of a case of contradictory goals. Organizers simultaneously want to encourage people to play the game, which is why you see prizes given out every round to get people to play. But, organizers also don’t want people who are no longer having fun in their event to continue playing, because their opponents’ tend to have very negative experiences. But, if you just give out all your participation prizes at the start, there will likely be a lot of drops during/after round 1 for people to just pick things up to sell, but if you require people to play them all, you get unhappy players showing up to games, immediately conceding, then showing up again the next round, with their unhappy opponents losing the ability to play the game they came for. A good compromise here might be to give out all prizes during round 3 or so of Swiss, where many players start being eliminated, but long enough in that only people actually participating can realistically get their prizes.
Spectator Enjoyment
We’re very fortunate that we have a multitude of talented and capable streamers to broadcast events all over the world, but one of the large appeals of finishing with a Single Elimination bracket is that the vast majority of the tournament can become spectators and watch how the tournament wraps up. Currently we see little of this as a percentage of players at the event, likely because the Single Elimination bracket is an all day affair so if you want to watch it, it is a full day commitment.
Events usually make some reasonable concessions for outside spectator enjoyment. For example, letting the tables being streamed use a different timer, despite the significant risk of slowdown to the rest of the event, and making the even less enjoyable to participants. That’s not to say this is a bad thing, just another example of tradeoffs between goals. Is it more important for rounds to consistently start on time, or to let the broader community worldwide spectate the event in real time? Additionally, players seem to enjoy events more when they are streamed, even when they are not on the stream themselves.
There are cases where prioritizing a stream over other goals does cause more serious problems with much smaller upsides. The round timer itself is random, and it is information players are not intended to have access to, but spectators having access to this timer slightly increases the spectator enjoyment. However, it is trivial for a player to open their phone and look at the stream when the round starts to see not only how long the round is in total, but also how much time remains. The very minor gains in spectator enjoyment are clearly not worth the loss in competitive integrity in this case.
Avoiding Drama
It is a little silly to even specify, but a major contributor to why we do not see wild experimentation and new ideas in tournaments is the potential for something to go wrong, and now it’s your fault, and directed at you. No one wants to be the person who organized an event that ended up exploding on the Internet, like the Roanoke 8, Toronto Rolls, or the Great Table Nudge. Organizers understandably want to minimize risk of things going very sideways, and a good way to minimize risk is to color inside the lines as much as possible. I believe this is primarily a good thing, despite that generally the small modifications people (including AMG) have made to tournament formats have made things significantly less fair, but sound like good ideas. We’ll go into more detail on that later.
Other Stuff
There’s effectively a large “other” category in which all sorts of different goals fall under. For example, if you’re AMG, you probably want to encourage a wide array of factions to be played. If you’re in charge of the convention itself, you probably want to encourage players to play most or all of their games for the good publicity. Goals like this often find themselves at odds with competitiveness, but again, and while the entire point of this post is to argue on behalf of favoring competitive integrity more than we currently do as a community, that does not mean these decisions are necessarily bad. They are just tradeoffs, and in many cases may well be worth it.
What Does Competitive Mean?
This concept is a bit nebulous, so to make things a bit more concrete let’s just say that maximizing the competitive integrity of a tournament or format is maximizing three separate things.
First and most importantly, the goal of the event is to create a list of players from best to worst, with the top player winning the event. In many cases, you care about other thresholds as well, because you have prizes to distribute like World Championship Invites to the top 4 finishers, or a prizes to the top of each faction, etc. Generally, the goal here is to get a perfectly accurate standings list, but more realistically the top percentage ranking matters significantly more than everything else. The relative ranking of 2nd and 7th matters far more than the relative ranks of 143rd and 146th.
Second, there are a few intuitive properties that you feel about tournaments that you haven’t ever put to words. For example, if a player goes completely undefeated in the event, and you completely removed them from the event, the relative standings of all other players shouldn’t change. This makes some intuitive sense - as that player beat everyone, the individual rankings of two other players should not change just because they are removed. Similarly, the same is true for someone who has lost all of their games, you can entirely remove them from the tournament with no impact on other player relative standings. Both of these sound trivially simple, and for Swiss systems, are trivially simple, but expanding on them gets you into interesting territory that is harder to encourage in tournaments. For another example, let’s say we have three players in a tournament, Alice, Bob, and Charlie. Alice finished 2nd in Swiss, Bob 4th, and Charlie 5th. Alice has played neither Bob nor Charlie. It arises that Alice cheated, and needs to be completely removed from the tournament. Bob and Charlie’s rank, relative to each other, ought not to invert, which is to say that we should not have Charlie suddenly be higher ranked than Bob. This is surprisingly difficult to enforce in most tournament formats, because of tiebreakers. There are a lot more desirable traits in a format, but there’s a published book that explains all this far better than I could: Tournament Design: How Operations Research Can Improve Sports Rules. If this is a topic you find interesting, I cannot recommend this book enough.
Third, which is really an extension of the second, is that any format should do as much as reasonably possible to incentivize players to win their games. As referenced before, a tournament is a machine like any other, and relies on accurate game results. Accurate game results relies on both participants playing to want to win, otherwise you are feeding garbage data into your process and you are going to get garbage data as the output. There are many cases in the past where it is in a team’s best interest to lose a game because of poor decisions made when creating a format. For an easy example, in 2012 two teams of badminton were disqualified from the Olympics for realizing they would have better overall results if they lost the game. Naturally, the Olympics blamed the players to cover their own ass instead of their bad incentive structure that created the situation in the first place. There are inevitably some situations in which the cost of playing a game is greater than the desire to win for either player, such as the last round of a long set of Swiss rounds between two undefeated players before a progression cut is drawn. No matter the outcome of the game, it is extremely likely both players will be the number 1 and 2 seeds into the bracket. It is likely in both players’ interest to agree to draw, rather than play as the seeding difference is not particularly important and likely neither want to reveal their hand to the best competition at the event. For this reason, as an organizer you cannot be upset at players for doing exactly what you give them incentive to do. If you have created a situation where the difference between the number 1 and 2 seeds is irrelevant, you cannot be upset when players do not care between the two. If you want the players to care, you need to encourage them to care by having something like prizing for the players based on Swiss standings.
Fourth is that whenever something wrong inevitably happens and you need a resolution, you cannot allow players to be making decisions to handle whatever issue has arisen. Players are competitors in the event and cannot, and more importantly should not be expected to, be impartial to their own interests. As the organizer or creator of a tournament, it is your job to be the villain making these hard decisions and attempting to weigh players’ interests against each other. For some clean examples, you cannot ask players to vote how a particular card interaction works before an event. Everyone you are polling has a conflict of interest, and you should not expect them to be able to be impartial. Similarly, you cannot ask players how to seed a complicated bracket once any results are known, as every player is very biased into how that bracket should look based on their own standing. Another example I’ve seen is passing down prizes, you cannot ask players how they would like to resolve the problem. It is your job as the organizer to make these decisions and be the bad guy. Mistakes are going to happen, but the entire reason you exist at this point is to be the mediator between different participants interests.
Format Conclusions Summary
To save a lot of time, Swiss is the “correct” format for the problem of ranking players that we have in X-Wing. There’s a pool of players large enough that Round Robin is unfeasible, and we do not have anywhere near enough information leading into the event to attempt some format requiring accurate seeds, such as Pools or a Elimination format. The best and probably only meaningful tiebreaker for Swiss is Strength of Schedule, as it directly addresses the root unfairness inherent to Swiss in that players will not play opponents of equivalent strengths. If you do not believe this, I encourage you to refer to the previously mentioned published works. We’ll go into some of the strengths and weaknesses of the specifics later, but first let’s look at how things have gone in the past to know what needs improvement.
A Review of the 2019 World Championship
The 2019 World Championships embody what I am referring to at the start of the post, in building a tournament format that minimizes the number of complaints received. That’s not an insult, or even a backhanded one, it is a very hard problem to create a format in which people feel like the event is fair, especially when there are such strong disagreements over what fair even means. I’m sure I personally delivered quite self-contradictory opinions that FFG managed to untangle and create something incredibly coherent and successful out of. So when we pick apart some of the details here, it is not a slam against FFG. If anything, it is a slam against the community that drove them to make some pretty clearly incorrect decisions based on bad feedback. We also now know a lot more about both the game and related formats than we did in 2019, so it is unfair to be particularly critical of events in the past. We know what we do now because FFG did so much trailblazing in trying different formats over time. We’re also going to look at a few specific results and use names to make it easier to look through the tournament and find, but the purpose of highlighting these oddities is not to say any player did anything wrong, it is a critique of the tournament system itself. Hate the game, not the player.
The final standings and round by round results are available here on ListFortress.
Swiss and Elimination Rounds
The overall format for qualified players was two different qualifier days of Swiss, each playing 7 rounds. Players with 5-2 or better records (there were no draws) progressed to Single Elimination, which worked out to be a top 98 Single Elimination bracket. Referring back to this post:
We now know that the higher ranked Swiss player only won Swiss games around 58% of the time, making a 7 round Single Elimination format extremely questionable. If we assume the 58% number means the better player wins 58% of the time, there is a 2.1% chance that the “best” player wins the whole event after winning the #1 seed from Swiss. To be extremely clear, I am not saying that the winners were arbitrary, did not deserve to win, or were not the best players. Everyone going into the event knew the rules and format. The point here is that the tournament itself does a poor job of allocating the time allowed. We know that Single Elimination matches in 2.0 X-Wing were low confidence results, which means Swiss Rounds are significantly more valuable than Elimination rounds. 7 rounds of Swiss and 7 rounds of cut is a total of 14 rounds, and if these were allocated differently the tournament itself would be improved. As an example, if all 5-2 or better players progressed to a single Swiss pool, played 4 more rounds, from which a Top 8 was selected, there are still a total of 14 rounds played for the full tournament, but you get a much higher confidence that the Single Elimination participants are the best of the field, leading to better quality Single Elimination games.
Ranking Tiebreakers
This event used Margin of Victory scoring instead of Strength of Schedule, which exacerbates a lot of issues that Swiss creates. For some examples of obviously incorrect relative rankings, consider these two participants:
Alice: 76th Swiss, 1573 MOV, .35 SOS
Bob: 83rd Swiss, 1512 MOV, .71 SOS
To rephrase that SOS, Alice’s opponents’ won a total of 17 games in Swiss, and Bob’s opponent’s won 35. Bob’s opponents’ won more than twice as many games as Alice’s, but Alice is ranked higher than Bob. Here is each player’s opponent’s final Swiss standing each round and whether they won or loss the round.
For example, during round 1, Alice lost to the player eventually ranked 363rd, and Bob Won against the play with a final rank of 149. This resulting in ranking Alice higher than Bob goes pretty clearly against some of the core goals of Swiss Rankings, which is to rank players from most likely to win to least likely. If one player’s highest ranked opponent they beat is ranked 161, while the other’s lowest is 172, we would expect the player with wins against much higher ranked opponents to be favored to win. If we expect players with lower ranks to win, Swiss rankings are entirely meaningless and the entire tournament is a waste of time.
To summarize, the Swiss results from Worlds 2019 are not internally consistent because of the MOV tiebreaking. The cut itself was far, far too big, and many cut rounds should have been replaced with Swiss rounds to more accurately find the top players.
A Review of Current “Best Practices”
It has already been linked in this article, but the very first post of this page is what were generally considered best practices for running X-Wing events for the latter half of Second Edition. Much like Worlds 2019, there are some sore spots that are worth revisiting.
Draws Are a Disaster
Draws are possible in the current ruleset, and while not being particularly likely, are very valuable information for the tournament. Again, we need to remember that the tournament is a machine which we are feeding some input to, in the form of match results. It outputs pairings and standings. The better quality our input, the better quality output we get. Ties are an extremely valuable form of input that informs the tournament that neither player was able to win the game. With graduated cuts, we are effectively treating these games as losses. To prevent this, common practice is now generally to just have players roll for a game winner when this happens. This is actively feeding garbage data into the tournament, which should of course be avoided.
The relative value of a draw is an interesting question of priorities that is probably more of a game design question than a tournament design question. There’s even a Wikipedia article for it. In most Chess formats, because draws are very common, a win is worth 2 points with a draw worth 1. In FIFA soccer/football, wins are generally worth 3 points with draws worth 1. Ties are still relatively common in FIFA games, but the organizers have chosen to reward teams for wins more to try and encourage more exciting games. X-Wing likely doesn’t have as much of a concern over spectator excitement, both because most games have no viewers, and because ties are relatively rare. I suspect AMG would prefer to see players playing to win the game, not draw, so would expect this to not change from 3 points for a win and 1 for a draw.
Another option would be to add further tiebreakers to a game, for example, number of ship points scored. Generally speaking, if a game is tied, if one player has scored more ship destruction points than their opponent, the more likely they are to win the remaining game.
Effectively, at all points over the game, the player winning in ship destruction points is a reasonable predictor of who will win the game in the future. Of course it is hard to consider how past results would be affected by rules changes, but in this case ties are so rare relatively speaking that it is unlikely that there would be a meaningful impact in game decisions around this. If reducing the number of ties is a goal, using ship destruction points as a tiebreaker for the game result is a clean addition that is easily calculated at the end of the game and provides moderate predictive accuracy over who would win the game if it were continued to be played.
The last major topic here is intentional draws. Generally intentional draws or otherwise colluded scores occur on the edge cases of tournaments where the very top and bottom games no longer matter for relative ranking, but can also occur when players on the same team are paired or similar situations. The realistic answer is that intentional draws and collusion will happen at similar rates whether you try to prevent them or not, so it is best to explicitly allow them. There have been some interesting attempts at workarounds for this issue, such as allowing players to request a draw before pairings are drawn for a round. Realistically this is a level of complexity that is beyond what the target audience for X-Wing tournaments is interested in. Even if as a community we collectively agreed to not allow things like intentional draws, we would have no meaningful way to impact whether or not this sort of result happened, so it is best to just accept it and move on with that under consideration for the reset of the tournament design.
Swiss and Cut Rounds
Swiss rounds are the fastest way to get a set of players ranked by skill. Despite this, we commonly have tournaments with as many or more rounds of Single Elimination than Swiss! Take Oricon GSP Event for an example, there were 5 rounds of Swiss, and 5 rounds of Single Elimination. Since the tournament gets far more information from a round of Swiss than Single Elimination, and there’s time to play 10 rounds, it makes more sense to do something like 7 rounds of Swiss and 3 rounds of Single Elimination. You can have similar cutoffs for players so that each player isn’t expected to play 7 rounds of Swiss, much less in a day. On Day 1, players play 5 rounds of Swiss. On Day 2, all players with a record of 3 wins and 1 draw or better continue play into two more Swiss rounds, after which a top 8 is drawn and played.
Drawing the Cut
Graduated cuts have been massively popular in X-Wing, but are probably the wrong solution for a problem. It makes sense that in the past using tiebreakers has felt unfair in allowing some players into cuts over others, because players’ Swiss rankings were not predictive of future game results, much less tiebreakers! But, as demonstrated in the previous post, Swiss Score and Strength of Schedule is predictive for winners, and we should expect it to become even more predictive as we play more Swiss rounds, for example 7-8 instead of 5.
Culture Around Tournaments and Events
This is a bit more abstract, but in X-Wing tournaments have become gamified. Players do not think of an event as a method of ranking player skill at an event, it is instead a set of rules to be manipulated into trying to win the event. Which is to say, players did not mind tiebreaking based on MOV, because MOV gave them a goal to try and win games by as much as possible to increase their odds of making the cut. It seems players would rather have an obvious goal to try and manipulate to win a tournament that is separate from just winning their games, which is counterproductive to the point of a tournament.
Additionally, over time we have seen player goals generally align to “I just want to make the cut” for any event they go to, with the results after that more or less considered luck. We’ve seen some truth to that, though I don’t think luck is an accurate descriptor for determining the winner as there is a lot of thought and talent put into meta predictions and predicting matchups, but generally speaking everyone was still subject to the whims of hitting another player who happened to bid 1 more than them. Because of this, coincidentally cuts have seemingly gradually increased in size over the life of the game, relative to the players at the event. I don’t think there’s necessarily anything wrong with that, but as we’re currently not playing anywhere near enough Swiss rounds, and far too many Single Elimination rounds, there is a culture problem where players will need to adjust their expectations to making the second round of Swiss being their success metric, rather than the eventual final much smaller Single Elimination bracket.
The last major problem around the culture surrounding events and tournaments is that many players consider it a flaw of the tournament if they are effectively eliminated from the event after a few rounds, where they are still playing games but they cannot progress to Single Elimination no matter what happens. With longer Swiss brackets, attitudes like this tend to become more common as well, and while the player frustration is understandable, there is no way to avoid this without compromising the integrity of the tournament. Unless later rounds in the tournament are arbitrarily more heavily weighted than earlier rounds, a significant portion of players will be mathematically eliminated from winning the event after 3 rounds. This is not a flaw in the tournament.
One-Off Formats and Science Experiments
It is pretty common for people running events to want to put their own unique spin on things, which is both understandable and probably good. However, it’s also pretty common that these decisions massively impact the fairness of the tournament in unintended ways. I’ll highlight a few example landmines that have been hit in the past. Again, the purpose here is not to call out people’s mistakes or poor decisions, much of the time the reason we know later is the benefit of hindsight to see why these caused some problems.
First, it is very important to have a consistent set of rules for games throughout the entire tournament. This sounds obvious, but has been violated a few times, even recently. The most famous example is in the previous Organized Play rules where rounds were 75 minutes, then the finals were untimed (and eventually restricted to 2 hours). This gave massive advantages to one playstyle, but only in the finals of an event. From a player perspective, all of Swiss and Single Elimination are playing by one game, and the Finals of the event are suddenly an entirely different game where one player has a large advantage. FFG just wanted players to feel like the final was more legitimate because the time constraints were removed, but the actual net effect was that lists with better endgames were massively favored to win official events. More recently, in the Gold Squadron Podcast Exegol event, the finals similarly had a different ruleset from the rest of the game. Players were able to ban a scenario which was not done anywhere else in the event. This is presumably to prevent a lopsided finals which would not be a good viewing experience, but again has the potential to massively favor one player over another. Generally, if you think something will make the game more fair, it must be evenly applied over the tournament. If more time will improve game results, all rounds must be longer. If scenario bans will improve game results, all rounds must have scenario bans. There are exceptions to this, but they are few enough that having the blanket rule is simpler and it might be an interesting topic to revisit in a future post.
Another example of these custom rules is the Gold Squadron online series tournaments ending the game when time is called if the System Phase has not been reached yet, instead of at the end of the End Phase. It is understandable how this decision was reached, since games that are still in the Planning Phase are likely to slow down the entire tournament online. However, the proper solution to this problem is to reduce the round counter. Giving players such direct control over when the game ends is very dangerous. If I know that there are about 5 minutes left in the game during the end phase, I can easily stall the game out and ensure that we do not have enough time to complete the Planning Phase, and there is effectively nothing my opponent can do about it. At least if the game just had 5 fewer minutes in it, both players know when the game is going to end and there is much less ability to gamify and therefore abuse opponent with the game ending time. If there are problem players with a pattern of slowing down events, they should be dealt with directly rather than endangering the competitive integrity of the event. Two of these are Gold Squadron Podcast tournaments, but to be clear they have just run so many events and formats that there is a plethora of examples, I do not believe they do a poor job of constructive events, quite the contrary.
Yet another example I saw in the process of typing this was a World’s Qualifier announcing the order of Scenarios for Swiss rounds while players were still able to decide their list (about a day before the event). The entire purpose of random scenarios is to not allow players to list build directly for scenarios. If you tell all of your players that 2 of your 5 Swiss rounds are going to be Scramble the Transmissions, you have created a significant incentive to build a list tailored to win that scenario.
Using That to Build Something
You made it (or skipped!) to the hardest portion of this, which is making changes on previous work to improve on the past. It’s very easy to criticize past mistakes, and much harder to build something robust yourself. We’re going to hit the major points briefly, which will mostly just be a summary of how we got here.
Swiss Rounds for Player Ranking and Seeding
Swiss is the fastest way to get to accurate player rankings for an event with little known comparative player ranking at the start. There’s good literature linked on it in the prior discussions in this post, so I will not link them again. In short, it is very powerful at finding the top and bottom groups of players with high accuracy, with the middle players having the lowest accuracy. Ranking the highest performing players is exactly the problem we are trying to solve to create a compelling Single Elimination bracket.
More casual players in an event are generally not interested in playing more than 5 or 6 rounds of the game, and that tends to be the maximum amount playable in a day for competitive players as well. For this reason, extending Swiss rounds into what were previously Single Elimination rounds makes sense.
There’s a question of whether a win of Swiss should be 3 points or 2 points, but this is probably a decision best left to AMG as it is likely beyond the scope of tournament design and into game design territory.
As a community we are used to Swiss rankings being mostly meaningless and gamified, but they are no longer meaningless and are now a powerful predictor of future game results. There are two major weakness of Swiss systems, which are first that opponent difficulty faced throughout the day can significantly differ for participants even with good matchmaking, and there is low accuracy for the middle half or so of the tournament rankings. The latter problem is not much of a problem, as in a 100 player tournament we are primarily concerned with the top 25 players or so which are accurately ranked, and the fact that 26th-75th has a higher level of uncertainty doesn’t really matter. For the former problem, that’s what Strength of Schedule exists to rectify, which takes us to…
Tiebreakers in Swiss
To very quickly summarize as this is somewhat embarrassingly a contentious point in our community, Swiss systems universally use Strength of Schedule. It is an effective predictor of future results, and alleviates the root unfairness inherent to Swiss systems. This is not a serious discussion or debate. There’s no real conversation to be had. If you’d like to read someone far better than I am explaining these issues, I recommend this paper again.
There are more modern Strength of Schedule systems that do not count games that were never played as losses for an opponent, which are likely more fair than what we are used to dealing with. For example, in a 5 round Swiss, an opponent who played a total of 2 games and lost both would provide 5 losses for calculating Strength of Schedule. A refined/modern Strength of Schedule would either calculate this as 2 losses instead, or award opponents .5 effective SOS (as that opponent would have presumably won about half their games, had they continued to play). These alleviate the major issue with Strength of Schedule, which is players dropping early and heavily punishing their opponents by effectively losing all games they do not play.
Somewhat interestingly, there are some further attempts to refine and improve Strength of Schedule issues that are more complex than I’m going to be able to explain in this post. If you’re curious and comfortable with math further reading is here.
A further tiebreaker past Strength of Schedule is an interesting thing to consider. Realistically with increased Swiss round counts it is very unlikely to tie on Strength of Schedule, but it is of course possible. Any kind of Margin of Victory scoring would be reasonable at that point, though X-Wing has issues around concession scoring that might make that difficult. Currently Mission Score is used, which appears to be a fine mechanism. Some other games have interesting tiebreakers that are worth considering, for example the Pokémon Trading Card Game uses Punctuality as a tiebreaker.
Round Count and Single Elimination
How many rounds should my tournament be? The answer is boring and straightforward: as many as possible. For our hypothetical, let’s consider two examples, with time for 12 total rounds and 14 total rounds. 7 is the very upper limit for number of games players are able to play in a day, so past that will take us into 3 day events for players which currently there are not large enough player counts to support. There are currently 3 day events, but they are different Swiss pools combined into a single bracket at the end, so players are playing on a maximum of two of them.
We are used to seeing the breakdown of these rounds be something like 6 or 7 rounds of Swiss, followed by 6 or 7 rounds of Single Elimination for our example. Since Swiss rounds are so much more valuable than Single Elimination rounds, that ought to instead be 9 or 10 Swiss rounds, and 3 or 4 Single Elimination rounds. That might take the form of 6 or 7 rounds of Swiss on Day 1, then 3 more rounds of Swiss on Day 2, followed by 3-4 rounds of Single Elimination also on Day 2.
For those rounds of Day 2 Swiss, Strength of Schedule should be “reset” as you cannot compare Strength of Schedule between players in entirely different pools.
There’s no magic number here, but my overall suggestion would to aim for roughly 2/3rds of the total rounds of the event to be Swiss rounds, if not more. Currently we play either 5 or 6 Swiss rounds out of tradition and comfort, but it is far from the best available format.
Making the Single Elimination Bracket
We haven’t touched much on where things have gone poorly in making brackets in the past, but that’s primarily because there were effectively no discussion or baseline for how this is done. For a clean top 2/4/8/16 this is easy, and you can just use a standard bracket. It gets more complicated when you need to do things like combine multiple Swiss days, for example.
Criteria for Progressing to Single Elimination
What kind of cut should you have? We’re used to Graduated Cuts as we treated tournaments like games, not tools, and the tiebreakers were all useless, so it was an understandable patch solution. Tiebreakers are no longer useless and are now predictive, so it would be completely fair to move back to clean cuts. I don’t know that the player base could handle it, and a better transitory format might be what we see in other games. Rather than taking the top X of Swiss, for example top 8, you can allow all players in the top 8, and any player ranked lower than 8th who has the same Swiss score as 8th place. This is similar to a traditional graduated cut, but both gives the event organizer more certainty in the number of rounds required to complete the event as well as increases the difficulty of things like intentional draws into the cut, as players will not know what score is required to make the cut until the final round is complete.
Additionally, this is where it is worth reviewing the goals of an event. If the goal is just the best players are in the cut this is perfectly adequate, but again an understandable goal for AMG may be faction representation. In that case, it may makes sense to do something like a clean top 8 cut, in addition to the top player of each faction not in the top 8, with a bye for the top Swiss seed leading to a top 15 with 1 bye. It wouldn’t be possible to guarantee the number of players in the cut with a method like this, but I would be curious to see what the odds of having more than double the cut size based on tiebreakers, based on player count. For example, with a top 8 cut of this style, what are the odds that you end up with more than 16 players that qualify? I suspect it is very difficult to add more than one round to a tournament Single Elimination bracket in this manner, but have not done the math to demonstrate this.
Building the Single Elimination Bracket and Combining Swiss Days
All of this needs to be prefaced with generally, events should not be combining Swiss results directly into Single Elimination cuts. Swiss Rounds tell the tournament significantly more than Single Elimination rounds, so it is both more effective and far simpler to simply merge Swiss and play more Swiss rounds, before creating a smaller Single Elimination bracket. This prevents all of the following analysis from being necessary, but as many events like these large Single Elimination cuts I am including the following (quite lengthy) explanation of seeding separate Swiss Qualifiers into a Single Elimination bracket.
If you’re sold on playing more Swiss Rounds after separate Swiss Qualifiers and none of this is relevant, this link will send you to the next section and save you some reading. This gets quite complex and should not be necessary or relevant to the vast majority of events.
Building a Single Elimination Bracket with a single pool of players can be quickly done in the manner most players and organizers are familiar with, in a “standard” bracket. The top seeded player should be paired against the lowest ranked player, organized in such a way that the highest seeds play each other as late as possible. You’re likely already familiar with a Single Elimination Bracket that looks like this, with the expected winner shown in all future rounds:
Most people are familiar with brackets like this, but likely don’t understand the purpose. In this bracket where you can see all rounds and their expected winner, you can see that players are expected to be eliminated in the same round of their rankings. For example, we expect seeds 9-16 to be eliminated in the top 16, seeds 5-8 to be eliminated in the top 8, etc. Naturally there will be upsets with lower seeds winning, but this organization maximizes the odds that the best players play as late as possible in the Single Elimination section of the tournament. To rephrase, the goal of the tournament is to have what are expected to be the best players play as late as possible.
A more complex question is how do you do this seeding when you have multiple qualifiers of players that played in different dates? How can I create a single list of seeds from these players? The first thing many people try to do is create a single list, just ordered by Score and then Strength of Schedule. However, you cannot compare the Strength of Schedule between two completely discrete groups. As an analogy, we can look at temperature in a system where we can only compare the relative temperature of things. Knowing the relative temperature of Qualifier’s A players, when Qualifier A’s was all measured on the surface of the sun with Qualifier B, which was just on Earth with more “regular” temperatures, will give nonsensical results. In Qualifier A, the 4th and 5th seeds have 100 degrees between them. The same is true for Qualifier B, but the Qualifier A’s actual temperature is 1,000,100 degrees, and Qualifier B’s is 110 degrees. Strength of Schedule is a measurement in the same way: it is a relative measurement, not an absolute measurement, and has no meaning outside of the pool of that pool of players.
If we can’t compare Strength of Schedule between players on different days, how can we combine Swiss days into a single cut? The answer is surprisingly simple, and relies on remembering what the output of a Swiss Format is. All Swiss gives you is a ranked list of players, from best to worst performance. An important thing to note there is that how those players are ranked stops being relevant as soon as you leave the Swiss Rounds entirely. You should discard players' scores when combining them for a Single Elimination bracket; the only thing that matters is the relative player ranking
That relative player ranking is all we need to create our bracket! All we need to do is alternate seeding into one list, using the higher seed from the larger played Swiss day. To use the same image from previously from this page, where you are combining two Swiss Qualifiers into a Single Elimination Bracket, with 6 players qualifying from Qualifier A, and 5 players from Qualifier B and Qualifier A being larger than Qualifier B will give you this output:
There are a few major selling points for this seeding. The largest is having players from the same Qualifier play as early as possible (in the first round of the Single Elimination bracket). The tournament gains much more information from players playing between groups, as there has not been a way for them to play yet, so getting all of the lowest information games out of the way as soon as possible is desirable. This also ensures that as the higher seed wins each round, rematches from Swiss are entirely prevented after the first round of Swiss if the higher seed continuously wins.
Additionally, this puts an incentive on players to sign up for the smaller Swiss day, as a smaller Qualifier is easier to reach the top X players. If Qualifier A has 1,000 players, and Qualifier B has 50, there is a large advantage in playing in Qualifier B, which encourages players to always sign up for the smaller Qualifier. This puts a self corrective pressure on the player counts of each Qualifier day.
Common Seeding Mistakes
Often, organizers want to use the Score of each player to seed players, instead of only using the player’s Swiss Ranking. The score of players should not be considered for relative ranking. If Qualifier A’s 3rd place player only has 4 Swiss points, and Qualifier B’s 5th place player still has 5, Qualifier A’s 3rd place player should be higher seeded than Qualifier B. This is quite counterintuitive to most people, but a common theme with these mistakes will be that it causes the bracket to become flawed in a manner that causes a large amounts of players to play each other from the same Swiss pool, instead of opponents from the other Swiss pool.
Another common mistake is attempting to do a style of merged list when Qualifier days are very unbalanced. For example, if Qualifier A has 100 players of which 10 qualified, and Qualifier B has 50 players of which 6 qualified, the expected bracket would look like this:
This can look quite unfair. Why should players from Qualifier A be the only players required to play in the very small top 32 round? Understandably, many people seeing this would decide this is an unfair way to merge Swiss brackets, and instead attempt to do some sort of merging of players such that the final rankings looked something like this:
1A
2A
1B
3A
4A
2B
5A
6A
3B
7A
8A
4B
9A
10A
5B
11A
12A
6B
evenly distributing the seeds from B through A. This feels more fair, as now there is a player from Qualifier B in the top 32. Here is the resulting bracket you get from this rankings merge:
Some of the minor details aren’t worth looking into and could be easily fixed, for example seeds 11A,12A, 5B, and 6B could be reshuffled such that the top 32 isn’t a pairing from players in the first day of Swiss. Where we are going to go wrong is in future rounds, as now that we have unbalanced the ordering of these players, there are cascading effects much further down the bracket leading to players that with high seeds both playing other high seed players from the same day. If the higher seed wins all games, this is the resulting bracket, with high seed matches from the same Swiss Qualifier circled in red:
Compare to the desired bracket from alternating seeds, which has these undesirable games between players in the same Swiss pool happening as early as possible, with the lowest ranked players possible:
Not only have we preserved the Single Elimination bracket goal of giving higher seed players the lowest available seed opponent in the pool to encourage the highest seeds to be eliminated last, but we have also significantly decreased the number of games which are repeats from the same Swiss Qualifier day. Our merged day has 8 matches from the same Qualifier day, where the standard alternating seed only has 4, and they are all over in the top 16, instead of going as far as the top 4.
Specifics to X-Wing Tournaments and Rules
I promise to be brief as this is already quite lengthy, but there are a few topics worth hitting that are either specific to X-Wing rules which are dangerous or harmful, or emergent effects that X-Wing itself causes.
Hidden Round Timers are Harmful
One interesting update by AMG in the tournament guidelines is round timers both being random and hidden. The round timer being random is not particularly impactful, but hiding this information from players is quite dangerous and leads to bad outcomes. The goal of removing this information from players is to encourage players to not abuse the amount of time remaining in the round to win the game, but the actual effect is that the players who are most likely to be doing in the first place to set their own timer on a watch or phone, and use this information in exactly the same way they always would. As the expected round end approaches, if they are winning, they can play slowly to try and prevent another round from happening, etc. I don’t think I need to go over the details here. But, instead of the opponent being able to see the amount of time remaining in the round, they are now defenseless and have no way to even realize this is happening unless they too have set a round timer and are aware of the timer that is supposed to be hidden.
I strongly recommend ignoring the random timer rule listed in the AMG documentation, it is actively making the problem it is attempting to solve worse.
Lists! Lists! Lists!
This is going to sound obvious, but you need to double check your players’ lists, as early as possible. Before the event starts is the correct time to do it, to resolve any issues before the event itself starts. Trying to solve an issue where you are learning a player’s list is illegal 4 rounds into your event is a nightmare, and can be easily avoided.
Another important note on lists is that if you are running an event with multiple qualifier days, it is necessary to require all players submit their list before the first Qualifier begins. It is unfair that the later playing Qualifier be allowed to learn or get information on what opponents in the earlier Qualifier are playing at your event.
Starting the Round Timer
A common question is just simply, how long should I wait after posting pairings before starting the round? The current commonly accepted standard is when most or all players have completed setup. This is not feasible in a lot of venues, and that is fine. Currently around 20-30% of games are not resolved to 20 points when time is called, so if you notice significantly more than that of your games not being completed, you are probably on the aggressive side with your round timer.
Scenarios and Multiple Swiss Qualifiers
If you are running two separate Swiss Qualifiers, you have a few options. If lists are locked and therefore players cannot use the knowledge of what scenarios the earlier Qualifier played, it is fine to use the same set of scenarios for each Qualifier, so that when players are combined later in the event each player has played the same scenario the same number of times. This allows your future Swiss Rounds or Single Elimination to continue using the same scenario pool. For example, if your Swiss Qualifiers were both 6 rounds and played the same scenarios, there are two remaining scenarios that your next 2 Swiss Rounds can use, or the first two rounds of Single Elimination.
If you were not able to lock lists, you cannot use the same scenario pool between days, because players playing in the latter Qualifier can learn which scenarios were played, and tailor their lists accordingly. In this case, you must draw scenarios separately for Qualifier B, and then when combining Swiss pools, start with an entirely fresh set of scenarios to draw from.
Concessions
The AMG concession rules currently entail the player that concedes losing 20-0. There are a few problems with this, the first and most obvious being that it is possible that a player lose points because their opponent concedes. If we are close to resolving a turn, and the score is 19-0, and about to be 24-0 solely from scenario points, the losing player can concede and prevent their opponent from scoring those remaining 5 points. However, it is not as simple as having all of a players ships be destroyed in this case, because suddenly the inverse can happen in this game, where the player winning 19-0 can concede, and lose a game despite having 24 points to their opponent’s 20 points.
I suggest having all of your ships destroyed on concession, and if the conceding player still has more points than their opponent after scenario points are scored, the player conceded to scores the conceding players score plus an additional point. This might just be too complex, but the current system discourages concessions which is likely a larger problem.
When is it Acceptable to Play in my Own Event?
This is a hard line to draw. In a lot of cases the tournament organizer is the person effectively roped into running the event, but still wants to play. This is understandable and for smaller events is perfectly acceptable and in many cases unavoidable.
There is a line where playing in your own event casts doubt on it. Without an official OP structure at the moment it is hard to draw a perfect line for what is acceptable and what isn’t, but the best question to highlight where that line is would be asking what it looks like if you need to disqualify your opponent that you are playing as the organizer. If there’s going to be drama online the next day that you’re disqualifying players to try and win a tournament, you are probably trying to play in your own tournament when you should not be.
That’s not going to be a hard and fast line, and hopefully when AMG starts the OP series back up they will give us better guidelines, so for now I can only recommend caution for playing in your own events.
Sample Tournament Formats
Lastly, here’s a few quick examples for what to do for a few common tournament sizes. These are just samples based on the previous explanations, and if you’re using one as a starting point I recommend reading the above sections to know the best way to make modifications to meet your needs.
These are not meant to be hard and fast rules that must be exactly followed - for example, multiple cut strategies are used for the large events to demonstrate what they may look like. Again, I strongly recommend reading the justifications for why you might want a clean Top 8 cut, versus a Top 4 cut but including all players tied with 4th.
Small Events - 16 players in 1 Day
There’s no real structural changes suggested for events small enough that they did not require a cut. If you’re running a 16 person event, you can simply pick the number of Swiss rounds required to leave a single undefeated player, who then wins the event. Every round cuts the number of undefeated players in half, so all you need is 4 rounds to have a single undefeated player for 16 players. You can illustrate this with Swiss Triangle tools like this one:
Medium Events - 40 players in 1 Day
5 Rounds of Swiss, with a cut to a regular Top 4. If there are no ties, it is likely that some players will miss the cut because of tiebreakers. It is acceptable for that player to miss cut based on Strength of Schedule, as previously demonstrated in previous posts this is now a meaningful ranking metric for Swiss, but it is still not ideal. However, there’s no real way to get more rounds in a day, and 7 is already pushing very hard.
The entire tournament is a total of 7 rounds. You will play each round of scenarios once in Swiss with one repeated. Two more scenarios from the new pool will be used in the cut, making 3 scenarios played twice, and one scenario played just once.
Medium Events - 40 players over 2 Days
Day 1: 6 Rounds of Swiss, all players with a record of 4-1-1 or better. Swiss Triangle doesn’t handle draws, so this breakdown is approximate.
Day 2: 2 rounds of Swiss for the remaining roughly 13 players, followed by Single Elimination cut to top 4, including anyone tied with 4th. As there are two days, there is time for the extra round of Single Elimination allowing us to discard tiebreakers.
Your cut is roughly 6 players, but could be larger or smaller based on draws. Most likely smaller. Your cut looks like this:
and will take a total of 3 rounds.
The entire tournament is a total of 11 rounds. 6 rounds on the first day, and 5 rounds on the second day. You will play each round of scenarios once in Swiss, then another two scenarios in rounds 5 and 6 of Swiss. The remaining two scenarios not already played twice are used for Swiss round 7 and 8, and again reset for the cut. 3 scenarios will be played 3 times, and one will be played twice.
Large Events - 90 players over 2 Days
This will now look similar to the 40 person event.
Day 1: 6 Rounds of Swiss, all players with a record of 4-1-1 or better. Swiss Triangle doesn’t handle draws, so this breakdown is approximate.
Day 2 Swiss: 2 rounds of Swiss for the remaining roughly 32 players, followed by Single Elimination cut to top 8, including anyone tied with 8th. As there are two days, there is time for the extra round of Single Elimination allowing us to discard tiebreakers.
Day 2 Cut: Your cut is roughly 14 players, but could be larger or smaller based on draws. Most likely smaller. Your cut looks like this:
and will take a total of 4 rounds.
The entire tournament is a total of 12 rounds. 6 rounds on the first day, and 6 rounds on the second day. You will play each round of scenarios once in Swiss, then another two scenarios in rounds 5 and 6 of Swiss. The remaining two scenarios not already played twice are used for Swiss round 7 and 8, and again reset for the cut which is four rounds and a different one is used each round. All scenarios will be played exactly 3 times.
Large Events - 150 players with Multiple Qualifiers over 3 Days
Day 1A and Day 1 B Qualifiers: 6 Rounds of Swiss, all players with a record of 4-1-1 or better. Swiss Triangle doesn’t handle draws, so this breakdown is approximate. Let’s assume Day 1A has 60 players, and Day 1B another 90 players.
Day 1A Swiss Results:
Day 1B Swiss Results:
Day 1A will have roughly 21 qualified players for the next rounds of Swiss, and Day 1B roughly 32.
Day 2 Swiss: Swiss pools are combined and three more Swiss Rounds played. Players keep their scores, but Strength of Schedule is reset as they are from different player pools. These counts are generated using 150 players total, as that’s the full Swiss size, but there will be no players with records worse than 4-1-1 starting Round 7, so most of the lower scoring players here are removed from the event and no longer relevant.
Day 2 Cut: This will be a strict cut to top 8. There is a chance tiebreakers will be used, but 9 rounds of Swiss is enough to significantly differentiate players by score. Draws may make this more or less clean, determined by how many players are at your event and how many draws there are.
The entire tournament is a total of 18 rounds for the organizer, or a maximum of 12 rounds for a player. 6 rounds on Day 1A Qualifier, 6 rounds on the Day 1B qualifier, and 6 rounds on the third combined Swiss and Single Elimination day. You will play each round of scenarios once in Swiss, then another two scenarios in rounds 5 and 6 of Swiss. The remaining two scenarios not already played twice are used for Swiss round 7 and 8, and again reset for a random scenario for the 9th round of Swiss. The cut continues with that scenario pool, using all three remaining scenarios. The players in the finals will have played each scenario exactly 3 times.
Final Thoughts
This ended up being significantly longer and more complicated than I anticipated! For most people, it can really be summarized as “You are playing too many rounds of Single Elimination, and not enough of Swiss. Also, just use a normal cut and move on from Graduated Cuts, that was a solution to a problem we no longer have.” Previously I had mentioned going over what better formats might have been for 2.0 now that we know more about how poorly fit the formats used at the time were to the game that was being played, but I don’t want to make this any longer than it already is. We’ll leave it as a future exercise!
Thanks
FFG OP, for all the not very useful criticism we gave them over the years, they went through all sorts of interesting formats and none of the lessons we’ve learned would have been possible without them putting up with our nonsense. Thanks!
Andrew Cox, for the brain poison.
Nate May, for the data on who wins games by score differential noted in the breaking game ties section.
The Academics linked in this article, for doing the hard thinking that the rest of us can go read and apply to help us run better events.
Anonymous editors, I am so sorry for this absolute wall of text, God help you.
Hey Chris, thanks for sharing your suggestions about best competitive tournament structures. I do have one quick thought about your latest article about tournament structure that I didn't see completely addressed:
I agree that getting SOS punished for opponents that drop is an issue. However, presuming that opponent would go on to win half their games would be unfair to the players who DON'T play opponents who drop and perform poorly through the entirety of Swiss. Beating somebody who went 0-2 & dropped shouldn't be of more value than beating somebody who went 1-5.
It seemed like your current suggested tourney structure allows players to drop whenever they want. (Maybe I missed where you said differently.) My suggestion would be a forced drop after X losses (nominally 2 losses). By forcing them out after 2 losses, you can have a SOS assumption for early droppers that won't penalize players who win against droppers so harshly. Even applying an assumed .33 SOS for players who went 0-2 or 1-2 seems fairer once advancing players start running into other players with 2+ wins.
From a player satisfaction point of view, a forced drop isn't valuable for those who want to play 5-6 games for a tournament they've traveled & spent money on. I'd think the workaround there would some side events & "best of the rest" tourneys for prizes & clout. This would significantly increase the workload of TOs who would have to do signups & management for a secondary events; I admit this is the kind of suggestion that, if told to me as a TO, i might spitefully laugh. But maybe TOs can get some assistance in the new tournament management software being developed since the death of TT.to.