Showing posts with label Grand Prix. Show all posts
Showing posts with label Grand Prix. Show all posts

Sunday, June 26, 2016

GP Pittsburgh 2016: Sunday Morning

8:40 AM: In the hall. Dani’s been working on Super Sunday Series registration, and there are 71 people in the event so far. She has one registration slip that she can’t figure out—the number is illegible and the player’s name isn’t returning any results in the search. I take over. Turns out, that player is Canadian, so I have to change the Country drop down to find him.

9:09 AM: I realize I left my wallet in the hotel room, so I can’t sneak off stage to get a nice, fizzy beverage from the super-secret soda machine in the loading dock. Whomp whomp. SSS registration is up to 124, and I have some time to work on registration for events starting later in the day, like the Eternal Weekend Trial and Modern Mayhem.

9:17 AM: SSS Pairings go out. Final player count: 130. Head Judge Nicholas Sabin is forgoing the player meeting, which is less paper I have to print. Yay!

9:18 AM: There’s some confusion about whether anyone made the last call for SSS registration, and there’s one more player who wants to sign up. The registration staff gets him taken care of, I get him entered in the event, and an announcement is made for the last call. No one else signs up, so the final player count is 131.

9:31 AM: I’m caught up on entering registration for the 10 AM event (Eternal Weekend Trial). I take a few minutes to set up my chart for the day in my notebook. I’ve used an extra column all weekend, Rounds, because, well, different events have different numbers of rounds.



9:39 AM: First match slip from SSS comes in It’s a no show. I band up the registration slips from that event to get them out of the way, which frees up my little basket for results I’ve already entered.

9:46 AM: Snack time. There aren’t any more Swedish Fish in the tubs of “Miscellaneous Stage Supplies” in the judge/staff area, so I fill my jacket pocket with Kisses instead. When I get back to the stage, the HJ of the Eternal Weekend Trial is waiting for a player count update. There are seven new slips to enter. Three of them are for players named Nick. Current player count: 35.

9:57 AM: Last call for the Eternal Weekend Trial. I remember to put purple paper in the printer and print a sign for round end times to go out with the pairings, then go back to entering SSS results.

10:01 AM: Eternal Weekend Trial registration is done, and the final player count is 40. I pair round one, then set the Multi-Print queue. I’m about to print pairings when I realize that I forgot to set the starting table number. Whoops. At least I didn’t print first :)

10:15 AM: A player is missing from the Eternal Weekend Pairings. Turns out, his registration slip was marked with the wrong event (Modern Mayhem). It took a minute to track down where the problem was, but in the end, I got him in the event and assigned him a bye for the first round. There are 56 players currently in Modern Mayhem, and there are two minutes left in the first round of the SSS.

10:25 AM: There’s one table still out in the SSS, and the last call is made for Modern Mayhem. I notice that the match slips for the Eternal Weekend Trial are still on my printer. Hrmmm….

10:27 AM: I pair and print Round 2 of the SSS. I need some judge DCI numbers to enter the last few penalties from Round 1, but it’ll be a few more minutes before I get that. Pink paper is up next for Modern. I remember to set the starting table number this time.

10:30 AM: This was fun and exciting. I entered one of the results from the SSS backward. I just had the players switch seats and then started to do computer things. (Registration was working on sorting out the last two sign-ups for Modern Mayhem because they had some issues with their Modern Passes.) I change the pairings in WER, click “Done”, and get an error message along the lines of “All players need to be matched.” (They are all matched.) All of sudden, all 120-some players in the event appeared in the list of unmatched players, and the only actual pairing is the most recent one I entered manually. I’ll deal with this after Modern Mayhem fires.

10:34 AM: I get the last registration slips for Modern Mayhem, get those players entered, and get pairings out for Round 1. Time to work on this SSS problem. I grabbed the copy of pairings by table and tried to re-match the first two players. Nothing happens. I mean, I click the buttons to enter the pairing, and the players don’t show up in the column of pairings or leave the list of unmatched players. I start to estimate how long it’s going to take me to rebuild the event and then I try clicking a few more buttons. I hit enter from the (empty) search box on the pairings side, and everyone reappears, including my two attempts to re-match table 1, which are now tables 63 and 64. The unmatched player list is still full. I delete the two extra instances of that match, and the unmatched player list is now, suddenly and magically, empty. I click “Done” again. It works this time. That was close.

10:44 AM: The first slips from the Eternal Weekend Trial make their way to me. I get through those and the registration slips for 11 AM Turbo Sealed. There are 7 of them so far.

10:47 AM: Gorilla Todd appears in front of my stage with a cold, fizzy Diet Pepsi and my wallet.

10:53 AM: Three slips still out in the Eternal Weekend Trial. Some Round 2 SSS slips have appeared, but I’m going to leave those in the basket for a few minutes.

11:02 AM: I go to start the Turbo Sealed event, which is only one round, and I realized that there wasn’t an “Enrollment Complete” button. Whoever sanctioned the event sanctioned it as “Player List Only.” This means I can’t pair. I sanction a new event, export the player list from the old file and import it into the new file, and create pairings for Round 1. It takes about a minute. The HJ of the event gets seatings and pairings at the same time. It’s on yellow paper. The next event that fires will also be on yellow paper. Since this event is only one round, I won’t have to do anything else with this event until I have free time to enter the results.

11:24 AM: I band up the rest of the registration slips from the morning events and the match result slips from the first few completed rounds. In the process, I cut my thumb on a piece of pink paper.

11:29 AM: There are two slips left out in the SSS round, and I have to pee sooooooo bad. The 11:30 AM Vintage Plus event has one player registered, so it’s not going to fire. Vintage hasn’t fired all weekend :(

11:36 AM: SSS Round 3 pairs. I really have to pee, but now there are only two slips out in Modern Mayhem. I band up some more slips and drop them in my filing cabinet. There isn’t an event at noon—the next event is the 12:30 PM Standard Plus. I open up that file and start enrolling players.

11:43 AM: Modern Mayhem Round 2 pairs. I sprint off the stage. Brb.

11:52 AM:Ahhh. That’s better. It’s time to catch up on paperwork: banding match slips from finished rounds, entering players into Standard Plus, making sure I have judges entered in the WER files for all the active events.

12:09 AM: Someone handed me two Jeremy Tomacooper Clue tokens a second ago. The Eternal Weekend Trial round flips, and I get the starting table number for Standard Plus, which has 19 players registered right now. There are a couple blue and pink slips in my basket, so I start entering those.

12:16 AM: Table 30 in the SSS lost their match slip. One of the judges on the event asked if I could print a new one—nope :( I handed him some blue paper and asked him to make a match-slip-sized replacement. This is what I get back:



12:32 PM: Standard Plus parings are on the printer on yellow paper, but the HJ is missing.

12:33 PM: A judge asks about information for an investigation: a player is playing with badly warped foils, and she (the judge) thinks that it might be the same player she issued the same penalty to yesterday in a different event. I dig out the event file and check the penalties—it wasn’t the same player.

12:35 PM: There’s the Standard Plus HJ! Pairings for Round 1 go out.

12:43 PM: There are two slips out for both the SSS and Modern Mayhem. I’m betting that SSS flips first, so the printer is set with blue paper.

12:45 PM: I was right. SSS Round 4 pairings go out. The Modern Mayhem HJ comes up with one slip, thinking it’s the last one. Nope. Table 745 is still missing. I start entering players for the 1:00 PM event, which is Team Sealed Plus, while I’m waiting.

12:55 PM: The HJ of the Turbo Sealed event comes back with his match result slips. Team Sealed is about ready to go with 14 teams registered. The mystery of table 745 has been solved—that table has a lengthy extension as a result of the aforementioned investigation. They still have 16 minutes to go.

1:04 PM: After two last-minute team registrations, seatings for deck construction go out for Team Sealed Plus. That event is green. I’m almost out of different colors of paper.

1:10 PM: Table 745 is in! Round 3 pairings for Modern Mayhem go out. The Eternal Weekend Trial is getting pretty close to the end of its third round too, so I switch the printer to purple paper.

1:13 PM: Speaking of Eternal Weekend Trial...Round 4 pairings go out. The first few slips from SSS Round 4 are trickling in now—they’re all no-shows. About 6 of them.

1:17 PM: I have a second, so I enter the results from the Turbo Sealed round. The event doesn’t want to upload because it’s only one round. Two-Headed Giant starts at 1:30 PM, so I open that event and start entering players. I wish I were working a little further ahead on this.

1:25 PM: My match result slips are languishing in the box at registration. I leave the stage to rescue them.

1:31 PM: I print 2HG seatings--actual seatings, since the table numbering hasn't been adjusted yet for the event's space. There are 23 teams total.

1:39 PM: The last slip in Round 1 of Standard Plus comes up. I also discover that the printed schedule I have is all wrong—it says that Legacy Plus is at 2:30 PM, but it’s really at 2:00 PM. The gap in the schedule is really at 2:30. I plan on sneaking away for French fries as soon as Legacy Plus fires off.

1:42 PM: I should drink more water.

2:02 PM: Legacy Plus pairings go out. I go get food. Yay, food!

Thursday, June 2, 2016

GP Charlotte 2016: Saturday (Swiss Sides)

While the events on the GP certainly impacted my day on Saturday (I spent some time on the GP stage and the events that started after 6:00 PM got absolutely wrecked), that wasn't really my focus for the weekend. My focus was on Swiss side events, and my scorekeeping buddy for the weekend was Jeff Darran (who has written a guest post here before!). Previously, I'd worked with Jeff directly at GP Atlanta last year, and he's awesome. Without him, Saturday would have been a giant mess.

Since the events that unfolded after the announcements from the main event that players would be able to drop for a free Infinite Challenge Badge were far more interesting than anything else that happened to Swiss events on the weekend, that's the story that I'm going to tell.

For a little bit of context, the initial afternoon schedule looked like this, including the number of players registered:
  • 1 PM — Sealed Challenge — 300 (226 were paired for Round 1)
  • 1 PM — Standard Challenge — 10
  • 2 PM — 2HG Sealed Spectacular (notably, not a Challenge) — 98 players
  • 2 PM — Vintage Challenge — 8
  • 3 PM — Modern Challenge — 95
  • 4 PM — Standard Challenge — 96
  • 5 PM — Legacy Challenge — 70
  • 6 PM — Modern Rebound Challenge — 144
As a part of the offer to GP players, a few more events were added to the schedule. Before those changes were announced, we had been told that there would be a new Sealed Challenge at 5:30 PM — less than an hour away. That was going to be a really tight deadline to prepare for that event, especially with the number of players the main stage was predicting we would have. By the time the new events were actually announced, that event had been pushed back to 6:30, which provided an extra hour to prep product and make plans.

These were the additional events:
  • 6 PM — Standard Challenge
  • 6 PM — Legacy Challenge
  • 6:30 PM — Sealed Challenge
  • 7 PM — Modern Challenge
The 7 PM Modern Challenge might seem a little out of place, but it was there to give players dropping from the GP (which was Modern) the option to get their six packs from the Sealed event and still be able to play Modern for the rest of the night.

When the schedule was finalized, Jeff and I had to start making plans, and the awesome judges on the side events staff had to find a place to put a Sealed event that might to get a thousand players.

Step One: Figure Out the Status of EVERYTHING

It can be tempting to respond to this kind of situation by focusing on the new things that need to happen, but there are some risks to that. It's unlikely that an event slips through the cracks because there are players and judges engaged with those events, but it is very possible that some details of active events are overlooked while making that plan, like where they're located, how many active players they have, and who's scorekeeping.

The first thing I did was establish that customer service couldn't make use of an extra person. At that point, all of the afternoon events I listed earlier were still on our plates, but one of us could have stretched a little to handle all of them, which might have helped with the massive line of players getting badges from customer service.

After that, we updated our notes on all the active events:
  • What rounds were they in?
  • Who was in charge of them? What HJs were on break? Was that going to change in light of the schedule changes?
  • What's the highest table number for each one?
  • When were the current rounds going to end?
This information is super important. When things aren't breaking, I might not keep tabs on when I expect rounds to flip because I have plenty of bandwidth to handle them flipping whenever. However, when things *are* breaking, I need that information in order to prioritize what I'm working on — how important is it that these slips be entered? What about slips from that other event? Can I afford to leave the stage to work with the sides leads and HJs on a plan? Are these events going to start their last round early enough to be off our plates around six?

One of the other things I made sure we did was sort and organize all the slips currently on the stage. This tends to be a low priority, especially for smaller events. That's not to say that there was a giant pile of rainbow-colored pieces of paper — there were some neat, tidy stacks of slips that were sorted by round, but not table number. As we ramped up to getting the new events fired and earlier events were wrapping up and prizing out, I wanted to make sure that we could find slips quickly if we needed to.

Some of this was delegated to judges (who, by the way, were awesome), and a few other tasks were delegated to judges as well, including setting up a station to let players redeem their playmat vouchers without having to stand in the massive line.

Step Two: Make a Plan

This was a little more challenging. The first thing we had to do was figure out who was scorekeeping which events. Jeff started the 5 PM Legacy event, which had been the plan since the beginning of the day. I still had the 4 PM Standard event, and we each had an event or two from earlier in the day.

Our initial plan was to split up the 6 PM events — I was going to take Modern, and Jeff was going to take Standard and Legacy. That would (roughly) split the players in those events between us. I was going to take the Sealed event at 6:30, and Jeff was going to take the 7 PM Modern event.

Then we got starting table numbers from the judges for those events — the Sealed event was going to start at table 685, with all the 6 PM events starting around table 1200. In short, this meant that the table range for the Sealed event was closer to the GP stage than it was to the sides stage, and the 6 PM events weren't much closer. I stepped off the sides stage to take a look, and it took me a good 45 seconds to walk to those tables.

That's a lot of time. That's especially a lot of time if you need to collect and communicate a ton of information about drops from the Sealed Challenge, especially if you're expecting a need to process 300 of them in half an hour (which, by the way, is basically impossible).

Fortunately, I had a brilliant idea: we set up a satellite scorekeeping station in the middle of the tournament hall. By "satellite scorekeeping station," I mean "a table with my computer and a printer." When we realized we needed to do this, it was about 5:45. Registration was closing in five minutes for the 6 PM events, and since they were roughly in the same area, we decided that I would just ... scorekeep all those things. I passed my remaining events (mostly the 4 PM Standard event) off to Jeff.

There wasn't enough time to move me, my computer and my printer to their new locations before starting the 6 PM events, so I started them from the stage. The judges on those events knew what was going to happen, so they were able to tell their players where their slips were going to go from the start. These rounds started a few minutes after six. This is going to be important later.

At six on the dot, when Round 1 pairings for all those events were posted and announced, I relocated. Steve, a member of SCG's OP team, joined me at my table to and got ready to enroll players in the Modern Challenge as they dropped from the Sealed event.

Step Three: Do ALL the Things

Sealed deck construction seatings went out at about 6:34, with Nicholas Sabin, Grand Curmudgeon of the Mid-Atlantic (read: RC), at the helm. There were 680 players total. Nicholas's team distributed sealed boxes of Shadows over Innistrad to every six seats — there hadn't been time to make sealed sets for 680 players.

I’d previously warned him that processing all the drops would probably take me 10-15 minutes longer than the build time of the event, and we had a plan to make it as efficient as possible.

Four judges were stationed at a table close to mine with copies of the player seatings, divided into four name ranges. After players got their packs, they could hop in line, highlight their name on one of the lists the judges had, and sign up for the 7 PM Modern Challenge (or not). Deck construction started at 6:45 or so. About ten minutes later, I traded the judges at that table a fresh copy of the player list for the one they had already, and I started processing drops.

The player list for the event was 16 pages long, and I went through a two full lists, plus a few random scraps of paper with stragglers who dropped only after seeing their pools, to process the drops. Partway through the first list, the last slips from the first round of all the 6 PM events made their way to my table, so I had to pause to flip those rounds (remember how I said this was going to be important?).

All in all, pairings for Round 1 of the Sealed Challenge were printed at about 7:25, almost 10 minutes after Nicholas announced the end of the deck construction period. That’s not ideal, but the only way to process drops from WLTR is one player at a time — in theory, you could edit the file you use to import players to remove the drops and then re-import it into a fresh event file, but then you wouldn’t have a record of the players who dropped in the file. Given the circumstances, I wasn’t terribly upset with the amount of time it took.

A total of 234 players indicated that they were dropping before Round 1, which meant that the round paired with 446 players. There were quite a few no-shows that round, more than is usually for the Sealed Challenges, and I suspect it was the result of players either not knowing how to drop or not wanting to wait.

Step Four: Sleep

Everything was downhill after Round 1 paired. At that point, the four events I was responsible for only had about 650 players combined. Nicholas sent the judges on his team on half-round breaks in the early rounds, and the sides leads worked on getting the people who were coming back early on Sunday off the floor for the night after that. Eventually, Nicholas himself took off and Casey Brefka took over for the last round and a half of the Sealed Challenge.

After Round 4 was paired, Casey and his team helped me break down my satellite station and carry things back to the sides stage. Since the players were taking their Round 4 slips to customer service to pick up prizes, I didn’t need to hang out in the middle of the hall.

Everyone was exhausted, and even though they were doing their best to maintain the level of energy necessary to close out the night, it was obvious. I left the hall sometime after midnight, made the short trek back to my hotel room, and passed out.


I woke up on Sunday to do it all (albeit without all the craziness) again.

Tuesday, May 24, 2016

GP Charlotte 2016: Saturday (The GP)

Well. That was a weekend, wasn't it? I'm still not quite awake. I mean, I'm awake, but I feel a bit like a zombie.

I do, however, want to get this post out there while the conversations about the GP are still fresh. There's a pretty substantial knowledge gap around tournament software--you know, the thing at the heart of the long delays and ever-shifting information that players in Charlotte experienced.

I was the scorekeeping lead for Swiss side events (which got blown up by the influx of 700+ players with Infinite Challenge badges), and I was sent to the GP at the end of Round 4 when they thought the initial problem was fixed to help Kristin and Patrick (the GP scorekeepers) get through the backlog of result slips for the round. I chatted with Kristin on Sunday. My understanding of what happened on the GP is based mostly on that conversation and my own experiences scorekeeping large events, but it does shed some light on some important questions that came up, like why backups weren't an option and why tiebreakers carried over to Day 2 despite previous announcements to the contrary.

Before I get into those things, though, there's some important context. I'm not writing this as a defense of or as an excuse for the things that happened in Charlotte. As much as we (we being everyone on stage--outside admins and SCG staff) tried to make the best out of a miserable situation, I understand that it was exactly that: a miserable situation. It's not the event experience that we wanted to create for the attendees of the Grand Prix, and that's a pretty awful feeling to come home with. But it happened. Instead, I'm writing this to (hopefully) shed some light on the circumstances that led to it all.

The Unholy Trinity: DCI-R, WER, and WLTR

There are three different pieces of software that have been developed and used for Magic tournaments. Most people are most familiar with WER, or Wizards Event Reporter. This is the software that's used at your Friendly Local Game Store. DCI-R (the R stands for Reporter) used to be used for large events like GPs and SCG Tour events, but it was replaced last year with WLTR, also known as Walter or Wizards Large Tournament Reporter.

WER

When WER came out, the goal was for it to be used to run all events, but it doesn't scale very well. The results entry interface in WER is kind of awful (read: inefficient) for scorekeepers who don't use hotkeys, which is about half of us. Instead of switching over, GPs continued to use DCI-R until last year, when the switch to WLTR happened.

WER is also missing some important functionality for large events--for example, you can't edit a player's DCI number. That may not seem important, but the sheer magnitude of events the size of GP Charlotte means that EVERYTHING that can happen does happen, and that includes players signing up with the wrong DCI number.

DCI-R

When DCI-R was developed, no one imagined that a Magic tournament would ever have more than 2,000 players. It was an absurd thought, and that was the cap they set on the number of players in a single event. If you remember the (recent) days of GP Day 1 splits, this is one of the primary reasons. The other was that DCI-R didn't support multi-point data entry, which means that you could only have one scorekeeper, in front of one computer, working on a given event. The number of people who can effectively scorekeep an event that size is pretty limited. When events started to get bigger, with 2,000+ players being the norm instead of a crazy exception, this model clearly wasn't sustainable.

There's one other thing that's important to understand about DCI-R. Going around the software's interface was really easy. The tournament data was stored in a series of .dat files, and as long as you knew what each column of each file meant, it was easy to manipulate the files directly if you couldn't do something through the interface. An easy example of this is the starting table number of events--999 was the highest number you could set (because you wouldn't need more than that for 2,000 players, right?). However, if you saved and closed the tournament, you could change the starting table number in the event information file to whatever you wanted and everything worked just fine.

This is the reason that DCI-R worked (reasonably) well for large events--there were workarounds for the restrictions that existed as a result of the player cap.

But, DCI-R doesn't interact with the organized play database. You can't use it to sanction or upload tournament data, and it doesn't connect to the player database to verify DCI numbers and byes.

WLTR

WLTR is WotC's solution to the problems with DCI-R and WER for giant tournaments. It does a lot of cool things, like let you enroll more than 2,000 players in one tournament. It also lets multiple scorekeepers at multiple computers work on the same event, which is insanely important as attendance creeps up. It has a lot of the features that large events need that are missing from WER, which is awesome.

When using the multi-entry option, one computer is the "main" computer and the rest are "slaves" (yeah, I know...we have the best lingo for these things). Bad Things happen when you try to advance the event (seat for the player meeting, pair rounds, perform a cut) from one of the slave computers, but you can do basically anything else, like entering results and dropping players.

However, WLTR keeps tournament data stored in a different way, and editing it directly isn't as easy as editing the .dat files that DCI-R used, and pinpointing problems can be a little bit trickier (read: a lot). It's also still new. My first experience with it was last year at GP Atlanta, which was one of the first GPs that used it exclusively.

So, What Happened on Saturday?

When Round 4 of the GP was paired, players noticed that they didn't have the correct number of match points--no one had more than three. Obviously, this is a problem after the third round, when tons of players had two- and three-round byes, not to mention the players who, you know, won matches of Magic: the Gathering in the first three rounds.

From what I understand, the rounds that were paired randomly weren't entirely paired randomly--they were paired based on these incorrect numbers of match points. Since two rounds of match points were obliterated by the tournament software, that means that instead of being paired in their brackets, players were paired up to two brackets up or down. Players at 3-0 were paired against players at 3-0, 2-1, or 1-2.

WLTR has what's called the player card. It shows each player's opponent from each round, the table they played at, and the results of the round--it's a great quick reference for troubleshooting when a player says that their results were reported incorrectly. Despite the match points being wrong for most of the players in the event, the information on the player cards was correct. This means that the results were all still there, WLTR just wasn't calculating match points for the second and third rounds, and it was pairing based on these faulty match point totals.

What caused it?

I'm not really sure. This is Kristin's theory:

There was a player in the event who wasn't correctly assigned byes, despite having a Sleep in Special. At the beginning of Round 3, he showed up to the stage because he couldn't find his name on the pairings.

Stuff like this happens all the time. Patrick (who was on the "slave" computer) re-added him to the event and fixed his results from the first two rounds. WLTR crashed. This didn't raise any red flags at the time because WLTR crashes, well, a lot. You just re-open it, and everything is Fine. Most of the time. That seemed to be the case this time.

Except, then the round finished, Kristin tried to pair Round 4, and everything went to shit. There was some confusion about whether the pairings were correct because the player cards had accurate match results.

Reverting to the back-up from the end of Round 3 and re-pairing Round 4 didn't fix anything because the trigger for the problem happened, effectively, rounds earlier. Moreover, the data (match results from the previous rounds) was still there, it was just unusable. Re-creating the event from Round 1 would have taken hours--in addition to re-entering all those results, each round would have to be manually paired in the software, and there's no quick or easy way to do that in WLTR.

The folks on the main stage got on the phone with WotC and sent copies of the tournament file to them to see if they could figure out what the problem was.

Eventually, there was an announcement that these pairings, and the pairings for the rest of the day, were going to be random. Anything else was going to take way too much time. Round 4 started with random pairings because that was the only way to start Round 4.

So what about after that?

At some point during Round 4, it seemed like the issue had been resolved. There were about 12 minutes left in the round when I was sent to the main stage to help Kristin and Patrick hammer through the result slips from the round so they could get Round 5 paired ASAP.

Even though it looked like things were going to be okay, there were some players who were already understandably upset--they had lost to players they shouldn't have been paired against, or their tiebreakers were adversely impacted by a huge pair down. The discussions had already started about what to do for these players.

Pete and Jared decided to let players drop for a free Infinite Challenge badge, and they added some events to the side events schedule. By this point, it was late in the day, and most of the Challenge events had fired; these events gave the players who were dropping more options for the rest of the day.

There were about 700 drops, and processing them took a huge amount of time. Round 5 was paired, and it looked like the match point issue had been solved.

But it wasn't. When Round 6 was paired, the same thing happened again.

The Ever-Changing Announcements

I've been reading some of the Reddit threads and FB posts in my local playgroups, and the thing people seem to be most frustrated about is that the information they were given was constantly changing. That's true. Random or Swiss pairings? Ten minutes until the next round or twenty or an hour?

It sucks. No, really. It's awful.

Communicating in these kinds of situations is difficult. You want to get information out there so everyone knows what's going on, but it's hard to estimate how long it will take to actually get everything done.

The biggest hold-up on getting the Infinite Challenge Badges in the hands of the players who wanted to drop from the GP was the lack of label printers for the badge bar codes. We had more people on stage--Jeff was my Swiss scorekeeping buddy, and I took his events to free him up to help with the customer service line--but there wasn't a label printer for him. Instead, he handed out prizes to players finishing their Challenge events, traded playmats for vouchers, and did pretty much anything else he could that wasn't print an Infinite Challenge Badge bar code. Kristin and Patrick were also slammed trying to get all those players dropped from the GP event before Round 5.

The flip-flop on whether the rounds were going to be paired Swiss-style or randomly was based on the changing understanding of the tournament status that the event staff had--was the problem fixed, was it not fixed? After Round 4, it seemed like everything was back to normal. A few rounds later, that was clearly not the case. Going into Round 7, things were back to normal. For real this time.

Day 2 Tiebreakers

At several points on Saturday, the GP stage announced that tiebreakers from Day 1 wouldn't carry over. This is good and bad--it means that the players who had been paired down in the two rounds that were paired randomly wouldn't be punished for the impact that had on their breakers, but it also meant that the players who went undefeated on Day 1 wouldn't be rewarded for that if they did not-so-well on Day 2.

Regardless of the pros and cons, both of which are many and varied, it was the announcement that was made.

Here's the thing: it was impossible to wipe tiebreakers from Day 1 with WLTR.

Wait, what? Isn't that what used to happen on Day 2 of giant GPs by default?

Yes. But, remember what I said about DCI-R and the workarounds for events with more than 2,000 players? The fresh Day 2 tiebreakers was a side effect of one of those solutions: Day 2 was run as a completely separate event. Everyone was awarded a bye for the first round of Day 2, and they were assigned a number of match points for that bye equal to the number of points they earned on Day 1. This is just one of those crazy things that you could force DCI-R to do.

But WLTR can't do it. Why would you need to anymore? No event will ever have to split again, so there's no reason to need to create a new event and carry those points over. WLTR assigns 3 match points for a win, 1 for a draw, and 0 for a loss.

There's sort of a way to do it. You'd have to re-create every round from Day 1 and assign each player a bye or loss (rather than pairing them and entering a result) to get them to the correct number of match points. This way, they aren't associated with any opponents, so there are no tiebreakers to calculate. This has two problems: it would have taken literally forever, and there's no way to assign a player a draw.

On Tournament Software in General

Many of the responses to this issue, and the issues that have come up in the past as a result of tournament software, have included comments about developing "real" tournament software.

None of these programs are perfect by any stretch of the imagination. Far from it. DCI-R had fewer problems not because it had fewer problems, but because it had been around so long that the people using it knew how to work around them (like, you know, splitting GPs and editing files directly).

One of the big problems with developing these kind of programs is that the people writing specs and code aren't the people using them. They don't know what needs to be possible, like changing DCI numbers--if you've never scorekept an event, it's easy to imagine that you would never, ever need to change a player's DCI number. WLTR was developed with input from GP-level scorekeepers, and it does some pretty exciting things. However, the attitude toward many of the issues that have cropped up has been "that's probably a one-time thing" or "why would that be a problem?"

It mostly works. It's good enough, most of the time, But, the times when it's not, these are the kinds of things that happen.

Tuesday, March 22, 2016

GP DC 2016: Friday

Welcome back! The saga of scorekeeping Swiss side events at Grand Prix: DC 2016 continues this week. As I mentioned last week, the Tale of Friday comes in three parts:
  • Pairings board signs
  • Events that start on time (and why some don't)
  • Three stories
If you haven't read the first post in this series, I recommend that you do. It provides some context for the things that happened over the course of the weekend.

Also, you'll get to read the story of how I killed Shift, one of SCG's event printers. Late last week there was an important update to that saga: Shift lives! He's probably still recovering from his ordeal, but at least he's not dead-dead.

Yet. When's my next event on stage for SCG? May?

Pairings Board Signs

The table numbers for the weekend were set up by SCG when I arrived in the hall early on Friday, and they were glorious: each tent had two numbers on it, a traditional table number and a match number. The same match number was used for three consecutive tables, along with an A, B or C designation for which player was supposed to occupy each seat.

I mention this because these numbers snaked through the entire hall, and the events I was scorekeeping were placed at the high-end of the table numbers — most events started in the 2500s or 2600s.

On top of that, our use of pairings boards was limited. There were two or three designated for side events use, which means that events had to share pairings boards. Each board had 12 slots for sheets of paper, but we had to make it easy for players to figure out what bits of information posted there was relevant for them.

About the time that each event started, I gave the head judge a stack of papers. These were printed on the color paper that matched the match result slips for the event:


Oh. There were also schedules and prize payout signs on the pairings boards too!

These signs are super basic, but they get the job done. Each HJ got one copy of the sign on the left and four of the one on the right. Some of the larger events, like the Sealed Challenges and the Foiled Again! on Friday night, posted their pairings on two different pairings boards. Those events got twice the signage. Yay!

The slots on the pairings boards (which are just giant-sized top loaders) comfortably fit several pieces of paper, so they could hang up all of them at the beginning of the event and toss them as each round finished.

These signs, combined with the giant Gathering Point banners that now come in the GP kits, made it pretty easy to direct players to their seats. I pointed about a billion players to the round end signs over the course of the weekend, too: I tried to make notes of when I printed pairings for each round, but that only gave me a rough idea of what the round end time would be.

This brings me to a bit of advice if you're responsible for an event that's using these kinds of signs: make sure you announce at the beginning of the event that you'll be posting this information. Your players will appreciate knowing where to go to find the answers to their questions.

Events that Start on Time

For the most part, I had signs created for all my events at the beginning of the day, usually just before the first event fired. Once I've made the template and started printing things, it's easy to make the small tweaks for each other event. More importantly, it's something that each event needs to get started, and by doing it early, I won't have to remember it for the rest of the day.

Small things like this make it much easier to get events started on time. The other, biggest thing that helps is closing registration on time.

At SCG GPs, event registration closes ten minutes before the scheduled start time of the event. If you're in line by that time, you can sign up, but no one else can hop in line. This is super, super important. Ten minutes gives the awesome folks at registration enough time to get through those last few players (and some times "few" really means "dozens"), and it gives me time to get the tournament files set up and seatings or pairings generated and in the hands of the event's judges.

The "Tournament Files" Part

To start each of the Swiss events, I had to export a player file from SCG's registration system and import that file into WER or WLTR. Often, this process is pretty simple:
  1. Confirm with the registration stations that everyone's signed up.
  2. Click the export button.
  3. Save the file in the event folder.
  4. Alt-tab into the appropriate bit of tournament software.
  5. Press the import button.
All in all, it takes a minute or two. If the event is large, exporting the player file might take a little bit longer.

Sometimes, if you're me, you forget that the main event gets exported by default, so you have to twiddle your thumbs while your computer generates a .csv file with data for 3000+ players and their team affiliations, but we're not going to talk about that. Much. It only happened twice. OK, maybe three times. Maybe.

Two-Headed Giant events, on the other hand, are the absolute worst. Creating events for those is ... well, it's an adventure (and the headline of my Saturday post, so stay tuned).

After the import, it takes a few more clicks to get to seatings or pairings printed. Those have to be walked to the pairings boards, and someone has to make an announcement that they've been posted.

None of the pieces of this process are particularly time-intensive, but each one does take some time. If registration stays open until the scheduled start time of the event, there's no way that it's starting on time. Even if registration closes on time, there's a chance that Something Wonky happens, and the event starts a couple minutes late.

My pile of Friday match result slips.

So, signs have been created beforehand and registration closed on time and I have a functional tournament file. What else is there?

Starting Table Numbers

This is where side event judges can help their scorekeepers get events started on time. I need to know where to put this event.

In WLTR, once you've seated or paired the event, you can't change the starting table number. (Well, OK, you can, but it's has consequences, especially for limited events. Just pretend that you can't.) This means that I need that information ASAP.

In an ideal and perfect world, I have the starting table number for an event as soon as the one before it is seated. This makes sense, right? As soon as you know what the last table number for the noon event is, you can figure out where the 1 p.m. event should go.

That's not always the case, though. Lots of factors can influence what space you want to use for an event:
  • The number of players
  • The number of other events firing at the same time
  • The number of players in those events
  • The events that might be wrapped up (but also might not be) before this new event starts
Because WLTR makes it harder to move events than either DCI-R or WER, it's important to keep these things in mind when you're finding a spot for each event.

I'd prefer to have a tentative table number for that 1 p.m. event at 12:15 than a definitive one at 12:59:59, especially if you know under what circumstances and how that number might change.

For example, if you have an ending table number but don't know how many players are signed up, let me know that. Worst case, I can't do math, but my computer can, and I can figure out the starting table number for you or help you adapt your plan to whatever's going on.

The Friday Verdict

Friday started off on the right foot. The 11 a.m. Legacy Challenge fired on time. The Vintage Challenge started a few minutes late, but that was because we were short players and had to recruit a few more to sanction it.

The 4 p.m. events also started a little bit late because the registration system blew up. By "blew up," I of course mean that there was an update to it to fix something that was causing issues, and the update kicked everyone out. Naturally, this happened at about 3:48. Some not-panic ensued, and after the update went through, it took a few minutes to get things back up and running.

Everything else that ran from the Swiss section of the stage went out on time on Friday, which is kind of a feat by itself.

Three Stories

All three of these are player interactions. Scorekeepers interact with hundreds of players in a day, from the all-too-common "Does my slip go here?" to problems with match points and event registrations. Those things are pretty mundane. Only the wonky thing end up in my notes, and these are the highlights from Friday:

#1: "My name's not on the seating."

At first, this one seemed to fall into the mundane category. A player who had signed up for the Sealed Challenge wasn't on the seating assignments. He had an Infinite Challenge Badge (which means that he could have registered for free), so I didn't need to try to figure out whether he had actually paid for the event. Instead, I was just going to add him to the tournament and send him to his seat with six packs.

Some background is necessary here. When players pick up their Infinite Challenge Badge (which is card-sized laminated card that can hang from a lanyard), a small sticker is placed on the back of the badge. This sticker has a bardcode that's tied to the player's DCI number, and the registration stations had scanners to read it. The sticker also has the player's name and DCI number printed on it.

This player's badge didn't have his name or DCI number printed on it — it had someone else's.

Well, I thought, that's interesting. I poked around a bit to verify that this player should have had a badge, and it turned out that Customer Service just printed the wrong sticker for his. I checked, and the player whose name was on his badge was registered for the event.

I thought that maybe that player wasn't actually in the event, and just made it into the file because this player's (incorrect) badge had been scanned.

Nope. They were both supposed to be signed up. No problem. The judges seated the payer whose name hadn't shown up, and I tracked down an appropriate replacement sticker for his badge.

As it turned out, he wasn't the only player to experience that problem over the weekend. From what I was able to discover, it seems like one of the Customer Service printers had somehow gotten off by one sticker for a little while on Friday morning, so players were getting the sticker that should have gone to the player in front of them in line. Most of them caught it quickly because they noticed that the name and DCI number on the sticker were wrong.

Some of them hadn't caught on right away, though.

#2: "My name's not on the seating."

Well, this sounds familiar, doesn't it?

Completely unrelated to this particular story, I had problems all weekend with people who didn't realize what the drop box on the match slips were. WLTR slips look pretty different than the ones from DCI-R and WER, and in addition to people accidentally dropping themselves because they thought they were supposed to initial there, there were all sorts of other weird slips turned in. But, I digress. Back to the story.

This is what slips generated by WLTR look like. They print a little bit differently, but it's close.

When this player gave me his name, I recognized it as one of the no-shows from the previous round. I dug the slip out of my pile (which I hadn't gotten to sorting yet), and showed it to him.

He seemed ... perplexed, and then insisted that he had, in fact, played a match. He even signed the slip. Not the no-show slip with his name on it, obviously, but he had definitely signed a match slip.

He recalled that he won the match and his opponent had dropped, so I flipped through the slips that had the loser dropping. The event was on the small side, about 50 or 60 players, so there were a handful of those, and it only took a minute to find the one with his signature on it. He understood what had happened: he sat at the wrong seat and filled out the slip for a match that he wasn't a part of, all without noticing that his name wasn't on that match slip.

No big deal. We can fix this. I got him back in the tournament and paired him with the player who had the bye — because the Challenge events awarded points based on record, a bit of a mismatch wasn't a Problem.

I also had to explain that, even though he won the match he played, that wasn't a match as far as the tournament was concerned. He had been assigned a match loss for that round, and that would be reflected in his match points. I also had to adjust the result that was reported on the slip that he filled out.

#3: "I want to give my opponent the win."

Players can't be enrolled in more than one Challenge at a time. In order to sign up for one, they have to be dropped from their previous event. Some players didn't know that when they went to sign up for their second event of the day, but most of them were fine with it.

One player felt really bad that he had beaten his opponent and was then dropping from the event. That didn't feel right. The least he could do, now that he knew he wouldn't be able to play anymore, was concede.

But, they had already turned in their slip. At that point, the results of the match were final. This is enforced for lots of good reasons: we don't want players going out into the hallway, threatening or bribing each other, and then coming back in to change results. That concern doesn't extend to this case, but the policy is still the same: once you've filled out and turned in the slip, the result is final.

[Side note: There's actually quite a bit of nuance to the point at which a match result is final. Most of that conversation is impractical.]

He just didn't want to be That Guy. I explained what the rules are and why, but I also pointed him toward Kali, the event manager. I expected that she would give him the same answer that I had (spoiler: she did), but I thought that this was one of those situations where escalating would make him feel like we understood what he was trying to do and wanted to make it work.


The Future!

I have two more days from DC to write about. The most "exciting" thing that I did on Saturday was start the Two-Headed Giant event. That was in WER, and it gives me an excuse to talk about how you can edit players and teams in a 2HG event :D

BUT ... before I can get to the Saturday and Sunday reports, I'm going to be putting up a post about End-of-Round. That post ties into a seminar that I'm presenting this weekend at the Northeast Spring 2016 Judge Conference with my roommate and Area Captain, Eric Dustin Brown — who will also be writing a complementary blog post. Both of those will be up on Thursday night, and you can look also look forward to some seminar reports after the conference. If there are specific things you want to ask about EOR, let us know!

(Did I mention that Shift isn't dead? :D)

Wednesday, March 16, 2016

GP DC 2016: Getting Started

At around this time last week, I was looking forward to venturing a few hours north for GP DC. It was shaping up to be pretty big, even as far as GPs go. From my comfy seat in the present (which is a couch at a friend's house), it turned out to be exactly that: more than 3.000 players teamed up with their friends to wade into Battle for Zendikar Sealed.

Somehow, I have a habit of finding myself at giant events, which works out: they're way more interesting than smaller events.

The Challenges were my domain over the weekend: along with Meg Stephens, I was on Swiss sides scorekeeping. As was the case in Philly a few weeks ago, we were doing this in WLTR (except for the Two-Headed Giant events, which you'll hear more about later - a lot more).

Meg is fantastic, so I was prepared for this weekend to be relatively easy despite the player count. We had a spot on the side of the Customer Service stage with one seat facing front and one seat facing the side. This gave us enough spaces for laptops, printers, notes and elbows. Meg took the front of the stage on Friday and Saturday, and I took the front on Sunday (because there are only so many times you can tell players that their slip also goes in the box before you go crazy).

Splitting Events

Because no one gets byes in Team Sealed GPs, there weren't any grinders to run. Star City Games filled that spot on the Friday schedule with flights of Team Sealed events and Team Sealed Spectaculars for prize wall tickets. Those events were run from the GP stage, as was the Two-Headed Giant event.

Additionally, the Super Sunday Series events and IQs on Sunday were run from their own mini-stage on Sunday, with Jeff and Kristen scorekeeping. That left Meg and me with the Challenges all weekend, including the team events on Saturday and Sunday. We divided them up between us. On Friday, my event list looked like this:

I swear those last two events are done. Really.

There was some method to the madness: we alternated launching events. I took the first event of the day, which started at 11 am (doors opened at 10), and we went back and forth down the list until we got to the 6 pm Foiled Again event.

SCG's schedule was packed with Challenges, and multiple events were firing at the same time in the busiest parts of the day. On Sunday, Meg had to start two events at once (more on that when we get to Sunday), but we otherwise managed to avoid that.

Splitting Paper Colors

I love colors. If you couldn't tell that by the number of colored pens I have at an average event, you can probably tell by the number of colors that tend to show up in my notes.

Colored paper is the sweetest tech for scorekeeping multiple events. It makes it super easy to distinguish slips from different events, which is extra crucial with how inconsistently WLTR prints match result slips. We had four colors (pink, yellow, green and blue). I had pink and blue on Friday, because cotton candy. Meg had yellow and green, because daisies.

There was some overlap throughout the day. For example, the 1 pm Sealed event was still going on when the 4 pm Standard event started, and they were both on pink paper.

Turns out that the second-sweetest tech for scorekeeping multiple events solved this problem pretty handily: a highlighter stripe down the match result slips for the Standard events until Sealed was finished.

If you don't have a highlighter handy, a sharpie or marker works just as well--anything that can make a bold line will do, and it doesn't necessarily have to be colorful. Unsurprisingly, this also works amazingly well if you only have white paper for multiple events.

Some Technology Stuff

Dropbox Files

This was a fun one! I prefer to scorekeep on my own laptop rather than using one of the admin laptops provided by SCG. It's familiar, I know where my files are, and the keyboard is awesome. It's also a little bit faster than the admin laptops, which I find pretty important. At the beginning of the day, Meg and I needed access to the Dropbox folders that SCG was using for each event.

That sounds way easier than it turns out to be*. See, you have a couple of options when you're sharing files with someone by email with Dropbox. One of them, the one we wanted to use, actually adds the new user to those folders and files, which means their changes and additions will sync across all the computers with access. The other just creates duplicate versions of them for that person's Dropbox that they can see and edit but that don't affect the original files.

Guess which one we started with? Hint: it wasn't the one that let anyone else on stage see my tournament backups or exports. Whoops.

We figured that out, and Kali, the event manger, shared the root folder for tournament files with us. That folder is enormous. It was too big for Meg to add to her Dropbox without going over her storage limit, so Kali made a new folder, with just the files we needed for the weekend, and shared that with us instead.

*Okay, it isn't really that hard. We just made it extra hard, because why not?

I moved this sticky note around in 
my notebook all weekend :D

RIP Shift

"Shift" is the name of one of SCG's printers (they're all named to make it easy to figure out which printer you need to set as your default), and before there were event players in the room on Friday, I killed him.

Okay, that might be a bit dramatic. There was still some hope for him last time I checked. (I should have prefaced this story by pointing out that I have a miserable track record with printers.)

We had an all-hands meeting at 8 am, two hours before doors opened. It lasted about an hour, which gave me two hours to fiddle with laptops and printers and paper and whatever else I needed to fiddle with before the first event of the day started. Most of that time was spent updating software, which had to download on super-slow Internet, but I also had to get my computer to print things to Shift.

I succeeded at that, by the way. I installed drivers and set him as my default printer and printed a test page and everything. I was set.

And then I opened the paper tray.

And it wouldn't close again.

And now Shift is dead. Maybe. At the very least, his paper tray is still recovering from having gotten very, very stuck.

*sniff*


Next up: Friday, featuring pairings board signage, events that start on time (and some that don't), and three stories.

Thursday, February 18, 2016

Being An Effective Line Captain

Judges interact with scorekeepers and stage staff at many different crunch times throughout a tournament. For some of these interactions, the urgency is readily apparent: pairings or result slips are printing and need to be posted or someone has a problem that only someone on stage can help them with. In these cases, the impact of not approaching these tasks with purpose is evident. Pairings don't get posted. Players are left waiting and wondering who's going to help them.

There are some interactions that don't have such an obvious impact on the event, though, and these are equally important. Line captaining seems simple enough, but the difference between a good line captain and a bad one can be the difference between the event starting on time and starting late.

What Do Line Captains Do?

As a line captain, you're an ambassador to the players who are registering (or collecting prizes or filling in tax forms). You're their gateway to signing up (or picking up prizes or whatever) in as little time and with as little fuss as possible.

Your job is to help keep the line at registration (or maybe prize payout or some other function that requires a bunch of players to talk to a few people on stage) moving quickly. You'll wrangle players into a single-file line or guide them to the appropriate line if different stage stations are managing different processes. Essentially, you're directing traffic.

You're also often the first point of contact a player has when he or she walks into an event, which means that you'll have to field common questions like "where do I sign up?" and "where can I get a deck list sheet?" It's important that line captains are equipped with the information they need to answer these questions or point players to the person who can.

As with many kinds of choke points, having ineffective direction can be worse than having none at all.

So, what makes a good line captain?

Find Out What You Need to Know

I asked Eric Dustin Brown, whose line captaining abilities I respect immensely, what he would tell a judge line captaining for the first time if he could only tell him or her three things. His answer was pretty telling:


  1. Learn who is signing people up for what.
  2. Learn which way the line forms.
  3. Learn what information the players need.

The most effective line captains are equipped with information. It's hard to direct players to the right place if you don't know where the right place is. The first thing you should do when you're asked to line captain is find out what the players need to know so that you can tell them.

Learn who is signing people up for what.

If multiple events are open for registration, such as On-Demand side events and the main event, different people may be taking registration. There might be a dedicated registration person for side events, but he or she might also be taking main event registration while there's no one in the side events line.

The more you know about the registration process from the stage side, the easier it will be to direct players to the correct spot. No one likes being bounced around from station to station to do what they're trying to do.

It also may be important to find out which stations can take credit card registration, if that's an option. Many organizers only have one or two credit card machines, which means that not everyone can handle those registrations. The same is true for DCI number look-ups or special kinds of registration, like vouchers or players with byes.

Learn which way the line forms.

In some venues, there will be rope lines and stanchions to make a neat and tidy line, but that's not always going to be the case. If you're tasked with line captaining when a line has already formed, it's better to work with what the players have set up (unless it's getting in the way of something else, like the door to the room or bathroom). Otherwise, you'll have to devise a plan for the players who are waiting.

When you're trying to figure out where to have players wait, keep the layout of the room in mind. Where are they least likely to get in the way of other traffic? How long do you expect the line to get, and will the space you have accommodate that line easily? Will stage signs still be visible to other players in the room?

Learn what information the players need.

When they get to the stage, what should they have ready? This list almost always includes their DCI number and their event entry fee. Some organizers use registration slips, in which case players will need to have those filled out before they get to the stage. Other organizers just have players type their DCI numbers into a keypad.

Beyond just knowing what players need, it's important to make sure that they have those things ready before they get to the stage. If someone has to dig out their DCI number, it's better to send the person behind them to the stage while they find it. A player digging through their wallet or bag in front of a registration computer delays the entire line; a player digging through their stuff off to the side delays only themselves.

If a player doesn't have something that the need, be prepared to help them get it so they can get through the registration process. For example, know who can help them find their DCI number and where the closest ATM is.

The Two-Player Rule

This is one of my pet peeves, so it gets an entire section all to itself.

When the front of the line is a few steps from the registration stations, keep two players in front of each station. Yep. Two.

Why?

It takes time for a player to walk from the front of the line to the next available admin, and that's time that could be used to register someone. Two-person lines aren't going to make things significantly messier in front of the stage, but they can drastically speed up the registration process by maximizing how much time each of the stations can use to actually get people signed up (or prized out, etc.).

Responding to the Needs of the Stage Staff

Sometimes things happen on stage. Someone has to deal with a laptop that isn't working or step away talk to the venue representative. When something like this happens, I try to let my line captain know as soon as possible, but sometimes noise, distance, or the urgency of the issue get in the way.

As with most other judging tasks, awareness is key. When you're line captaining, this is awareness of players, the stage staff, the clock, and any other judging obligations you have, like team meetings. If you think something weird is going on that might affect who can take registration, just ask. If you think there's a better way to be doing something, suggest it. If it's simple, you can probably just do it.

Awareness is more useful when it's paired with communication, and that goes both ways. If you need something, like to step away from the line for a minute, or notice Something Bad happening, say something.


When I'm on stage during registration, I'm in a tiny little world that consists of my computer and the player in front of me. Sometimes that world includes the other people on stage or a player sneaking past the line to ask a question. Sometimes I have time to glance up at the line, but I'd prefer to spend that time with my head down, signing players up for their events. The more time I can spend doing that, the less time they have to stand around waiting.

And the less time you get to spend line captaining.