Chapter 1 of Rage Quit is available here.
Chapter 2 of Rage Quit is available here.
Chapter 3 of Rage Quit is available here.
Chapter 4 of Rage Quit is available here.
Chapter 5 of Rage Quit is available here.
Chapter 6 of Rage Quit is available here.
Chapter 7 of Rage Quit is available here.
Chapter 8 of Rage Quit is available in .pdf format here.
“Well who’s responsible for it then?” Theresa once again asked the assembled developers spread out around the fau x-wood table, sitting in plush office chairs that were more comfortable than the one Randal usually had at his desk. The meeting was not going quick at all, and Randal’s only interaction with PB had been exchanges of raised eyebrows and quizzical looks down the length of the table. PB had already been ensconced with the rest of the programmers by the time Randal arrived. Meanwhile, Lea had sent him two more photos, and forwarded him an e-mail from one woman who thought he was “crazy hawt.”
“It is not a database issue,” Oliver said, also for the fourth time. He was sitting across the table from Randal and refusing to look at him.
“But it’s the database that is corrupted,” countered Suresh, one of the other programmers who Randal hadn’t had much contact with. He was the most senior guy in the building right now, just one level below the Chief Technical Officer Frank. Randal was both relieved and disappointed that Frank had flown to Seoul that week to oversee some last minute technology integration crap with their Asian publishing partners. The aggressively insightful and short-fused lead programmer would’ve probably suspected at once that PB and Randal were somehow responsible for Lea’s current state and all the ensuing problems (a suspicion that Randal himself was beginning to share). On the other hand, Frank’s red-faced sarcasm and unabashed disdain for long meetings would’ve made this particular gathering much more entertaining. By contrast, soft-faced, solemn Suresh kept his hands folded on the table in front of him, and slipped around and past direct confrontation with non-committal statements like “I understand your point, but…” and “Another way to approach this is…” His even, understanding tone of voice stayed steady and calm in the face of Oliver’s petulant defensiveness. It was a more humane management style, but it did make for long-ass meetings.
“Yeah, but it’s not the database that’s causing the corruption. It’s somebody else’s crap code that’s corrupting the database,” said Oliver, crossing his arms in front of his chest and frowning. He might as well have actually said, “Harumph!”
“We are looking into it,” Suresh said, turning to Theresa at the head of the table. “But so far we just don’t see anything wrong.”
“Except the obvious fact that some crazed bot is messing around in beta testers’ games!” Wilson from Community Relations not quite shouted. Randal guessed he’d been up for at least twenty hours and was running mostly on outrage and Red Bull. His pudgy, weak-chinned face glistened and his hair jutted up in a thistle-bush of opposite directions because he kept running his hands through it from different angles every time he said something. He was second in command in his department as well, since Ellen, head of CR, kept sensible 8 to 8 hours and apparently wasn’t answering her phone or e-mail. “This has to be someone’s fault, right?”
“The game is very complicated,” said Suresh, holding up both hands as if to say he was unarmed and everyone should just chill out. “The number of factors involved, from the unified server structure it’s sharing with Metropolis 2.0 to the database to–”
“It’s not the database.”
“OK, Oliver,” Suresh said, nodding to him. “Even if it’s not the database, there are dozens of other areas that could–”
“Can’t you just do something about it?” Wilson said. “Do you even know what or who this bot is?”
“We don’t yet even understand–”
“Ask Randal,” said Oliver, lowering his forehead to point across the table like a rhino preparing to charge. “It’s his character isn’t it?”
Everyone at the table, even PB, looked at Randal expectantly.
“It was my character,” Randal said, the leather chair scrunching against his back in proper, lumbar-supporting fashion as he leaned back and stalled for time. No way was he taking the fall for this. He shot Oliver what he hoped was a withering look and then directed his most innocent, puppy-eyed face towards Suresh and the rest of the table. “But it sure isn’t me controlling her now. I don’t know what happened. I reported it in bug tracker. I told Oliver about it. He said it wasn’t his problem, and then he said Lea wasn’t in the database at all. Well, I was playing with her all day, and she was in the database then. I’m no expert, but it sure sounds like a database problem to me.”
“It’s not a database problem.” Now Oliver leaned back in his chair too, shunting full power to his “somebody else’s problem” affect. “It’s a problem somewhere else that’s messing with the database.”
“Oh, yeah,” said Randal, shrugging in and exaggerated parody of acceptance. “Well I guess, that explains it then.”
“What I’m trying to explain to you,” Oliver said, also not quite yelling as he uncrossed his arms and slapped his hands on the table, “If you can follow along with the rest of us, is that the database is being corrupted by this bug.”
“Oh, so you’re just a helpless victim? I see…”
Oliver’s eyes narrowed. “I’m not anything. The database is corrupted, specifically by your character. It’s the source of the corruption.”
“How can a video game character be the source of anything?” Randal asked, turning back to the table at large. He hadn’t come into the meeting with the intention of covering up whatever was happening with Lea, but Oliver’s mere presence had brought out the contrarian in him. Plus, he didn’t want to be blamed, especially if it was somehow his fault for having Lea ported over from version to version. Plus…plus…well, the truth was, he felt he’d be betraying her somehow, which didn’t even make sense, but that’s how he felt.
“As far as we can tell, the problem is centered on this single character,” said Suresh, unfolding his hands and turning his palms up towards the ceiling. “All the reports Winston passed on center on it, and the problems started soon after Randal entered the bug report into the tracker. So if it isn’t the problem, then at the very least it’s the sole symptom.”
“Well then, just erase it,” said Theresa, who’d sat almost statue-still at the head of the table, only her eyes moving from person to person as they talked.
“We tried,” Suresh said, with a slight shake of his head. “It just won’t erase. It keeps popping back up. Or rather, it’s not where it should be in the database and, well, we’re not sure where it is.”
“How can that be?” Theresa asked, her left eyebrow raising just a fraction
“We don’t understand either,” said Suresh, still shaking his head. “That’s exactly what we’re trying to figure out.”
“How about just keeping it out of the beta servers?” demanded Wilson. “Can you do that?”
“We could shut them down,” said Suresh. “But we’d be shutting down Metropolis 2.0 as well.”
“That’ll just piss off more customers,” Wilson said.
“What a shame,” said Randal. He was pretty sure shutting down the servers wouldn’t harm Lea any, and so it seemed like a fine idea to him. It would give him some more time to figure out what the fuck was going on with her. He glanced down the table at PB, who sat with his laptop open, typing, not even paying attention to the meeting he’d invited himself to. He hadn’t said anything and no one had asked him any questions. “But it’s almost two in the morning. Anyone playing at this hour is hard core enough that they’ll be back tomorrow. I mean hell, it’s not like the servers don’t go down all the time anyway, right? So why not shut them down?”
Wilson rubbed his forehead with both hands and then pushed the sweat and grease up into his hair before answering Randal in exasperated tones. “The beta testers are key to successfully launching this game,” Wilson said. “And the existing Metropolis 2.0 players are going to be the first people to buy the new game.” Randal could swear he was taking this all personally.
“Not tonight they’re not,” Randal said. “Tonight they’ve got us all here in a meeting about them instead of trying to figure this bug out. I say shut ’em down.” That kind of call was way beyond Randal’s level of authority of course, but since no one else was advocating any strong action, his call seemed to hold some sway. Suresh and Oliver both nodded in agreement, although Oliver was looking at Theresa as he did so.
“What about you, James?” Theresa asked, using PB’s real name, her voice just a few decibels higher than normal. “Any thoughts?”
PB looked up from his laptop. “That sounds good. Bring down the servers for maintenance and the testers and players won’t have anything to complain about they haven’t seen before.”
“Except the servers being down,” Wilson said almost before PB had finished.
“But that won’t solve the problem, will it?” asked Theresa.
“No,” said PB, looking back to his laptop. “But it will give us time to work on it.”
“This problem started tonight, right?”
“Yes,” said PB. “That’s my understanding.”
Theresa closed here eyes for just a second. It could’ve been a really long blink. When she opened them she seemed to have come to a decision. “Any objections to rolling back the code to this morning? I checked, there hasn’t been anything crucial uploaded this evening. A number of minor bug fixes. We roll back the version and then start inputting those bug fixes one by one and see if the problem re-occurs.”
“Sounds good to me,” PB said, looking to Suresh.
Now, Suresh started nodding for once “Yes, that could work. It’s a good place to start.”
“That’s the plan then,” Theresa said, standing up. “We bring down the servers until further notice, hoping to have them back up by 9:00 AM tomorrow. Then we re-load the archived code from 5:00 PM. I’ll send out a company-wide notice for everyone to save their work, and make sure department heads and team leaders pass the word on directly to those below. When can we do the reload?”
“Half an hour?” Suresh said. “And probably another half hour beyond that to get things up and running?”
Theresa’s gaze flicked to her watch. “Which has everyone back to work trying to find this bug by 3:00 am. That gives you six hours to figure it out.”
The meeting adjourned, and everyone pushed themselves out of the comfy chairs and rushed or sauntered back to their desks, depending on how much work Theresa had just made for them. Suresh cornered her immediately, so Randal slipped out the rear conference room door for fear she’d ask him more questions. Pulling all-nighters during crunch time was part of the job for the salaried developers, and although they weren’t quite in the time frame of the last few nights before launch that usually demanded 24 hour shifts with time and a half, anything that involved bringing down servers for a game with paying customers like Metropolis 2.0 had was definitely a crunch of some sort. Randal would have to break the news to his guys, but first he went into PB’s office and waited for him there.
“So, I heard from her again,” Randal said, as soon as PB walked in.
“I know,” PB said, gesturing raising his laptop towards Randal. “And I’m glad you kept things between us. That was smart.”
“What do you mean, you know?”
“I’ve been monitoring your desktop,” he said. “I’ve recorded everything it’s been doing, well, as much as I can follow. It’s fast.”
Randal had held his breath for a few seconds before letting it out. PB had been viewing his desktop. OK, that was kind of sneaky, but shouldn’t have been a surprise. That was why Randal did all his private e-mailing from his phone. Of course Lea seemed able to read his phone e-mail, so maybe PB could snoop there too. He decided not to be mad, at least not right now. He wondered for a moment if PB was actually Lea, if this might be all some really elaborate prank on his part. Or some kind of experiment? No, that didn’t seem like the PB he knew.
“So what’s this resetting the server thing going to do?” he asked, taking a seat as PB sat down at his desk.
“I don’t know. Theoretically it could solve the problem.”
“By which you mean, get rid of her.”
“Yes, but I don’t think that will happen.” PB looked right in Randal’s eyes. “I think it will probably reset Lea as well. Then all you should have to do is bang your head against Dreadrock again for a few hours and hopefully we can recreate the anomaly. Only this time we’ll be watching as it happens. I think we’ll learn a lot.”
Randal turned away from PB, looking out the office door. “What if she doesn’t come back?” He hoped he didn’t sound too worried.
“Oh, I think we’ll get a repeat, almost definitely.”
“But will she be the same?” Randal looked back at PB, who was smiling.
“I don’t know. Maybe. Probably a little different. That’ll be part of the fun. Of course we’ll need to figure out some way to keep it from messing with the rest of the game this time.”
“How’re you going to do that?”
“I don’t know for sure. I’ve got some ideas.” PB typed something, Randal just sat there, watching him. “Thanks again for keeping this under your hat.”
“Sure, no problem.”
More typing from PB. Randal mulled over his options. He wasn’t at all comforted by PB’s assurances that a different version of Lea would be “fun.” What if he was wrong? What if it was a one in a billion fluke? Then she’d be gone for good, and that seemed like a terrible risk to Randal. He shifted in his chair, twisting towards PB and watching him type. What was he thinking? It was impossible to tell – he looked the same as he always did. After a couple minutes of silence he asked, “This is kind of a big deal isn’t it?”
“What?” PB said, jerking his head up in surprise to find Randal still standing there.
“This thing with Lea. I mean, this is a really big deal, it seems to me.”
“Yeah,” said PB, taking his ands of the keyboard. “Yeah, it might be.”
“So why aren’t you telling them?”
PB looked up for a second before answering. “Because that’s not what they pay me for. I’m here – we’re here – to make a game that’s successful and earns Fear and Loading a lot of money. We’re not supposed to be making breakthrough in AI that result in uncontrollable programs running wild through the game’s servers and changing code and messing with databases.”
“But that’s what we’ve done.”
PB nodded with a mischievous half-smile. “Looks like. And isn’t our ghost in the machine a hell of a lot more interesting than some game?”
Randal nodded and smiled too. It was more interesting, even if he didn’t understand it. “And when they find out? The bosses I mean.”
“If they find out, I’ll handle it.” PB shrugged and glanced at his screen. “But they might not find out, not if we’re careful.”
“You don’t think so?” Randal wasn’t sure about that. “Lea’s way beyond our control and has already gotten a ton of attention.”
“Come on, Randal, this is me you’re talking to, nobody but Frank even understands what I do here. Besides, you’ve been here longer than me. You know there are all kinds of secrets in this place.”
Randal would never have thought of it in those terms, but maybe PB was right. His testers fudged their bug stats. He got designers to put in work-arounds for his avatar. Designers hid Easter eggs in levels only they knew about (until Randal reported them as bugs). “I suppose so. I should go. I have to go warn my team to save their work for the re-boot.”
“Call me when you’re starting Dreadrock again,” PB said, his focus back on the screen. “We’ll talk through it in real time.”
“Sure thing,” said Randal. As he left he took out his phone and started keying in a text message. He had to cancel a date.
Here, outside of the physical instantiation of the different levels, Lea felt uneasy. She was blind, deaf, and unfeeling, but it wasn’t like being in the dark. It was like she only had her radar to guide her now – notations marking destinations and the carefully organized grid patterns of data storage cells showing up not so much as places but rather as pure, uninstantiated options. And there were so many more options. She was having to create her own frame of reference for this bodiless existence inside the wider world. In some ways it was simpler – there were paths she could travel down and data she could gather. She didn’t have to worry about moving in three dimensions or avoiding obstacles or shooting enemies. It was like looking down on a labyrinth of dark hallways with glowing signposts. All she had to do was think about it and she could traverse the path. Perhaps it would be better to think about them not as passageways, but as spawn points. She could teleport from one to the other instantly. From file to file, directory to directory, IP address to IP address. She just had to make a decision and she was moving, sometimes it was less than a second. Sometimes her travel time increased, especially when traveling to other IP addresses when things seemed to draw out over seconds, even tens of seconds. And moving data? That was the worst, because when she did that, she felt stretched out, thin, and helpless. Part here, part there, she felt vulnerable, trapped.
Fortunately she’d discovered that Randal had special squadies of his own that she could command to make these long trips for her. So instead of going to the IP address where Adult Friend Finder existed, she could simply will the weapons and minions in Randal’s desktop to get things for her. The browser would bring her profile information. Outlook allowed her to send e-mails. Pidgin let her send instant messages. She could use tools on other instincts’ machines to alter the physical world, tools like Level Editor, and Database Manager. These were even faster, and easier to use than Randal’s tools, although a lot of the time some instinct would come along and undo her changes after she was done. When she saw this happen for the first time, she was glad she’d hidden her own data so carefully.
She was not having much success in the AFF mission. Unlocking their “secure” areas had been simple once she discovered the admin password for the whole site. She knew Randal would appreciate her seizing of these enemy treasures for him. But beyond that one victory, most of her targets were unresponsive. Curious as to why this would be, she’d done a detailed analysis of Randal’s own history and determined that they were out of the ideal time window for such interactions, which was between 10:04 AM and 11:23 PM, with optimal results between 7:21 PM and 10:45 PM. She had gotten responses from one person who had identified their personal goal as “seeking cyber,” and was online now. She set up a rendezvous with her in a private chat room.
Lea asked proven opening gambit questions: “How are you doing?,” “It’s nice to finally chat with someone smart and interesting on this site,” “I really did LOL at your profile, it’s quite clever,” and so on. The opponent accepted these compliments but offered none of her own, communicating mostly in emoticons provided by the site’s chat client. Lea experimented with some of these as well, although Randal seldom used them. The opponent seemed to take them well, and was soon offering sexually explicit content. Lea played along, describing “how hard she was making him” and repeatedly telling the opponent how “fucking hot” what she was typing was. Then, she made the move – requesting an in person date on Randal’s behalf. The partner didn’t respond, instead continuing with the sex chat. Lea played along for 3 more lines of masturbation descriptions before asking again. Still no response, just more talk of “how wet” the opponent was. Lea had engaged this target for 623 seconds using a library of Randal’s own chats as a model, while using the browser tool to pull in information from other sources about optimal strategies for cyber sex. She should have won by now.
Frustrated with the delay, Lea decided to make a more firm offer, one tailor-made to fit the opponent’s tastes. While she continued the chat, she also reached out all the way down the passageway to the chat site’s servers, and after 24 seconds of password cracking, accessed her opponent’s data, including the credit card used to pay for the service. She used that information to gather more data on the target’s personal life and habits, hoping to find the perfect locale for an in-person meeting for Randal. She was surprised at what she found.
“You’re a male named Corey Whistler,” Lea said to him. Randal had only ever responded to a male profile on one occasion, and Lea suspected he preferred female body types. There was no response for 4 seconds, so Lea continued. “You live at 2419 S. 12th St, San Jose, California. Your social security number is 312-22-0848.”
The opponent broke communication, retreating from the field. Just as well, thought Lea, she was about to cut him off anyway. She decided to widen the net of possible targets to include San Francisco, Santa Cruz, and Oakland, but stopped when she noticed the e-mail coming into the WarriorWoman account she’d created.
It was from one of Randal’s private e-mail accounts, and as soon as she read it she logged off the sex chat site. “WarriorWoman, UR in danger. Servers to be rebooted. Going 2 restore data from last backup. Find some place 2 hide. Save urself. Save urself somewhere secret, somewhere safe. – R”
It was from her instinct, and when her instinct warned her, she paid close attention. She needed to hide, needed to find some place where they couldn’t find her. Except every place she could possibly know about, they must by know about as well. Where was she going to hide? She had no idea, but she started looking everywhere. Then her options started to close around her, and she didn’t know where to go. And then there was only one option left.