By all accounts, Grand Prix Los Angeles got off to a rocky start. @BenKrantzStudio asks, “Why is there a HUGE line for byes check in for #GPLA?”

Interesting question.

OK. Well, the question as posed is actually pretty mundane, so let’s tackle that first.

Why is there a HUGE line for byes?

Well, there isn’t, not really. There’s a huge line for player issues. It’s true that many of these are people who have questions about their byes. Which happens because:

They’re confused about how many Byes they’re supposed to have. Maybe they had Byes at a previous event and now they don’t (because Planeswalker Point seasons rotate; the switch to the annual system can’t come soon enough). Maybe they don’t understand exactly how the Planeswalker Point system works. Sometimes they’ve been told that they should have byes by a friend or by a well-meaning staff member who is just mistaken. They think they won a trial that didn’t get reported on time by their local store, or which got invalidated (make sure, when you win a trial, to get your store to submit that tournament right away and to verify that it’s a legal and accepted tournament). They just plain don’t read the posted bye list correctly and freak out about where their byes went, when they’re already safely in the system. They’ve filled out their registration wrong (since sadly, online registration doesn’t and currently can’t check the correctness of your DCI number) and used an incorrect DCI Number, which means that they bye lookup system that is based on DCI Number will fail to find your byes. Something screwy happens with the bye processing and the printed bye list doesn’t have the right data on it. This can happen if the data import has been screwed up in DCIR, or if the TO is using custom software to important preregistration data and something has gone wrong with how they put the bye information into that data.

5 is relatively more rare, but did happen here in Portland (though we caught this early enough to post an updated bye list reasonably early in the morning). As well as scads of the rest.

In an ideal world, there’d just be a site you could go to that would canonically tell you how many byes you have for each event (almost as if the people who make the game ought to have a site that has information about tournaments, your current Planeswalker Points, and your match history … *sigh*). But sadly, that doesn’t seem to be our world.

But as I mentioned, bye issues are a subset of player issues, which are slightly more interesting.

Why is there a huge line for player issues?

To answer this, we need to know more about what types of issues we’re talking about and the sorts of things that can trip players off as we get the day started.

Enemy number one is, by far, “I’m not on the seatings.” Except it’s usually more an angry rant having to do with how they paid and aren’t on the seatings. Most often, it’s simply because they didn’t see themselves, which happens because:

They simply missed it. They missed it because their name only appeared on the right side of the seatings. Unlike most of the other postings, where you can always find your name in the left column, a player seating does not duplicate entries so that your name always appears in the first column. You may only appear on the right side. Players, check both columns. Judges, cut the darn forms in half so it’s obvious that the two sides are different. They missed it because something is weird with their name. Either it was typed in wrong during their preregistration, or somebody couldn’t read their handwriting for on-site registration, or the first and last names got swapped when somebody was entering data. Players, check under your first name if you can’t find yourself under your last name, and please write legibly. Staff, make sure you’re being careful when you enter in registrations, any typos can cost a lot of tournament time. They missed it because they used the wrong DCI number, it got entered in by DCI number, and auto-completed to somebody else’s name. These are doubly pernicious because they also result in a stub player who ends up not showing up (since they never really signed up), which leads to extra byes and extra work. They’re actually missed, either because of a missing slip, a miscommunication, or these days, frequently because something went screwy with the preregistration system (payment wasn’t successfully processed, something went wrong with the tools that convert from preregistration to entry, etc…), which then needs to be validated and those players added.

Second most common are people with issues with a Sleep-In Special or VIP system. Maybe they signed up for one of these and they don’t see it in the system. Or maybe they bought one, but showed up anyway and are now panicked that they aren’t on the list (generally Sleep-In Specials are filtered out of the player meeting so we don’t have lots of empty seats to contend with). Or maybe they are a VIP with a bye and don’t realize that that often automatically signs them up for a Sleep-In Special.

Third is people who want to know where to turn in their decklist or to get their free stuff. Hint: I don’t know a TO in the world where the line for the scorekeeper is the right place for either of those. Decklists are collected at the player meeting (or however specified if you signed up for a Sleep-In Special – you did read the fine print, didn’t you?), and free stuff is given out in some way that doesn’t make the whole tournament wait for you.

Besides those and the aforementioned bye issues, other reasons that people end up in the line are because they want a Fixed Seating (Note: Please tell us you need one of these either before the rush after the seatings are posted, or after the player meeting. I know that this is the most obvious time for you to think about it, but this is the time that we have the most customer service requests and where delays slow the tournament start the most), because they want to know where their friend/son/daughter are sitting, because they see a line and want to know what’s going on, or any manner of other craziness.

But enough answering what you asked. Let’s talk about the truly interesting question, a question that is much closer to the thing that you actually want to know.

Why in the @#$(*&% is it taking so long for this tournament to start?

Online Preregistration, VIP, Sleep-In Special, constant video coverage … all of these things feel run of the mill these days and are pretty much par for the course, so it’s easy to forget that these are all relatively recent innovations in an attempt to enhance the player experience. So are giant 2000 person tournaments.

Wait a second … recent? Hasn’t it been years? Shouldn’t this be down to a science?

Well, recent relative to when the software infrastructure that runs these things was designed (and yes, the need for new software and technology is foreign to nobody, but that software isn’t ready).

Even based on just tournament size (let alone all of these add-ons), the process of getting a tournament started, including all of the infrastructural work that needs to be done to make sure that it proceeds relatively smoothly, is like a giant rickety Rube Goldberg machine. And every one of these enhancements just sticks another pair of contraptions onto the machine. So now, instead of just having to shoot the ball through the flaming hoop, it has to do a 90 degree turn in mid-air through a combination of magnetic tricks.

Here’s a reasonably representative subset of the things that need to be put into place before we get started with a tournament:

We need a seating. Which means all of our players need to get into the software, which includes an import from our preregistration data, data entry from on-site data, identifying and fixing any erroneous data (this piece is an insanely complicated topic on its own, figuring out the balance between tournament integrity and expediency – more on this topic someday in the future), and dealing with any changes as they roll in from people on-site. This seems like it ought to be pretty straightforward, since it’s just data manipulation, but Preregistration is a maniacal beast; we’ll get to that in a bit. We need name ranges set up with signs printed out to distinguish them. As much as possible, these should be balanced. Both of the above, and more, are complicated because of the Sleep-In Special, and the fact that the software doesn’t know anything about the concept. Fundamentally, the challenge is that there are some tasks that want to take into account people who have Sleep-In Special and treat them differently, and there are some that want to treat them the same as everyone else. The two points above represent one of each. The biggest of the former is the seatings for the player meeting. Because you don’t want to deal with a bunch of empty seats during the player meeting (which gets in the way of determining who’s legitimately just not showed up or is a player that might represent a problem in your data set), and Sleep-In Specials will by definition not be there, you need to pull them apart. The standard tactic for doing so is to append something to their name to push them all the way to the end of the range. Chief among the latter is determining name ranges, which don’t want to be biased due to any name shenanigans from players with SIS, since those tags will go away as soon as the tournament actually starts. VIPs complicate things further, to a degree depending on which services are being offered. Luckily, fixed seatings for these are generally not done anymore, as that’s its own ball of wax. But it’s common to want to give them their own set of pairings, which either means leaving their names tagged separately for the tournament (in which case you get to deal with the parade of folks who don’t understand where to find their names), or to come up with some alternate tooling that can pull out the VIPs in a programmatic sense based on their undoctored names. This must be its own separate system, since again, the tournament software was written far before the notion of a VIP existed. Most VIP programs also offer SIS for those who have at least one bye, so processing the VIPs who have byes separately from the VIPs that don’t and making sure the tagging works properly for each to accomplish the requirements in point 3 has to be considered as well. Now that we’re past the introductory stuff, now it’s time to actually fix up the files. Remove all the weird tags like SIS. Decide whether to leave VIP tags. Deal with any problems that we’ve found from the player meeting, ideally deleting anybody who isn’t present to cut down on unnecessary byes, without dropping somebody who actually wants to play. Putting this step last is a little misleading, though, as in the ideal world, much of this can and has been done in advance so that this step is quick.

And then a list of things that don’t block the tournament from starting, but will slow things down as time goes on if they aren’t done early:

Drop Lists need to be created. It’s quite common for players to decide some time after they’ve submitted their result slip that they want to drop from the tournament. The process by which this is done needs to be determined and the right materials generated. The trick here being, dropping based on name is really slow and expensive, but players tend to know their name. Dropping based on player number is fast and efficient, but this is an arbitrarily assigned number that nobody knows, and furthermore the software doesn’t have any efficient printout that makes it easy for people to find their player number. So to make sure that round turnaround isn’t adversely impacted, you ideally want to make a printout that maps player name to player number. Many head judges like to keep track of any time extensions given by judges on a master list. No big deal here, just need to print an appropriate form to track these. Depending on whether online pairings are available (which they generally are these days) and what toolset is being used for this, various amounts of setup need to be done to make sure that these are available and work. Technically, not needed to start the tournament, though people complain a lot anytime they aren’t working. As video coverage expands, the amount of support that the coverage team needs increases. Many of them, these days, want additional online data that requires some setup of tooling or spreadsheets to efficiently get the data they need over to them. A full judge list needs to be generated for the main event for the purposes of penalty entry. Ideally done well in advance, but judge lists can easily fluctuate until the last minute, and the software only accepts 100 total judges, which is often surpassed by the full staff in modern tournaments, so we need to be judicious about who is actually on the floor and will be issuing penalties, which can’t always happen until close to the last minute. Fix all of the missing DCI numbers. Many DCI numbers will be messed up due to preregistration inaccuracy, and if we left all of these people out, we’d have a riot on our hands. Instead, we tend to leave those folks in and assume we can take care of their erroneous numbers early in the tournament (technically not needed until the tournament is submitted, but not having one is a catastrophic error that prevents tournaments from being submitted, and the longer you wait, the more you risk one of these players no longer being available).

You may notice that the vast majority of this list is eased substantially by having accurate data. Unfortunately, online preregistration does not lend itself well to this goal, as there is no preregistration system that is integrated with the tournament software. So the various systems that are created by TOs to do registration can’t and don’t validate player information, which leads to challenges up and down all of these various lists. An incorrect DCI number can’t be caught by the preregistration system, and wreaks insane havoc with the system.

Whew. Pretty sure I’m forgetting something. But hopefully you get the idea.

And now, finally, we’re equipped to talk about the core of your real question.

What in the @#($& made Los Angeles take so long to get started?

It might not be obvious from the above, but there is a loose sequencing among all of these tasks. The ball rolls down the hill at just the right speed to launch into the cup. The cup swings in just the right way for the ball to be dropped into the funnel. And so forth.

And if somebody just tilts the first part wrong, the whole thing blows up. Suddenly you’re moving parts all over to catch the ball that’s gone the wrong direction, and it’s tough to get caught up and get the ball back onto the intended track.

In Los Angeles, we had two sets of issues. One was that the registration data came in quite late; it wasn’t finally ready until about 10 minutes before the tournament started, for various reasons. This got the whole machine started off on the wrong foot. The other was that various issues with preregistration payment processing caused a decent number of people not to be registered that should be. In a limited tournament, we can hide these because we can get people building a deck while we add people as needed. For constructed, though, you have to wait until everyone is in so that you can pair them against opponents. So it’s extremely visible when this happens.

Additionally, we decided not to tag the VIPs to make them easier to pull out, opting instead to write tools to pull them out separately. But the late-breaking data meant that setting up this tool was delayed.

Finally, once these initial tasks were delayed, getting everything else ready pushed into the first couple of rounds, so we spent a lot of time getting caught up.

Throw all of this together with the usual things that happen at large tournaments (players keeping slips in their pockets for 10 minutes while we try and hunt them down – this isn’t a made up story, this accounted for one of our longest rounds), and suddenly things feel slow.

But, you may wonder, other events have to do all these same things and don’t have these problems, so what gives? That is definitely true. But the GPs are all run by different independent TOs, and they all do things a little differently. They all have their own processes. They all have their own tools. So you can’t assume that anything that works in one tournament will be the same in every other tournament.

And, you might wonder, why are we still using this old software that doesn’t know anything about any of these new processes? Surely it’s obvious that we need new tools, right? Well, yes, it is. And they’re being worked on. But they aren’t done yet.

But what about these common processes, like preregistration, shouldn’t this just work the same for everyone? And shouldn’t it just be integrated with the tournament software and be able to do all the validation? Or even better, just be integrated with your Planeswalker Points account? Or Magic Online account? Well, yes, I agree. That sure would be nice, wouldn’t it?

So there’s the story. The problem were clear and ultimately preventable. And the right people are working on how to make the machine a little more reliable in the future. At least, the machine that this group of staff uses.