Chapter 2: “I FEEL ASLEEP!!”—Guard, Metal Gear
“Shit,” Randal whispered to himself. “What the hell?” He wiggled the analog stick on his wireless game controller, pressed all four colored buttons and pulled all four triggers. His avatar wouldn’t move. She just stood there. He wondered if it might be the batteries, but no, he could still bring up the console’s menu screen. It looked like the game had frozen. They hadn’t had a game-freezing bug in over a month, and a new one this close to shipping meant someone was going to get their ass handed to them. He made a note in his log and turned off and then restarted his machine. Then, for the first time in too many hours, he stood up, stretching his arms above his head, cracking knuckles, and exposing a sliver of white, not too terribly flabby belly below his logo-free, plain blue t-shirt. Looking at the clock on his PC on the desk next to him, he exhaled a long breath. 5:30 was quitting time in most of the world. Not here of course, not this month. It was crunch time, and he’d only been here nine hours, the day was hardly getting started and free pizza wouldn’t arrive until 7:00.
He checked his office e-mail, leaning over the back of his chair and poking at the keyboard. Memos, meetings, jokes, alerts. The usual. He unclipped his phone from his belt and checked his personal mail. More alerts, more jokes. Something from Adult Friend Finder listing 35 hot singles in his area. He opened that and scrolled through quickly, but none of the new faces caught his eye. He winced inside when he saw one of the familiar ones and erased the e-mail. He took the time to confirm in Outlook that he would in fact be attending tomorrow morning’s optional (but not actually optional at all) Production Feedback Meeting, or “bitch session” as everyone referred to it outside of company e-mail threads. He glanced back at the console and saw that the game was back up and ready to go. At least it no longer mattered to him exactly how long it took the machine to boot. His first job in the industry had been as a day-hire, sitting in a lab with a stopwatch turning Xboxes on and off over and over again and timing how long it took them to fire up and load Halo. Somewhere in the building there were probably poor shlubs doing something just as brain-numbing for $8 an hour, but he wasn’t one of them anymore.
He sat back down, tented his fingers to again crack those knuckles, then hit the Start button selected the Load Character option. He again selected his main testing character, Lea, and the program resumed right where he’d left off. Time to hit the damn caves again. He thumbed the left analog stick forward and still nothing happened. Firing wasn’t working either. He couldn’t order his squad mates to do anything. Nothing responded. He quit out and loaded one of his other characters, a tester avatar he hadn’t played in months. The rolling purple hills of Secundus appeared, and his low-level character with the goofball pink clown hair and the ridiculous weapons load responded just fine. He ran around blowing up hunchbacked Lurzling Scouts for a few minutes and everything worked like it was supposed to. When he booted Lea up again, nothing. She just stood there, her back to him.
He typed up a more detailed bug report: Primary avatar Lea frozen, will not respond. Stuck in spawning area of map 1308.3 (Dreadrock Base). Multiple re-boots and re-starts do not resolve problem. Other avatars working fine. He filed the report with the master bug tracker and decided to reboot one more time, just to be sure. But rebooting wouldn’t fix it, he knew. There was some deeper problem here, and all he could do was identify its symptoms as precisely as possible and pass the info on to the designers and programmers. Just to be extra sure, he switched controllers as well, loaded up Lea again once the console had done its thing, and still she didn’t respond. Definitely a bug, and definitely persistent. Now he had to figure out whether the problem was in the level or in the avatar itself.
Testing other games, he would simply have reloaded an earlier save and tried again from the previous level. But Excelsior was a persistent world online game. In its final form, which was due to release to the public in weeks, not months, it would be played over the internet by thousands, hopefully millions of people at a time. Even now it was open to a select few thousand beta testers along with the entire 115 person in-house production team here at Fear and Loading Games, as well as various other contract workers spread out around the world. In earlier iterations of the game he would have re-loaded a new version of the level himself on his own local machine and tested it out, but now the game was running live, and he had played that level enough times bug-free to suspect whatever the problem was lay in the new network play features and not the level design. Besides, the Test Plan called for him to test only online play until release, nothing else.
It was kind of strange to look at it that way – that as a Quality Assurance Lead he’d actually lost control as he gained responsibility. In the game’s early days he could test each level however he wanted – the whole point was to just see which ways of playing were the most fun and to give feedback to the designers about how they could improve overall game play. Each week brought new tweaks, new art assets, and later new levels and new abilities. It was work, but it was also relatively free form. Three years later and he’d gone from being the junior guy out of three testers to the third in command over a team of twenty, not counting the day-labor shlubs over in off-site and the beta-testers out in the wilds of the internet. At least the betas weren’t his problem – he was more than happy to let customer service deal with those whackos. As someone who got paid decent money to test games, he’d long ago lost any understanding for people who were willing to do it for free.
Now his job was all about the monotony. The levels were all set. The weapons were all finished. The characters were all designed. All that was left was constant hammering away at the game, looking for any cracks in the system. Play each level again and again, looking for bugs, looking for bad game play, tweaking the difficulty levels, testing out the AI of the NPCs. Then try a new level while they fixed the old one, then once the fixes were uploaded, come back and do it all again. On top of that, Randal had to watch over his minions in the QA department and make sure they were keeping up their bug quotas and writing their bug reports in something that approximated a language the designers and programmers could actually understand. It wasn’t the life of pure pleasure playing games for a living promised, but it was a living, and it was in the games industry. Besides, as his dad always said: inside work, no heavy lifting.
“Does anyone else have a character who can try Dreadrock?” Randal called out to the room around him, his voice cracking slightly after not saying anything at full volume for several hours. His own cubicle shielded him from view, but he could hear other consoles and computers whirring to each side, and the soft clicking of buttons being mashed in rapid, telegraph-like patterns. He knew some QA departments ran the games with the sound over the speakers, but he made his guys wear headphones. Because of the headphones he got no answer, as he’d expected. He asked the question twice more, once out loud at a higher volume, and once over IM, broadcast to the five other testers in his group. They might be lost in their test runs, but he knew all of them had an almost preternatural ability to notice out of the corner of their eyes new instant messages popping up on their PCs.
Philip answered first, his thick Chinese accent floating over the cubicle wall to Randal’s left. “I do. I have two,” he said. Randal still couldn’t pronounce Philip’s real name, but he didn’t seem to mind the Americanized version he’d adopted once his work visa had been approved. He was supposed to be on the Asia Localization Team, but that part of the project was way, way behind, so Randal’s boss had snatched him for QA for the time being. With no local friends or family and no interests besides video games, Philip was tailor made for testing, and as he’d said himself, he would just have been sitting around playing games anyway.
“Load one up for me,” Randal called out. He went into Philip’s cubicle, which he shared with Terry. Philip’s side wasn’t exactly neat so much as empty – just a few empty soda cans and Philip’s massive ring of keys (for every lock he knew both here and in Taiwan) that was too big for the slight-framed young man’s pockets. Terry’s side was covered with paper: gaming magazines, print outs of maps of each one of the game’s levels, and assorted scraps covered with Terry’s scribbled notes that he made during testing with his left (non-dominant) hand. Sometimes the notes were even legible enough for Terry to translate them into bug reports. The tall, pot-bellied tester hadn’t heard the talking or seen the IM, and was still blazing away on what Randal recognized as Port Justice, one of the game’s easier levels. It looked like Terry was training some new squad members in basic tactics.
“I’ve got two,” said Philip as Randal hovered over the floppy-haired, sprite-like man’s shoulder. “I’ve got a tanker build-out and mishmash one.”
“Let’s try them both. I’m getting a weird freeze bug on the level right in the spawn zone.”
He watched Philip load up first one character and then the other. He’d customized his avatars with lots of spikes and sort of Gothic looking power armor mods. Both avatars worked fine. “Play this level through for me a few times with both, will you? Try it using that grenade jump shortcut I showed you the other day.”
“Have you beat this yet?” Philip asked as he pushed his avatar forward into the cave mouth and started eliminating enemies.
“Not yet. You?”
“Not even close. It’s tough.”
“I’ll send you some of my squad over to help if you want, but it’s a bitch all right.”
“Yeah, yeah, loan me your squad,” Philip said, turning in his chair to face Randal, his smile beaming. Randal seldom loaned out his squad members, even though it was an important part of the game’s feature set that they were all supposed to be testing. But after the hours he’d spent training them, he sort of begrudged anyone else benefiting from the fruits of his labors. “I really think the designers need to make this level easier,” Philip added. “It’s too tough.”
“You need it to be too tough sometimes. That’s the fun part.” Randal turned and checked with Terry, startling the poor guy out of his glazed-eyed focus zone and asked him to load up any other characters he might have that could run against Dreadrock. Terry nodded without moving the controller from where it rested on his belly and exited out to the menus screen. Randal left him to it and went around to Lyle, Markos, and Victor too, ordering them all to drop what they were testing and see if they could replicate his weird new bug.
Sitting down to his own machine in his private cubicle, he loaded up Lea again. She still just stood there. He couldn’t even move her back onto the teleportation pad so he could try another level, and until he did that he couldn’t return to base and arrange to loan out his trained squad members to Philip. He also couldn’t even access the screen to loan out the other ones he had trained using Lea over the past year. This bug was a real show-stopper. Philip’s character would just have to wait to get his spiky hands on Lea’s squadies.
Excelsior aimed to be a revolutionary new kind of online game. Of course that’s what they all said when they started out. Claims of “changing the way you play games forever” were common marketing-speak that publishers applied to any game that featured the slightest innovation or even just the claim of innovation. A game that, from its inception, made claim to such groundbreaking change as Excelsior did was just asking for scorn and ridicule from the gaming blogs. Normally Randal would have been on the front lines of the ensuing flame war. But a chance to get in on the ground floor of a fully-funded title at an exciting, innovative developer on the Quality Assurance team enticed him to betray his net-critic nature, ignore the ridiculous claims, and concentrate on the pay check and benefits package. Plus he really needed to get the hell out of the Japanese-owned forced labor camp that called itself a QA Department he’d been slaving away in at the time. There it had been all about putting the requisite number of hours into testing, with no real focus or quantifiable results. The pay was shit, the turnover was high, and the work mind numbing. They weren’t allowed any contact with the rest of the company and often didn’t even know what the game was supposed to be as they tested it. Success came from kissing up to the bosses and logging enough hours in front of the screen. When he saw the job posting for Fear and Loading’s new project he jumped ship at once, hype or no hype.
As it turned out, the hype wasn’t just hype. There really was something that you might generously call revolutionary going on here at Fear and Loading Games, although what exactly that something was he couldn’t quite tell anyone else, even if he hadn’t signed an unusually draconian NDA on day one. The programming staff was top notch, judging by the other titles they’d worked on and the positions they’d left at other companies. Plus there were some interesting newbies to the games industry, people like his lunch-buddy PB, who’d come in straight out of academia with an advanced computer science degree, head full of new ways of doing things.
As a lowly tester, Randal at first had little insight into what went on upstairs in the programming department, although it was nowhere near as segregated as his last job. At least here he could talk to and even eat lunch with the other dev team members. Design tried to keep a firm separation between QA and the other areas of the development team, serving as the go-betweens for translating the bug reports and play test feedback into specific action items for the technical and art departments to add to their work flow. Thus, Randal dealt mostly with Design, even though he officially answered to Production, and the relations between his department and the designers were only as good as you could expect when one group’s whole job was to criticize and pick apart the work of another group that happens to get paid better. But Randal was used to all that. What he wasn’t used to was how good the game play experience on Excelsior was from day one.
When he’d first got his hands on it, it was on a bare-bones field of battle with perfectly flat gray ground and a few large gray blocks scattered about for cover. His avatar was scarcely more detailed: a standard issue space marine-type that could have come out of any first-person shooter (and which ended up being the current standard avatar that he teamed Lea up with). The inventive weaponry hadn’t been developed yet either, just a simple automatic rifle of some sort. On the opposite side of the field stood a computer-controlled bot for him to battle. His job was just to make sure the basics worked. And they did. He could run, jump, shoot, crouch, aim, and reload as ordered, and had no trouble taking out the enemy bot, at least at first. But with each iteration the enemy got better, and Randal had to reach deeper into the bag of tricks he’d learned over thousands of hours of Doom, Quake, Unreal, Halo, Call of Duty, and so on. But soon the bot was matching him maneuver for maneuver, leaping backwards into the air and firing, strafing around corners with precision timing. It was only when he had to gasp for air that he realized he’d started holding his breath and clenching his stomach muscles more and more as the fights became competitive. The thing was learning all his tricks.
That was Excelsior’s big innovation: the AI of the bots could learn from the players. He didn’t know until PB told him much later about the mass of hacked together code and processing power that was behind his AI opponent that first day, nor did he realize then how closely the entire programming and design departments were watching his first test run. As he rose to the challenge and then faltered and then rose again, game developers in a room upstairs were exchanging high fives and congratulations as their AI did pretty much exactly what it was designed to do. There were still years of work ahead, but Randal had unknowingly helped prove their concept. Since then, the development team for Excelsior had hired up with almost wild abandon, struggling to do the real work it took to transform that single proof of concept into a rigorous AI system that you could hang an entire 20 million dollar game on. Now, weeks from gold master and release, the system was almost finished except for a few dozen lingering bugs and one brand new one that Randal had just discovered.
And this freeze bug was a big deal, because it not only stopped him from playing, it also stopped him from hiring out his trained squad members to other players. Excelsior players controlled one character at a time, and the more they fought their way through the game’s hundreds of levels and thousands of battles, the more experienced, wealthy, and powerful their character became. Each character could also hire on squad mates, commanding up to three at any one time, but with no actual limit on the number you could have in your employ. However, newbie squad mates were almost useless in any kind of serious fight; you had to train them. As they accompanied your main character on various missions, they learned from the tactics and strategies that you employed. When Randal had been playing just before the new bug reared its frustrating little head, he’d been using squad mates he’d trained for the past month. And of course your main avatar learned as well, and if you wanted you could set it on auto-play and let it do its own thing while you controlled one of the other squadies. This feature was especially useful when you needed to train a squad mate in something very tricky like the grenade jump. Training them to use this dangerous strategy had been especially time consuming, since it contravened their basic AI programming not to get caught in their own grenade blasts, but eventually they had learned, although their ability to learn was sometimes quite fickle, and one of them never got the timing right. If he ever got control back, Randal would trade the slow-learner off to Philip and just train a new one from scratch.
The designers and programmers had also thrown a second brilliant little innovation into the mix: you could rent your highly trained AI soldiers out to other players as mercenaries. In the sprawling online warzone of Excelsior, massive battles between opposing armies of players were not just common, they were the whole point of the game. So even when you weren’t online to play, your expert mercs could be out in the field earning you cash so you could upgrade your own weapons and base. They could even serve as teachers to other players’ squad members, although they didn’t pass on information anywhere near as efficiently as did avatars controlled directly by a player. Once the game was online with hundreds of thousands and hopefully millions of players, the designers anticipated an entire economy and complex network of alliances developing around the mercenary/training system, none of which would have been possible without the kick-ass AI system the programming team had come up with.
All of which went some way towards explaining his reluctance to let Philip use his squad members. Even Randal, a jaded game tester who shouldn’t have cared, felt a sense of pride and ownership about the hard work that had gone into training his elite squadron. Since there was no economy set up yet and no need for in-game money, there was nothing Philip could give him in trade. Except of course that it would help him do his job, which was why Randal would in fact loan them over, just as soon as he could figure out some way to access Lea’s home base command screen. He just wouldn’t feel good about it.
Frustrated and convinced that he’d tried everything he could think of, he sent an e-mail to Oliver in the programming department and asked him to do whatever magic he did with the game’s database and see if he could reset Lea’s info to the last backup, even if that was probably 24 hours ago or more. He answered a few other e-mails while he was in front of the computer, then checked his phone for anything new private-wise. He had a new message from Adult Friend Finder, which piqued his interest, but a quick scan through the contents and the attached profile picked out key words like “generous gentleman” and “girl-friend experience,” which led him to conclude that the woman, if she was real, was probably a working girl. Somewhat disappointed, he saved the e-mail for a rainy day and turned back to his console. Lea was gone.
Her squad was still there, standing around looking confused, but Lea had just disappeared. He’d never even seen the game working without the player’s avatar on screen. He didn’t think it could work that way. He picked up the controller and found that he could move now. The view changed as he worked the analog stick, but it was no longer bound to anything. He could move the camera anyway he wanted, just like the designers could when they were building levels. The squad stood there still, cycling through their canned “wait and see” animations, and he was surprised to find that he could now issue them commands. He ordered them to return to base while he could. Was Lea just invisible now? Some sort of clipping or rendering issue? He moved through the entire level, watching the bad guys stand in place, waiting for some sort of action. His camera roamed through walls and into the dull blue void beyond the art assets where he could see the entire Dreadrock level laid out below him, snaking across the emptiness in a series of rocky chambers that got more and more crowded with heavily armed aliens on the path from spawn point to target zone. In the final room (which he’d never made it to in-game) the purple glow of plasma rifles looked like a constellation of fireflies ready to pounce. How did the designers think anyone would beat that level anyway? He’d seen this view of other levels before when visiting the artists, but it was supposed to be impossible to get this POV while in game.
Randal smiled and thought, “That’s a major fucking bug. Someone’s really, really going to get their ass handed to them.” He brought up his bug tracker and logged it all.
To be continued next week, only at PopMatters.com
// Notes from the Road
"Radio 104.5's birthday show featured great bands and might have been the unofficial start of summer festival season in the Northeast.READ the article