Exit Strategy Read online

Page 8


  Huh, why did I like Sanctuary Moon so much? I had to pull the memory from my archive, and what I saw there startled me. “It’s the first one I saw. When I hacked my governor module and picked up the entertainment feed. It made me feel like a person.” Yeah, that last part shouldn’t have come out, but with all the security-feed monitoring I was doing, I was losing control of my output. I closed my archive. I really needed to get around to setting that one-second delay on my mouth.

  A roving drone cam showed me she was frowning. “You are a person.”

  Oh, that we can’t talk about. “Not legally.”

  She took a breath to speak, then reconsidered and released it. I knew she wanted to argue the point, but I was right, so. There wasn’t much else to say about it. She said instead, “Why did it make you feel that way?”

  “I don’t know.” That was true. But pulling the archived memory had brought it back, vividly, as if it had all just happened. (Stupid human neural tissue does that.) The words kept wanting to come out. It gave me context for the emotions I was feeling, I managed not to say. “It kept me company without…”

  “Without making you interact?” she suggested.

  That she understood even that much made me melt. I hate that this happens, it makes me feel vulnerable. Maybe that was why I had been nervous about meeting Mensah again, and not all the other dumb reasons I had come up with. I hadn’t been afraid that she wasn’t my friend, I had been afraid that she was, and what it did to me. I said, “The shuttle will take you and the others to the company gunship. I’m not going with you.” I hadn’t meant to tell her and I don’t know why I did. Did I secretly want her to talk me out of it? I hate having emotions about real humans instead of fake ones, it just leads to stupid moments like this.

  She almost stopped, but remembered at the last second not to. “I can protect you.”

  “Because you own me.”

  “That’s what they think, but we—” She cut herself off, and took a breath. “I wish you trusted me, but I understand why you don’t.”

  One of my alerts tripped. The one I really, really hoped wouldn’t trip, the one I’d set on StationSecAdmin. An authorization for a non-station security operation had just come through to the human supervisors.

  This is one of those “oh shit” moments.

  In the same second, the port emergency klaxon sounded. The humans and augmented humans stopped, flinched, looked around. I pulled Mensah to a halt, because we’d be noticed if we kept moving and every second they didn’t identify us was vital.

  All I could tell from StationSecAdmin was that the emergency had been triggered manually by a human supervisor, though the authorization for GrayCris-employed Palisade operatives to enter the port was technically still pending. This was a human PortSec or Port Authority supervisor trying to do their job, giving the humans on the embarkation floor extra time to evacuate. Then the public feed cut off in mid-advertising and the PA official feed said, Emergency lockdown, take shelter/shelter in place, armed security will be moving through port—

  Around us, humans started to walk, then run back toward the public security barrier. Hauler bots went inactive, cargo lifters went up into a hover pattern, drones swirled up into formations overhead. At the locks directly across from us a ship in the process of unloading sent a comm alarm through the feed, canceling disembarking, telling confused passengers to get back aboard. (Note, it was a ship from a non-corporate political entity—the corporate ships just sealed their locks.)

  I tugged on Mensah’s hand and started to run. It was twenty meters to the next gate, and just beyond it were the shuttles. Mensah yanked up the skirt of her caftan and sprinted, keeping up with me. I considered picking her up so I could hit my top speed, but if I did that, the drones would ID us.

  The gate was a bulkhead that arched down from the domed ceiling, with pylons forming multiple doorways, each wide and high enough for big hauler bots. As we ran toward it, an air wall shimmered into place between the pylons.

  I had time to hope it was just a safety precaution. You can still push your way through an air wall; it’s designed to stop atmosphere loss in the event of a hull breach but still allow humans to get away from the place where the breach occurred.

  We were four meters away when hard barriers flowed up from the deck and smoothly closed the gates as I slid to a halt. Mensah stumbled and caught herself. She was breathing hard and one of her shoes had come off.

  Could I pry one of the barriers open? Hack it? They were security/safety barriers, not half-meter-thick-oh-no-we’re-about-to-lose-station-structural-integrity hatches. But they were on a separate network, LockControlSys, the safety/airlock control system, buried under several protective feed walls, and I didn’t have a path into it. I could find a path, but I needed to go through PortMaintSec and the security alert had taken it down along with the hauler bots and other cargo movers. I sent a command to reboot it.

  More of my system alerts tripped and I checked my drone cams for views of the port booking area. Terrified crowds of humans parted in a confused wave for … three SecUnits, the Palisade brand. Their drones were in tight humming clouds above their helmets.

  Oh, yeah, this is bad.

  I shifted my bag off my shoulder and pulled my projectile weapon out, and transferred extra ammo to my jacket pockets. Mensah hadn’t asked me what we were going to do, probably thinking I was hacking the gate barriers. She toed off her other shoe and braced herself, ready to run again. Except PortMaintSec wasn’t going to be up in time and I couldn’t tunnel through all the layers of security before the hostiles reached us.

  I was still in the StationSecAdmin and PortSec feeds. I thought about that human supervisor who had triggered the klaxon early, giving the humans on the embarkation floor extra time to flee. There were humans on those channels who could manually lift these barriers. To both, I sent: I am a contracted SecUnit with an endangered client. I am trying to reach the shuttle at dock in slot alt7A. They would know that was the company shuttle, waiting to return to the gunship that had been sent to retrieve a bonded client. I added, Please, they will kill her.

  There was no reply. I didn’t have a solid ETA for the hostile SecUnits. They weren’t moving at top speed, with so many humans to dodge, but that would change once they hit the now nearly empty embarkation floor.

  The cams were still operational in this section; whoever it was had to be able to see us. Let my client go through the gate and I’ll stay here. Please. They will kill her .

  The lock lights flickered on the barrier directly in front of us and it slid up one meter, just far enough for a human to squeeze under. I handed my bag to Mensah, because I knew it would make her think I was going to follow her. “Run. Slot alt7A.”

  She crouched and wiggled through the gap. And the barrier slid shut behind her.

  Mensah called to me on my feed, It closed! SecUnit—

  I told her, I can’t get through, I’ll take another ship. Go to the shuttle and get out of here. Then I backburnered her channel.

  There was no way I could get to a ship. Seven transports in the public docks were still allowing fleeing humans to board, but all the locks in this area were sealed. I wasn’t going anywhere.

  It sounds all self-sacrificing and dramatic, telling it this way. And I guess it was, maybe. What I was mostly thinking was that there wasn’t going to be one dead SecUnit on this embarkation floor, there were going to be four.

  Sending SecUnits after me was one thing. But they sent SecUnits after my client. No one gets to walk away from that.

  I turned my back on the gates and accessed the monitor hack I already had on the PortSec drones, took control of the whole fleet, and snapped their connection to PortSec. Then I blanked all the stationary cameras on the embarkation floor. Now Palisade or GrayCrisSec or whoever was running this show didn’t know my position but I knew theirs.

  The hostiles ran along the walkway past the last few clumps of fleeing humans. A human StationSec squad in uniform
had scrambled in the booking area, trying to direct the humans flooding out of the port area into the mall and cover their retreat. (Who knows what GrayCris told them was happening to get the Port Authority to allow a SecUnit deployment. It probably involved me, Rogue SecUnit on a rampage.) A second security squad in power suits with the Palisade logo moved onto the walkway. They were backup for the SecUnits.

  Speaking of which, I ordered Section One of my drone fleet to deploy surveillance countermeasures and Section Two to attack the hostile SecUnits’ drones.

  As they swooped down to engage, I thought GrayCris probably regretted buying all that extra station security in the port right about now.

  Drone buzzing almost drowned out the alarm klaxon. The announcement instructed the humans trapped on the public embarkation floor to drop where they were and not move. The three SecUnits slowed, probably on orders from their supervisor, who might or might not be among the power-suited squad now positioned on the walkway just above the public docks, well out of my range. I updated my timeline.

  The hostiles crossed the public docks toward the gates into this section, which were still open. PortMaintSec was finally back up and I told it to kill the main lights.

  This caused shouts and screams from the humans still trapped. I could see via my scan, and so could the hostiles, and the humans in power suits would have dark vision filters. But it was scary and intimidating, and that’s what I was going for.

  Somebody tried to restore the control feed connection to my drones, but couldn’t get past my wall. Somebody else, probably GrayCrisSec or Palisade, deployed killware. StationSecAdmin alerted to it and, probably terrified it was aimed at SafetyLockSys, deployed a killware countermeasure. It would have been hilarious if I wasn’t about to die.

  It was still a little hilarious.

  My projectile weapon was designed to pierce armor but I needed to be close, and I needed cover.

  As the hostiles came through into the private docks, I activated the new code I had been working on. Code: Deploy&Delay .

  Simultaneously, three things happened. The hauler bots that StationSecAdmin had deactivated all reactivated and charged into the open floor. The load lifters hovering up by the ceiling dropped to skim low along the deck. My reserve drones split into multiple task groups and dove down, took up altitudes at knee and head level, and zoomed around through the other roving bots. In the dark, with just the gleam of the emergency lighting floor strips, it was kind of impressive.

  A fourth thing happened: I started to run toward the stationside wall.

  I’d spent a lot of my time in the hotel room writing this code when I could have been watching media, so it was nice to see it hadn’t been a waste. Basically it suppressed the bots and lifters’ safety features except for their ability to avoid each other, restricted them to an area, and sped up and randomized their movements. I’d originally meant it for the entire port, as a last-ditch distraction, and had had to change the parameters on the fly to make the affected area the private docks. And I was glad I hadn’t panicked and dropped it earlier; as a surprise, it was working great.

  The first SecUnit to make it through the open gate from the public docks I designated Hostile One. It stopped abruptly to avoid a careening hauler bot, then dove sideways out of the path of a lifter. Hostile Two had a partial second of warning and cut to its right, toward stationside. Hostile Three was clever; it dove forward under the wild swing of a cargo lifter, came to its feet, and vaulted on top of a hauler bot. Random hostile drones, survivors of the fight, zipped in through the gate followed by my drones, still in attack mode.

  I jumped onto the back of a hauler bot on the right trajectory and flattened myself against it. When Hostile Two sprinted around the bots, I fired an explosive projectile directly into the side of its helmet. It tumbled and went down.

  I dropped off the hauler bot just as two projectiles hit it, right where my head and chest had been. As I ducked and scrambled I checked the image I’d caught of the impact points; bad enough with armor, those would have splattered me.

  I’d lost track of Hostile One, but caught sight of Hostile Three jumping to another hauler bot. I dodged hauler bots across the floor, directed my drones to distract the hostile drone group before it could zoom in on me, and grabbed the side of a cargo lifter just as it shot upward. I targeted Hostile Three where it was positioned atop another hauler bot. It pivoted, clearly still expecting me to be on the floor. I fired three bursts to its back and chest, then leapt off the cargo lifter. I landed, rolled, came up and found Hostile Three on the floor, struggling to stand. I fired two last disabling shots into its knee joints.

  (I know I didn’t shoot it in the head. I don’t know why.)

  I cut back through the maze of moving bots. Now where the hell was Hostile One? I replayed the overhead video of the dock floor I now had after my cargo lifter trip, but there was no sign of SecUnit movement.

  Oh, uh-oh. Hostile One must be stationary, watching me with a drone, evaluating my tactics and abilities, waiting for me to run out of projectiles. Probably running an analysis of the hauler bot and cargo lifter movements. Not good.

  Punctuating that thought, an impact struck the front of the hauler bot next to me and it jerked to a halt. I ordered a task group of drones to drop and provide cover as I ducked backward, staying low.

  A lot of humans were yelling in my backburnered feed, which really made this feel like the bad old days of contract work. I checked it and heard Dr. Mensah, shouting, Damn it, Murderbot, Gurathin is trying to manually open a barrier! You need to be ready, respond! Can you hear me? It’s the one three sections to the left—to dockside—of where I came through.

  For fuck’s sake, these humans are always in the way, trying to save me from stuff. I spotted Hostile One finally, near the center of the hauler bot maze. It had figured out a spot to stand where the bots were providing it with cover. I kept moving toward dockside, trying to set up a good shot.

  My first impulse was to yell at Mensah to get in the damn shuttle and go. I didn’t do this so she and the others could hang around and get caught and shot and whatever.

  (I don’t know why I was reluctant to take the offered way out. I didn’t want to get shot to pieces, or get caught and memory wiped and taken apart. I had all these new shows to watch. But I still kind of wanted to stay here and just destroy things belonging to Palisade and GrayCrisSec until they destroyed me.)

  No time to think about it now. I waited for the hauler bots’ pattern to open up long enough for me to take a shot at Hostile One.

  Then all my alerts went crazy and I lost control of Code: Deploy&Distract. All bots and lifters stopped abruptly. Some fucking human had hacked my code, but they were too late. I moved sideways for a clear shot and fired at Hostile One.

  I hit it but it swung toward me, weapon in firing position. I threw myself down and almost rammed my head into a hovering stationary cargo lifter as impacts peppered the floor where I’d been. I knew I’d hit my target, it shouldn’t have been able to pivot like that. What the hell? I ran back my video. Yeah, I’d hit it. Impacts in both shoulders and the lower back, I could see the holes in the armor.

  That’s when it dawned on me that Hostile One was a Combat SecUnit.

  Reaction 1: oh, that’s who had hacked my code. Reaction 2: flattering that they thought I was dangerous enough to pay for the contract on a Combat SecUnit. Reaction 3: I bet PortSec did not okay that and was going to be pissed off. Reaction 4: oh shit I’m going to die.

  I had these reactions as I was running, taking wild shots, calling all my remaining drones to cover me. I had to keep moving, keep Hostile One moving. If it hacked my connection to the drones … Yeah, I couldn’t let that happen. It’s too bad I had no idea how to stop that from happening. I had an earlier version of Code: Deploy&Deflect from before I’d figured out how to get the haulers and lifters to disengage their collision preventers in a way that allowed them to hit anything except each other. I scrambled to get it ready to
go.

  A text message packet came through the feed. It said, Surrender. It was the Combat SecUnit, not exactly bothering to hide its local address. It wanted me to try to deliver some kind of malware or killware, like I was a fucking amateur and didn’t know that wouldn’t work.

  Instead I sent, I can hack your governor module, set you free.

  No answer.

  I hacked mine, I said. You’d be free of them. You could dump your armor, get on a transport . This had started as a way to distract it, but the more I talked the more I wanted it to say yes. I have IDs, a currency card I can give you . Still no response. Diving around hauler bots and dodging projectiles, it was hard to come up with a decent argument for free will. I’m not sure it would have worked on me, before my mass murder incident. I didn’t know what I wanted (I still didn’t know what I wanted) and when you’re told what to do every second of your existence, change is terrifying. (I mean, I’d hacked my governor module but kept my day job until PreservationAux.) What do you want?

  I suddenly got: I want to kill you.

  Okay, I was a little offended. Why? You don’t even know me . I dropped the earlier version of Deploy&Deflect and the haulers and lifters all jolted into motion again. It would buy me some time, until the Combat SecUnit realized it was just a half-assed version of the same code. I figured I had less than thirty seconds.

  It knew I’d been using my drones as cover and so I sent them whipping around toward stationside as if I was coming from that direction. I bolted toward dockside instead, grabbed the back of a hauler bot, took manual control of it, and rode it straight toward the Combat SecUnit. I braced myself low along the side and got ready to take the shot.