I made a local copy on my laptop and met Matt in a scrubby café in Davis Square. I ordered a coffee, and he got a large slice of day-old Key lime pie on a paper plate. I showed him the bugs Lisa had assigned me, then he spent half an hour going through the data while I stared at impressionistic paintings of electric guitars. Most of the people there were our age but had apparently learned different lessons about how to spend their lives. Behind me two men and a woman discussed different brands of racing bicycle.
“I don’t suppose—is there any way to just not care about this?” I suggested.
“So I’m going to guess that you haven’t looked at your bug list lately.”
I opened my laptop and looked, and there was a brand-new one.
Reporter: rlamber
Version or Build: e3
Module or component:
Platform / Operating System: whatever was at e3
Type of error: design
Priority: 1
Severity: 1
Status: open
Assigned to: RMarsh
Summary: e3 demo error
Description: fix soonest please
It was now a P1S1, also known as a showstopper. We couldn’t ship with a P1S1 in the active database. In some cases you can’t even leave the building with an open P1S1 attached to your name. And “rlamber” was Ryan Lambert at Focus, which meant I didn’t even have the authority to DNF it. Not even Don did.
“Oh.”
“If it helps, Vorpal’s got it, too.”
“Really?” I said.
“They licensed WAFFLE along with Clandestine . Their public event went okay, but I’ve heard there was some epic mayhem in a closed-door press event.”
“More—epic—than ours?” I asked. “How’d you hear about their demo?”
“Some people out there are still big fans of Simon’s. They think Darren’s screwed up a lot of what made Black Arts good.”
“Why didn’t this ever come up before? We can’t be the first ones to see this happening.”
“It’s definitely happening more often, but yeah, that’s one of the mysteries,” Matt said. “QA should have got it if nobody else.”
“Is somebody covering it up? Taking stuff out of the database?”
“It wouldn’t be hard; it’s not like there’s any security. Anyone can delete anything at any time, and playtesters are used to being ignored. But I don’t get the reason.”
“Maybe somebody screwed up and they’re trying to keep from getting fired,” I said.
“I can’t see it. Bugs are just a fact of life. It has to be on purpose, but that’s almost as weird.”
“Sabotage? Or just an odd sense of humor?” I suggested.
“An Easter egg, sure, but usually those don’t actively break a shipping game.”
“What if it was industrial sabotage? Like it was planted there. Somebody at KidBits, even? I was just thinking, it’s a good thing Focus didn’t know about this when they bought the company; they would never have paid that much for it. Maybe Darren cashed out because he knew it’d get found out.”
“Maybe. But remember, all the code got reviewed before it was checked in. So Simon or Darren or Lisa would have had to okay it.”
“Isn’t this the kind of thing Darren likes? People getting killed, blood everywhere, chaos? I thought that was, like, his aesthetic.”
“Yeah, but look at all those Clandestine games he made. He likes story. He basically wants to do movies!” Matt said. “And when Mournblade shows up it tends to break the plot. It can kill the character you need to start the next quest, or break the sacred diamond you spent half the game finding. Darren cares a lot about controlling events within a given framework, because that’s what you need to get a story told. You subtly hem players in and push them forward through the story as they play. But you have to keep control of the events around them to do that. The blind seer has to show up on cue to give a speech; a bridge has to break at exactly the right moment—these are the big plot events you plan out in advance. With Mournblade around, everything goes haywire.”
“Maybe that’s what Mournblade is all about,” I said.
“What do you mean? What’s it about?”
“It’s not a weapon for killing characters. It’s a weapon for breaking games. Think of how a griefer plays—they don’t win the game, they play against the game; they break it. The designer sets up constraints—the way you’re supposed to play—and they say no. It’s not just vandalism or perversity, it’s a war of liberation. Whose story gets told—the designer’s or the player’s?”
“Basically, let’s say Simon was going to put something where you can’t get to it, like a room with no doors, a puzzle with no possible solution in the rules. The game just won’t let you, unless you make it, or trick it.”
“So what’s there? What do you find?”
“I don’t know. Whatever the gods have hidden from you. Hidden from themselves, maybe. At the very least there must be an off switch for it. A way to reboot the WAFFLE engine, fix it.”
“Can we do it?”
“Griefers aren’t the only ones who break games,” Matt said. “I used to work for Quality Assurance.”
Beta had its own signature routine, the morning bug meeting, where Don read out whatever inexplicable disaster the QA guys logged the previous day.
July 3: “I went down a particular corridor and turned left. Game froze. Repro x3.”
Data! We’d check out the corridor and report back.
July 8: “I dropped my short bow, then picked it up, then dropped it, then picked it up again. Game froze. Doesn’t work with other objects. Repro x2.”
Art! a programmer would shout, and he might be right—a flaw in the 3-D model.
July 12: “I ran the game and pressed New Game. Game froze.” No repro, but P1S1 anyway.
“…”
“…”
“…”
“I’ll assign it to you for now, Lisa,” Don would say, as kindly as possible.
He tried to keep a light tone at the meetings, but most mornings they went by in an atmosphere of sullen, petulant rage, a roomful of black-T-shirted, pale twentysomethings clinging to self-control, faces puffy and slack with sleep deprivation.
Programmers, designers, and artists had long since learned to hate each other with the pure and unflagging hatred orcs reserved for elves, but they were brought together in their hatred for Quality Assurance. A game tester was obliged to report almost anything that didn’t work right—one measure of their productivity was simply driving up the number of bugs reported. They’d report design flaws, textures that weren’t detailed enough, or anywhere the frame rate lagged a little bit. Better safe than sorry.
But of course the goal of every other department was to lower that number. This was where I most came to admire Don’s seemingly inborn ability to suck the maniacal hatred out of the room when it flared up, or at least to soldier on through the tension until it dissipated.
Insufficiently detailed bugs were ruthlessly kicked back to Quality Assurance. At least a quarter of the time, Don would get only halfway through reading a bug and someone would angrily shout, “Fixed! As of the lunchtime bug.” Or they’d shout, “Dupe!” for “duplicate,” a bug that had had the same root cause as another open bug but manifested in a different context. After weeks, five persistent crashes in five different areas were proved to be the same bug after one tester finally noticed they all took place when the player was carrying one of every type of currency while attempting to switch between primary and secondary weapons within thirty meters of a horse, pony, donkey, or unicorn.
Don congratulated people for particularly clever fixes, or, failing that, for committing particularly colorful errors. The best of these went into a permanent hall-of-fame list kept in red dry-erase on a superfluous whiteboard. Gallows humor, but hilarious.
Читать дальше