Pokemon Go Fest Chicago was supposed to be a fun-filled celebration of the mobile game’s one-year anniversary, but it quickly went south when network and server issues caused the app to become virtually unplayable for most of the 20,000 people in attendance. Thousands of unhappy customers quickly began to heckle the game’s panicked developers and throw trash on stage, and Niantic has now been forced to issue refunds, though this did little to cool off those who traveled far and wide for one of the most legendary failures in recent video game history.

Things got off to a rocky start almost immediately on Saturday morning, with thousands of gamers who paid $20 to attend Pokemon Go Fest not being able to play due to network problems. Primarily the issues were experienced by Verizon and AT&T customers; those on Boost and Sprint had a bit more luck. Wi-Fi was not available at the event.

How to simulate #PokemonGoFest 1. Go outside

2. Enable Airplane Mode

3. Launch the Pokemon Go App — Chadtronic (@Chadtronic) July 22, 2017

Gamers immediately took out their frustration on Niantic by chanting “Fix the game!” When Niantic CEO John Hanke took the stage, he was met with deafening boos.

lol, people booing at Niantic CEO John Hanke on stage at Pokemon Go Fest because the game is unplayable for many attendees pic.twitter.com/QFZQTiMRxr — Wario64 (@Wario64) July 22, 2017

Hanke subsequently ensured players that Niantic was hard at work trying to get things up and running. After he left, he was never seen again for the rest of the festival, at least not on the stage; a different member of the Niantic team provided the rest of the updates.

Soon, Pokemon Go Fest’s host, Rachel “Seltzer” Quirico, came out and said that this is a long event and that nobody should worry because everyone will have a chance to participate, but Chicagoans were hardly sympathetic, once again booing and jeering.

The day was built around “challenge windows,” three half-hour periods during which players were encouraged to catch as many Pokemon as possible in order to unlock bonuses. Their progress was broadcast over a giant screen and over a YouTube and Twitch stream. But the first challenge window came and went without players being able to unlock the bonuses, mostly because they could barely play the game at all without it crashing.

Around 12:30 p.m. CDT, after two-and-a-half hours of the game experiencing widespread issues, Rachel Quirico and her co-hosts took the stage to casually chat about Pokemon Go as if everything was going fine, but their conversation was drowned out by the sound of players booing and yelling “We can’t play!” After about 10 full seconds of this chant growing and growing, Niantic adjusted the audio levels on its live stream in an apparent attempt to mute the sound of the crowd’s revolt. A second “We can’t play!” chant broke out moments later. The hosts at first tried their best to ignore what was happening around them, but Quirico then informed the crowd that Niantic would be removing the visual of lures in an attempt to decrease server strain. Clearly, that did not work.

Niantic ceo assures server issues “will be resolved today” despite troubled attendees at #Pokémon go fest pic.twitter.com/5Q4lpBDWHs — nickatnyte (@nickatnyteYT) July 22, 2017

Some unhappy campers at #PokemonGoFest – Son got on with Verizon, can't login with AT&T :( pic.twitter.com/uJlc1rZ71W — chip sineni (@chipsineni) July 22, 2017

Ten minutes later, Niantic Chief Marketing Officer Mike Quigley arrived to inform fans that there were three issues they were dealing with, two of which were on Niantic’s side and one of which was an issue with a cell provider. He said that Niantic was working on these problems, but he had no estimate of when things would be fixed. Those in Chicago booed Quigley as soon as he was introduced, and they booed him again when he left the stage.

“We’re working on it, and we’ll give you an update when we’re closer to having it fixed,” Quigley told an increasingly livid Grant Park.

Shortly after 1:00 p.m., Niantic tweeted that they were aware of the issues in Grant Park and were working to fix them. Once again, there was no estimate of when these problems would be resolved, if they were to be resolved at all.

Trainers, we’re aware of server and connectivity issues impacting #PokemonGOFest and are working as quickly as possible to address them. — Pokémon GO (@PokemonGoApp) July 22, 2017

Outside of the network and server issues, fans also complained from the beginning about the long lines at Pokemon Go Fest. Tickets were required to attend the event, and in order to be let in, attendees had to line up and receive a unique QR code. Presumably, this was to prevent spoofing. But the crowds were so massive, and the number of people giving out QR codes was so low, that a substantial chunk of players remained stuck in line hours into the event as the challenge windows began and ended; they therefore missed their opportunity to participate in part of the festival they paid for.

The second challenge window was to start at 1:00 p.m. But when that time came, there was no announcement that it was going to begin, even though there had been an announcement before the first window. A graphic showing everyone’s progress appeared on the live stream with no fanfare, implying the window had opened, but this disappeared minutes later. For the next hour, neither Niantic nor the event’s hosts provided any updates at all, so nobody knew if the challenge window was still going on or if they had pulled the plug in defeat.

At 2:10 p.m. CDT, Rachel Quirico took the stage again after one full hour without any updates and asked if everyone was having better luck with the game now. She seemed to ask that rhetorically, as if the game was performing better now, but the crowd screamed back, “No!” Chief Marketing Officer Mike Quigley returned, saying that Niantic is still trying to get things fixed and that they would be issuing ticket refunds and $100 in Poke Coins.

Rachel Quirico then said that players worldwide had caught enough Pokemon during the first two challenge windows to unlock bonuses for 48 hours, even though most people didn’t even know that the second challenge window was still a thing that was happening. Later, some evidence came out to suggest that Niantic was manipulating the challenge window score.

CONFIRMED: Niantic is manually lowering challenge limits to meet the threshold! pic.twitter.com/bbHGIhcZ6V — Pokémon GO Hub (@PokemonGOHubNet) July 22, 2017

While Quirico was talking during this time, someone in the crowd threw a water bottle at her, though it missed and landed on the stage.

Ten minutes later, Mike Quigley came back on stage and said that the unique Pokemon that had been showing up in Grant Park (Heracross and Unown) would be extended for a two mile radius, also telling attendees that they have re-entry privileges if they want to leave and come back.

At 3:00 p.m., Rachel Quirico announced that the third challenge window was opening, though she mistakenly called it a “mystery challenge” (the mystery challenge was something different that was supposed to happen later in the evening). She was met mostly with silence from the crowd this time, although there were a few boos and one person yelling “We can’t catch!”

At 3:24 p.m., Mike Quigley took the stage yet again. This time, he said that if you’re an AT&T customer, you should try standing by a cell tower near the edge of the park, as doing so has allowed some people to play. He didn’t have any other updates about Niantic’s progress in fixing the game’s issues, though.

“We know that this is not the day that we have all envisioned, but we appreciate your patience…” Quigley said as the crowd booed him.

At 4:45 p.m., Rachel Quirico came on stage and said that it’s been a “tough day,” though she thanked the crowd for their “positivity.” She announced that the mystery challenge has been unlocked by players worldwide: the release of Lugia into Raid Battles. She also announced that everyone in Grant Park will get Lugia added in their account, something that finally got the crowd to cheer. And she said that because Team Mystic caught the most Pokemon today, Articuno will be the next legendary to be released.

Originally, it was said that players in Chicago would have to battle a legendary in a “mystery challenge” in order to capture it. Everyone envisioned a scene of thousands of Chicago players fighting together to take down a legendary Pokemon in one epic raid, kind of like the one seen in the recently-released trailer for legendaries. But instead, Niantic just gave everyone a Lugia without releasing it in a Raid Battle at all.

For those outside of Chicago, Niantic broadcast a live Twitch and YouTube stream, and this too could certainly have going better.

For one, the stream began an hour late, with Niantic continuously delaying the start time. When it finally got going, it was full of technical issues. At one point, there was about a full 60 seconds in which the sound of someone plugging a device into a USB port on a computer could be heard. The sound of someone tapping a microphone and saying “testing” was broadcast over the stream as well. Niantic later attempted to play a pre-recorded video about how to catch Raid Bosses, but the audio was glitched so that the person talking sounded like a robot. It took a few hours for Niantic to finally broadcast this video correctly, and when they did, they played it six more times.

Early on in the stream, Niantic had cameras panning around Grant Park, with the goal obviously being to show players having a great time. But the cameras mostly captured live video of gamers looking annoyed and confused, and at one point, the stream focused in on someone becoming frustrated as their app froze.

For obvious reasons, Niantic soon stopped showing the crowd, instead broadcasting nothing but a still image of the Pokemon Go Fest logo for much of the day. The Twitch chat was also disabled.

Later in the afternoon, one of the event’s hosts talked to players in the field for the live stream. He asked one gamer how the day has been going, and when the interviewee said it has been a “great success,” people nearby laughed and booed.

#PokemonGOFest The crowd disagrees with the fest being a "Great success" lol pic.twitter.com/XAXqGVzQJ9 — Matt ? YouTube (@RowlWool) July 22, 2017

Afterwards, Niantic broadcast some Pokemon Go gameplay over the stream, and in the footage they showed, a player had several Pokemon with inappropriate names like “dumb b—-” and “Adolf.” The game then crashed live on the stream.

When another host came on screen to provide an update, her microphone was not working properly, and every few words she said was not audible. Niantic then put up a graphic showing players’ progress during the challenge windows, and a mouse pointer was visible in the middle of the screen.

All throughout Pokemon Go Fest, fans expressed their disappointment at everything that went wrong, declaring the event a disaster and roasting the game’s developers on social media.

I see why they're named Niantic. Play on the name Titanic, & now I see why. They're a sinking ship. #PokemonGoFest #CrashFest @NianticLabs — Richard Garcia (@elricardio101) July 22, 2017

Nothing new from @NianticLabs event management, it remembers @Ingress event. They just don't care, they aren't a data company #pokemongofest — HFK (@HolyFlyingKitty) July 22, 2017

https://twitter.com/HypeHypno/status/888818092922605568

Pokémon Go Fest is sounding like an unmitigated disaster to this point. — Brian Shea (@BrianPShea) July 22, 2017

Pokemon GO Fest is a complete disaster. Everyone is demanding refunds. Event staff getting screamed at. Servers down. Holy fuck — Basement Cat (@EvilBasementCat) July 22, 2017

So glad I missed Fyre Fest 2.0… I meant #PokemonGoFest! Feel bad for the people who paid for tickets though. They are getting shafted. — Jacob Isdell (@jacobisdell) July 22, 2017

“This whole event is just an absolute joke,” Reddit user TheGreyt said. “These guys aren’t a charity and are earning every piece of criticism thrown at them. Amateurs.”

One Reddit user and Pokemon Go Fest attendee observed early in the afternoon that almost nobody seemed to be having a good time there.

“Every conversation I’ve overheard is very negative,” user Neth110 wrote. “People are really pissed that they’re missing rare pokemon because the app simply won’t work.”

Pokemon Go Fest went so badly, in fact, that some fans are worried that it might kill the game for good.

“I feel that unless they do something drastic in the coming days this might just kill the game,” Reddit user n3onfx said. “They are pissing off their most dedicated playerbase and their whales, the kind of people that will badmouth Niantic and the game around them.”

On Saturday evening, Niantic released a statement about Pokemon Go Fest Chicago, writing, “Today at Pokémon GO Fest in Chicago, technical issues created problems for a large number of players attending the event. From everyone at Niantic, we apologize to all of the Trainers who came out to Pokémon GO Fest today. Although we were able to solve many of the technical issues, we were not able to offer every attendee a great experience.”