Vaporware
Page 22
“It, uh, it’s about last night,” he said, looking around nervously.
“The equipment? I’ll help you replace the cameras, if you want. Even if it was your idea to put them in there.”
“No, no.” He waved his hands like he was calling for an incomplete pass. “Though if you want to chip in, that’s cool. It’s something else.”
“Leon, I don’t have time for twenty questions. Does it have something to do with the glowing female we saw last night? Just maybe?”
He stood up and started pacing. “That’s a whole other discussion. But I wanted to talk to you about Shelly.”
I blinked. “Michelle? What about her?”
He didn’t look at me, just kept pacing back and forth in the tight space between my desk and the door. “I just wanted to make sure that we were still cool even though Shelly and I have kinda hooked up, with us being buds and all.” The words were a rushed mumble, barely distinguishable from one another as he stumbled to get them out. Only when he was finished did he turn to look at me.
I laughed. “Jesus, Leon, is that what you’re worried about? She’s my ex-girlfriend. EX. Eee-eks. Whatever happens with you two is between you two, OK? Me, I’m going to spend a little more time trying to figure out who’s taking impossible screenshots to leak to a fan site and where the naked women crawling out of the monitors are coming from, if that’s all right with you.”
Leon’s face collapsed into an expression of hurt. “Are you sure, man. ’Cause I don’t want there to be any problems if there’s anything, you know, lingering.”
My eyes rolled. “There’s no lingering. Period. If you want me to get upset, I’ll try, but I really don’t have time right now. Come back around four o’clock and I’ll see what I can do then.”
“If you’re not going to take it seriously,” he grumbled, and took a couple of shuffling steps toward the door. “Wait a minute. What did you say about impossible screen shots?”
I turned the laptop around so he could see. “The only way to take this shot was from outside the playable space and behind a piece of level geometry. Which makes it impossible.”
Leon thought about that for second and scratched his chin for emphasis. “If it’s impossible, there’s only one person I can think of who could take it.”
I leaned forward. “Yeah? Who? Terry?”
“You gotta lay off this Terry thing. He’s good, but he’s not that good. No, I’m thinking it was the blue lady.”
“Aw, come on!” I threw myself back into my chair, which bounced itself and the back of my head off the wall. “That’s the stupidest thing I’ve heard in…OK, in minutes.”
“Why is it so stupid?” he asked. “If you ask me, she’s impossible. Besides, if she lives inside the network, she can probably do things in there that we can’t.”
I shook my head slowly. “But why would she be sending out screenshots?”
“Maybe she liked the game?”
“Heh.” I thought about it for a second. Inside the game, inside the network—the pieces fit, if I was willing to believe the first one. “I have to admit, I’m still having a hard time trying to believe that we actually saw her. And I’m having a harder time thinking of how we could explain this to Eric if she is the one who did it.”
“Yeah, I can see that. It’s just a thought.” He put his hand on the doorknob and half-turned it. “I’m not sure I believe it.”
“Me neither. Which is how I’m getting through the day.”
He stepped out into the hall, hand on the doorknob. “Good call, man. Open or shut?”
“Better leave it open,” I told him, but my eyes were already on the screen. Hastily, I pulled up Sarah’s chat window.
If you don’t want Thai, you just have to say so. Chinese is fine. I’ll see you tonight. This was followed by a smaller, system message informing me that Sarah had logged off of the chat. It was time-stamped five minutes ago, right after Leon had first come into my office.
“No! No no no no no no!” I frantically typed in a message to the now-grey messaging window. Thai is fine! I love Thai! Leon came into the office and I couldn’t shut him up! I sent it, on the off chance that she’d log back in later in the day and see the message waiting for her. Then, when it didn’t immediately cause her to log back in, I grabbed the phone and dialed her cell number. Two rings, and her voice mail picked up. “Hi, you’ve reached Sarah Bogdan. Leave a message at the tone and I’ll probably get back to you.”
My throat was abruptly dry, my voice scratchy. “Hey, Sarah. It’s me. I’m sorry I didn’t answer the IM, but Leon came into my office and wouldn’t shut up and I couldn’t get him out of here, and look, Thai sounds great. Do you want to pick it up, or do you want me to, or…just call me, okay? I love you, and I’ll see you around six thirty at the latest. The absolute, utter latest. Bye.”
“Problems at home?”
I looked up to see Eric sticking his head through the gap in the doorway that Leon had left. He looked faintly bemused, as if he’d had the same conversation a few dozen times himself.
“Nothing important,” I told him, devoutly hoping I was right on that one. “Just missed a chat window while Leon was in here talking about—”
“I know what Leon was talking about,” Eric interrupted. “Most of it, anyway. Is there going to be a problem?”
“With me and him over Shelly? No. With me and Shelly? Naah. With Leon and Shelly if they break up? God only knows.” I ticked them off on my fingers, one by one. “Worst comes to worst, I get Leon drunk and we can commiserate about what a ballbreaker she is, then I apologize to her profusely and tell her that Leon’s kind of a dickweed and she did the right thing.”
“And when they get back together and compare notes, they’ll both hate you.”
I nodded. “Which is the way it should be, really. Everybody hates the creative director.”
He gave a short bark of laughter. “I’m so glad you’ve got the proper perspective on this. Now,” and he let himself the rest of the way into my office, “let’s talk about this leaked screenshot.”
So I told him what I felt comfortable telling him, about the deleted email address and the fact that I was trying to track down how the shot had been taken by going back into the build. I did not mention anything about anyone glowing blue, climbing out of monitors, or interfacing with Terry, nor did I mention anything else from the previous night’s misadventure. From there, we moved on to following up on the screenshot, and a discussion of scheduling for the documentation on the revamped multiplayer features.
It was another hour before we were done, at which point I needed to go to a meeting with the level designers to talk about some recurring sightline issues, and then after that there was a sitdown with the AI engineers to discuss the list of enemy behaviors I was asking for and how many of them they could deliver in a reasonable timeframe. By that point, it was almost five, and I finally had enough time to start on some of the work I’d set out for myself as the day’s labors, some of which had to be done if I wasn’t going to bottleneck some of the feature implementation that had to start tomorrow.
And when I looked up, it was dark.
Chapter 19
Sarah was waiting for me under the porch light when I got home, sitting there on the stoop with her hair tied back and her eyes on the sidewalk. She was wearing her favorite red blouse, that and jeans and a look of utter weariness. Her feet were bare, and I wondered how long she’d been sitting there.
She didn’t look up when I pulled in, nor when I cut the engine and got out in the driveway. I walked around to the passenger side of the car and grabbed my laptop from the shotgun seat and got nothing as a response. She just stared at the sidewalk, stared at the ground, stared at anything but me.
“Hi,” I said softly as I made my way up the walk to where she sat. The door was open behind her, golden light spilling through it and around her, but I didn’t go past. I didn’t dare.
“Hi back,” she said, not looking up. “
How was work?”
“Long,” I said before I could think better of it. “Tiring,” I added after a minute. “How was yours?”
She shrugged. “The same. I got home around six. What time is it now?”
I fished out my cell phone and looked at it. “Nine thirty,” I said, and knew that she already knew the answer. “I’m sorry I wasn’t home sooner.”
“No you aren’t,” she said, softly. “This is what you do.” I started to protest, but she held up her hand to stop me. “No. Don’t. It’s very simple. If there is work, you do work. When the work is done, you come home. If there is no work, half the time you invent work. Tell me I’m wrong.”
I sat down, heavily, on the cement in front of her. Her eyes flicked to my face for a moment, and then back down to the ground. “I can’t,” I said after a long while. “I don’t know why.”
“I do,” she said, but without heat. “I know you. You let the job define you so you don’t have to, and I’m just here to fill the space around the edges.”
“That’s stupid,” I protested, and her head shot up, eyes staring.
“Is it now?” she asked. “I’m not the one doing it. Let me tell you something about yourself, Ryan. There are certain people in this world who, no matter how talented or clever or smart they are, inevitably end up getting shoved into the gears of the machine for the sake of everyone else. Maybe they do it because they’re afraid to stand up for themselves. Maybe they do it because they worry too much about everything but themselves. And maybe they do it because they’re selfish, and don’t think they deserve any better, no matter what anyone around them thinks. You’re one of those people, Ryan Colter. You always have been and you always will be.”
“Am I now?” I whispered.
Her eyes were bright, wet with tears she wasn’t going to let herself shed. “Yeah. You are. There’s not a grenade out there you won’t throw yourself on just to be the one who does it, and you know what? I’m stuck with you. I get to watch you blow yourself to bits again and again and again, and there’s nothing I can do about it because that’s just what you are.”
“Sarah….”
She shook her head violently. “Don’t say anything, Ryan. Please, don’t say anything. If I don’t get this out now, I never will, and if I don’t say this once it’s going to kill me. There are two things that happen to people like you, the people who like throwing themselves into the gears.”
My hand reached out for hers. She brushed it away. “What two things,” I asked.
“Either you get chewed up and disappear forever or you get used to it. Get to like it—having yourself be chewed up, that is. You get addicted to the agony of the fresh calamity every time you get tossed on the fire.”
I drew back, felt my arms crossing themselves across my chest involuntarily. “Which am I?” I finally asked after a moment of silence.
Sarah stared at me. “It doesn’t matter. Either way, you end up in the same place—nothing left, and the machine goes looking for a new victim. The only question is how far I’ll let myself be dragged along with you.”
Abruptly, she unwound herself and stood up. “I love you, Ryan. Your pad thai is in the fridge. It got cold waiting for you. Oh, and the DVR is cued up for your usual. I’ll be upstairs if you need me.”
“Sarah—”
But she had already gone inside. After a moment, the porch light winked out and left me sitting there in the faint, golden light from the lamp in the front hall. The door was left open, an invitation or a challenge or a warning.
I sat there, for how long I don’t know. There was some noise from upstairs at first, then nothing but the comfortable quiet creaks of a well-worn house settling in on itself for the night. And I sat there, watching gnats and moths swarm around the top of the screen door and the azaleas move in what passed for a breeze, and didn’t move. Couldn’t, really. Couldn’t force myself to get up, to go inside, to take that cold dinner and that television routine and then inevitably flip open the laptop and see if there were any late emails that needed attention.
Couldn’t. Not tonight. Not with Sarah’s words hanging in the air, daring me.
Like an old, old man, I got to my feet. One step, two steps, and then up onto the porch, and I swung the screen door open. The wave of cool air inside hit me like a physical blow, the differential between home and the world outside almost enough to twist my gut through its last unknotted half-inch. Another step and I’d be all the way inside, wrapped in the cold comfort. From there, it would be easy to take another step into routine, and another, and another, all the while pretending nothing had been said. Nothing was wrong, nothing had changed, nothing mattered—that’s what I could pretend if I kept walking.
Instead, I slipped the laptop bag off my arm and gently set it down by the door. I was supposed to have it with me everywhere I went but, well, the hell with it. Who was going to report me? Myself? Screw that.
I shut the door behind me as I went back out, shaking my head and rolling my shoulders in hopes of unraveling the knot that had taken up residence between my shoulder blades. A mouse knot, we usually called it at work, but this one was the size of King Rat. For a moment I stood there and waited for a sound from inside the house, feet coming down the stairs or a voice calling my name and asking where I was going.
There was nothing. She probably thought I was going back to work, I realized bitterly. Why wouldn’t she?
I thought about the laptop for a moment. It was fine right where it was, on the other side of the door from me. That’s where it would be staying. My feet took me back down the walk and to the car. Normally I locked it, but not this time. It was an omen, perhaps, or just an indicator as to which way escape lay.
I got in and slammed the door behind me, jammed the key into the ignition, and got the hell out of there. A light might have gone on upstairs as I was leaving. Might have. I don’t know. I didn’t look to see.
I’d left the house determined just to go, to be alone with my thoughts without Sarah’s presence as a reminder or the lure of the keyboard.
To just be, whatever that meant. I threw the car into gear and headed away from home, away from work, away from any place I might see anyone or anything I knew.
And ten minutes later, I found myself turning into the office parking lot, not surprised by it all.
* * *
There were four cars in the lot when I pulled in. One was Terry’s. It was near the door, the sure sign of a late-night dinner carpool. The other three were scattered around the lot, unrecognizable and anonymous.
Pulling in next to Terryis car, I killed the engine before killing the radio or the lights. The beams illuminated the front of the office and a stretch down the hall, brighter cutting through the glass than the interior lights were. I could imagine blind salamanders and white-eyed cave fish scuttling for cover somewhere in the vicinity of the supply closet, then shut everything down and headed inside.
* * *
The building was quiet. That was the first thing I noticed when I got inside. Normally when folks were working late, it was an excuse to take off the headphones and crank the volume, especially if there wasn’t anyone else around. Instead, what I heard was funereal silence. Even the chunking, thunking noises of the HVAC were oddly muted, hushed by the weight of the dim light.
I didn’t bother turning on the overhead lighting on the hallway leading down to my office. I didn’t bother turning on the lights in my office, either. Instead, I just slung myself into my chair and fired up my computer. The bluish-white glow from the screen filled the room, washing out all of the color that might have been there at the same time. Even the faint green glow from the debug kit, the tell-tale indicator that it was still running in spite of itself, looked weakened.
Seeing it reminded me that I’d left it on all afternoon, ever since the poking around I’d done in the Urbanscape level. The screen itself had long since gone dark, a power-saving measure built into the monitor to rescue it from people like me,
but the steady, low whirr coming from the debug kit told me that something was still going on in there.
I grabbed the controller from where it sat on my desk and pressed a few buttons to wake the monitor up. It flashed white, then black, then white again before slowly drawing in the familiar scene I’d been stymied by earlier.
Except that it wasn’t the same. When I’d left it, the scene was frozen, the simulation overwhelmed by the sheer number of entities onscreen. Now it showed a clean street, my avatar hovering over it like an avenging angel inspecting her handiwork. The dozens of enemies were gone. A quick check of the radar subscreen showed me that they weren’t anywhere on the level, either. They were gone. Wiped out. All of which was eminently possible if someone very good had snuck into my office and played the game exceptionally well, but not so possible if the game was frozen.
I shook my head. Leon was right. The weird little things were adding up in conjunction with the big ones, and they almost scared me more. I ended the mission, then set the log to dump to my system. Looking at the record of all of the AI decisions on the level would tell me who had done what to whom and when. While that was going, I dove back into the level design documentation for Urbanscape. Something about the freeze was nagging at me, and I wanted to double check what I thought I remembered.
After a minute of digging, I found the level design and opened it up. At the end of the doc were notes from the QA lab, the testers whose job it was to push things to the limit to see if, how, and when they’d break. Usually, they’d put something in there about the maximum number of enemies a level could support while still maintaining frame rate.
I scrolled through the doc. The space had been designed for 60 enemies at a time in hunter-killer game modes, with more respawning in to replace the ones the players had killed until the timer ran out or the desired number of kills had been reached. A decent frame rate was thirty frames per second, thirty redraws of the onscreen image. Officially, we had been gunning for sixty, but as Leon had said, he could give us sixty if the game involved sitting in a white room with no furniture and fighting invisible rocks.