Authors: Austin Grossman
Tags: #Ghost, #Fiction / Ghost, #Fiction, #Fiction / Thrillers / Technological, #Suspense, #Technological, #Fiction / Thrillers / Suspense
I wondered why she was even still here at Black Arts. I remembered the no-girls-allowed clubhouse feel of the arcades; it must have been hard work to find a place here.
Then again, I thought, everybody has a reason.
L
isa Muckenhaupt’s cubicle was socketed in at the far back corner of the
Solar Empires
sector of the office.
Realms of Gold
is only one of Black Arts’ three franchises. It has a science fiction and an espionage series as well, each set in its own separate universe. As I passed an invisible line in the cubicle ward, the decor shifted from foam broadswords and heraldry and other faux-medieval tchotchkes to a farrago of space-opera apparatus. A LEGO Star Destroyer was strung from the ceiling, along with an enormous rickety mobile of the solar system, its planets as big as softballs. I saw ballistic Nerf equipment and a six-foot-long, elaborately scoped and flanged laser rifle.
The decor was something other than simply childish. It was more like a deliberate, even defiant choice for a pulp aesthetic, holding out for the awesome, the middle-school sublime of planets and space stations, the electrical charge of nonironic pop, melodrama on a grand scale.
Lisa herself was the person I remembered, tiny and now in her late twenties. Lost in what seemed like an XXXL Iron Maiden T-shirt. She was vampire-pale, jet black hair pulled back in a ponytail from a broad, pimply white forehead. Her face narrowed downward, past a snub nose (her one conventionally pretty feature) to a narrow mouth and chin.
“Hi.”
“Hi,” she said. There was to be no handshake, and I didn’t know where to look. Her cubicle was unadorned, except for a pink My Little
Pony figurine to the right of her monitor. Ironic whimsy? Childish? Dangerously unbalanced?
“How’ve you been?” I asked.
“Fine. My dad died. If that’s the kind of thing you’re asking about.”
“Oh. Sorry.”
“It was a while ago,” she said. I’d forgotten the curious way she talked, a thick-tongued stumbling rhythm, in a hurry to get the meaning out. It suggested some cognitive deficit somewhere, but one that she’d been richly compensated for elsewhere in her makeup, a dark Faustian logic to her developmental balance sheet.
“Can I ask you a question?” she said suddenly.
“Sure.”
“Why exactly are you working here?”
“I needed a job.”
“There are a lot of jobs.”
“You know, I don’t actually have to explain this you.”
“Uh-huh. Well, I don’t have to explain how the editor works, either.”
“You remember the ‘Ultimate Game’ thing, right? That conversation?”
She sighed. “Yeah. I remember. I haven’t thought about that for years. That was a weird time for me.”
“Do you think it’s—well, I just kept thinking about it. How I was trying to memorize contract law and you guys were off having fun. How stupid is that, right?” I gave a gusty attempt at a laugh. Saying it out loud, especially to a real programmer, it sounded even more childish than I expected. I remembered how Simon had made it seem like a near-mystical quest; Darren made it seem like the chance of a lifetime.
“It was a fun idea. But until it comes along, this is the latest build of WAFFLE, set to
Realms
mode. Did you end up taking any more programming?” she asked. As she talked she shut down what she was doing—I glimpsed spaceships drifting between planets, in orbit around a double star.
“Two semesters of C,” I told her. But we both knew I was no Simon. I could see her features harden a little. She’d have the extra work of gearing all the explanations to a nontechie.
“All right. We won’t do scripting language for now. I’ll just load a level,” she said. She ran the editor—her setup had an extra monitor with a monochrome display—and as the editor ran it showed a long series of status messages.
The editor screen appeared, split in four parts. She piloted the camera around, zooming over chasms and through walls. We passed a group of goblins standing motionless, each with a swarm of tiny green numbers hovering over its head. Time had stopped, or, rather, had not yet been turned on. There were extra objects visible in the world—boxes, spheres, cartoon bells, and lightbulbs—hidden lines of influence, pathfinding routes, traps, and dangers. I was seeing the world as game developers saw it.
“You got through changing terrain, right? Placing objects?”
I nodded. I hadn’t, quite, but I’d decided already to stop admitting things like that, to just add them to the list of things I’d figure out later. I had to just keep assuming I was smart enough for this job.
“That’s the 2-D texture library, object library, terrain presets, lighting…” She toggled through a series of windows full of tiny icons that looked like candies on a tray.
“There’s really no manual for any of this?” I asked.
“I never have time, and the spec is always changing anyway.” Did she write all this?
“This is the creature library. Just select one, then click on the 2-D map to place it. Shift-click to bring up its behaviors. Scripting, conversation, patrol routes, starting attitude.” She clicked, and clicked again faster than I could follow. A tiny dragon appeared, frozen in the 3-D window; a corresponding dot appeared in the map window.
“So is that…” I started.
“It’s a bad guy. Okay so far?”
“Sure,” I lied.
“So viewing options now. You can cycle through the four versions of the world.” She backed the viewpoint up into the sky, then whip-panned to focus on a small fort in the middle of a forest, a single round tower, and tapped the space bar.
“Wireframe.” The screen instantly darkened to a black void where the tower stood, now revealed as an octagonal tube drawn in precise, glowing straight lines, triangular and trapezoidal facets in a night-black void. “Like in
Battlezone
. Back when you were gaming, probably the first 3-D game you saw.”
She tapped again. “Unshaded polygons.” The glowing lattice kept its shape but became an opaque crystal formation, sides now solid, a world of pastel-colored jewels that shone in a hard vacuum. Atmospheric haze is a high-tech extra.
Another tap of the space bar and the blank jewel facets filled with drawn-in detail. The tower walls were now painted to look like stonework, expertly shaded to indicate bumps and ridges.
“Textured polygon. Like a trompe l’oeil painting, if you took that in college. Whatever you did in college.”
“English.”
“Wow,” she said, toneless. “I’m going to zoom in a little—when we get closer it swaps in a high-res texture to give it more detail,” she said. As the camera moved in the stones of the tower blossomed with moss, cracks, crumbling mortar.
“Beautiful,” I said.
“Smoke and mirrors. It looks real but there’s a million little tricks holding it together,” she said. I couldn’t tell from her tone whether she was proud of the illusion of reality or contemptuous of the cheap theatrics. “Okay, now last year’s big hack—textured polygons, but with lighting.”
A final tap of the space bar and the tower was brushed with shades of darkness that gave it definition and, somehow, the impression of weight. The light came from just above the horizon, a sunset, and the hills beyond the tower faded away into dimness.
“Didn’t it just get darker?”
“Lighting isn’t about making it brighter, it’s figuring out where the shadows do and don’t fall. It’s easy to just light everything—you’re just not checking for darkness. What’s tricky is looking where the light source is and when it’s blocked.”
In the upper right corner of the screen, I noticed the letters
FPS
, followed by a flickering number. It bounced around between thirty and forty, with occasional jumps into the sixties. When Lisa added the lighting effects, the number tumbled into a single digit and turned red, and the view seemed to stutter instead of panning smoothly.
“What’s FPS?” I asked.
“Frames per second,” she said after a moment. “How many times the view updates every second. When it gets below thirty, everything starts to look jerky.”
“Like it’s doing now?” I asked.
“Yeah. It’s having to draw too many lit polygons. It has to do other stuff, like update positions of objects and play sounds and do AI calculations and all that stuff, too, but graphics are always the big drain. It’s all about getting those polys up on-screen to make everything detailed and pretty. The more polys you draw the better it looks, but then the frame rate slows down. Fewer polys, higher frame rate.”
“So who’s putting all those polygons up there?” I said, intuiting the answer.
“You are. You’re a designer, you build the world they have to draw every second. So you know when you’re in a meeting and there’s a guy who’s just looking at you with this twitchy, barely controlled hatred every time you open your mouth? That’s a graphics programmer. Every
bright idea you have is putting more polygons on-screen and making his job harder. Every time that number on the screen goes below thirty, everyone can see that his code is slow and therefore he is not smart.”
“Good to know.”
“That guy’s entire job is to keep that frames-per-second number above thirty and green. Every time you put in too many trees, or make a room too large, or put five dragons in the same room, it’s going to turn red.”
“Then if I’m a game designer, what’s my whole job?”
“I don’t really play games, so I don’t know,” she said. “From what I gather, it’s to keep adding stuff to the world until that number gets to exactly thirty-one.”
“I thought it was to make the game fun.”
“I don’t know what that means, though,” she said. She was watching me carefully as she spoke. As if maybe she was hoping I knew a secret everyone else had forgotten.
I
sat down at my desk and tried to remember everything Lisa did. Now that I knew about frames per second, I could see the number drop every time I made a room bigger or more complicated, the point of view lurching like a stick-shift car with a novice driver. That’s why everything felt claustrophobic, because every cubic foot of space meant more polygons. That’s why the player was stuck in underground corridors all the time—it was just the easiest thing to draw.
I browsed around the network directories, looking for something to do, snooping at folders. There was an Art/Assets server with gigabytes of images and 3-D models, thousands of them, and a little viewer that would show the model on the screen by itself, hanging in a starry void. I chose a file at random and opened it: a bird-headed knight on horseback. The next, a black London taxi. The third, a silver-metal rifle with its circuitry burned out. I wondered who the bird’s-head knight was. The files went on and on, thousands of them, as if a whole library full of weird stories had been shaken and these were the random objects that fell out. A wooden cross; a china teapot; a sarcophagus. I’d stumbled into the great storehouse of their toy multiverse.
I clicked and a 10′ by 10′ by 10′ cube appeared, lit as if by a candle flame. It was textured as the default plain stone wall. Click and click and you’re digging out a corridor, rooms, cube by cube. Paint on textures, stone or wood or dirt or lava. You can build what you like, nothing weighs anything and it’s all infinitely strong. You can build pillars
of dirt, metal, lava, water. I built a few rooms and corridors, dropped in a few monster spawners, treasure, and the rest, then flipped into game mode to see what it felt like.
Back in the game, I could see how this could get frightening. It was one thing to see a map of the place. It was another to be fifty feet belowground, down there in the dark, in a world silent except for distant running water, and… footsteps. A figure emerged from the darkness at the end of the corridor. A walking skeleton, animated by who knew what necromantic fires, ambled toward me. I stepped to the left to let it pass, keeping my eyes on it. To conserve polygons, it was built like a paper doll, a picture of a skeleton mounted on a single plane that slid around the dungeon shuffling its feet, pretending to walk. I felt bad for it. It wanted so badly to look like it was in 3-D. Up close I could see how low-resolution it was, too, just a bunch of pixels in jagged lines, like the side of an Aztec pyramid, just a graphic pretending to be a skeleton.
As if angered by my pity, it stopped, turned to face me, and clicked into a new set of animations—it was hostile! Its mouth opened and closed soundlessly. It drew its sword and made a chopping motion. The screen flashed red. It hit me! Being a game designer didn’t make me special or invulnerable.
I dove to the game manual to see how to defend myself, but it was too late: my health bar was falling away in chunks. The sword had a gold hilt and a fleck of red at its base—a thumb-size ruby mounted in the pommel. Was the skeleton rich once? Were these the bones of a king? No time to wonder; another flash and my in-game point of view fell over and dropped to the ground. I watched the skeleton’s feet, seen from behind now, walk off into the darkness in bony triumph. Someday it would be a real boy. I noted in passing that the skeleton had stolen my sword and two gold pieces. Up close, I could see that the floor was a pattern of black and brown pixels.
“Uh, yeah, you wanted to turn on invulnerability there,” Matt said, walking past.
I started again, this time working from empty space. I built a pillar, just a stack of blocks. And another pillar, then an arch connecting them, then a line of pillars. I built a second line next to it. I added more pillars, then a roof and a tower, until it became a cathedral, a cathedral to the undead god-emperor Russ’l the Dreadlord. I built a hundred traps to maul or ensnare or disintegrate passersby. Then I built the hell where Russ’l put those who defied him. Feeling a bit ashamed, I created an elaborate garden where Russ’l met petitioners seeking his blessing. I noticed it was four twenty-five in the morning, and I was crouched with my face inches from the monitor, my back oddly twisted and locked in place. I was in pain and needed the bathroom and I was happier than I could remember being for at least a year or two.
I walked home, newly unable to make sense of the world, or perhaps able for the first time to see through the trick of three-dimensional space. Three-dimensional space was not at all what I thought it was. It was just a sort of gimmick, nothing more than a set of algorithms for deciding what shapes you can and can’t see and how big they look at a given distance, whether they’re lit or in shadow, and how much detail shows. When you could write a computer program that did the same thing, it didn’t seem so special. I walked in a new reality, the airless dark 3-D world of Massachusetts, and the ultimate game seemed just a twist of thought away. Maybe I was there already.