by Martha Wells
The map had been inaccurate about the height of the corridors so the schedule had been pushed back, and they were getting jittery. (Jittery humans who I am attempting to extract from the middle of a firefight, always fun.) Only partly to distract them, I said, “Do you have any intel about what happened here?”
“It’s alien remnant contamination.” Kaede looked up at me, her brow wrinkled. “The colonists knew it was here. Adamantine thought the Pre–Corporation Rim colony had sterilized the site, but they were wrong.”
Matteo tucked their hands under their armpits. They were small like Iris and Kaede, and had a lot of dark hair that had come loose from braids. “Apparently the Adamantine colonists started to get sick not long after they got here. Some had physical symptoms—the changes to skin color, weight, eye color. They knew it was alien remnant contamination, so they moved out of the primary site and established a colony on a secondary site further away.”
“That, in itself, was not rational,” Tarik added. I could see his point. But it was probably why Adamantine had destroyed the records of the colony’s location. They didn’t want to get caught, plus they knew whatever happened, it wouldn’t be good for the colonists stuck here.
Kaede continued, “Five years ago there was another outbreak of symptoms, but this time it was much worse. Some developed psychological effects, but others didn’t. Some of the affected seem to think they’re part of an alien hivemind.”
Seth waved toward the drop box chamber. “That’s what we think this is about—they’ve formed factions, with the ones who are less affected trying to hold off the others. The drop box arriving again triggered the fight.”
Iris said, “We’re fairly sure the alien hivemind thing is a group delusion.”
“It has to be a delusion,” Tarik said. He swayed a little and Seth steadied him.
“It doesn’t have to be a delusion—” Matteo began, and Kaede and Iris both started to object.
Seth said firmly, “I do not want to hear this argument again.”
Everybody shut up, which was just as well because Distraction01 and 02 were about to arrive.
We had almost lost our window of opportunity: the Targets on the balconies had withdrawn most of their force, and the Targets on the other side of the chamber had shifted position, getting ready to advance. From the way they were moving, I think somebody had figured out there was something sketchy happening in the lift pod lobby. I said, “We’re thirty seconds out. Remember, go to the left, down the corridor, and follow Thiago. I’ll cover you.” My drones showed him in the corridor, waiting tensely, and I tapped his feed to tell him it was almost time. He sent an acknowledgment. Overse had reached the maintenance capsule access and was bouncing on her heels, waiting.
Iris glanced at the others. “Everybody ready?”
They nodded, and Seth squeezed her shoulder. I had given her my secondary energy weapon, just in case. (I know, it had been hard enough to give Overse the poppers. But Iris had let a strange SecUnit look at the back of her neck and she was ART’s favorite.)
I had camera views via my drones so I knew what the chorus of startled yells from across the arrival chamber meant. Just as the two ag-bots rolled into the room and unfolded, I dove out from behind the glass wall and started shooting.
Obviously the Targets knew what the ag-bots were but two suddenly bursting into the shadowy chamber, standing up and waving their limbs was startling. It was so startling a dozen Targets shot at them in reflex. I picked off four Targets who had just moved into position above us and two in the archway directly across. I had more poppers but I hadn’t gotten them out and armed them because I didn’t think they’d be as effective a second time.
(In hindsight, this turned out to be another mistake.)
The humans had followed instructions and darted out behind me. I had a drone on Iris as she led the dash to the correct doorway (I say dash but humans are so damn slow even at the best of times and this group was exhausted and starving and in shock). Iris stopped at the doorway to wait for the others. They scrambled by and Seth grabbed her arm and tried to push her ahead of him as he limped down the corridor. Iris’s drone picked up a front view of Thiago, ducking out and motioning urgently for them to keep running.
My timeline had seventeen seconds to provide covering fire in the chamber and I wanted to keep it chaotic, at least until the humans got out of the long straight corridor and into the section with the access to the maintenance capsule. It was at least a seven-minute run for a healthy human and these humans were barely upright, so I wanted to give them as much time as possible.
Then suddenly, shit went sideways.
I was controlling the ag-bots through a drone relay and I felt the input drop when I lost contact. Then ag-bot 1 whirled and slapped me across the chamber.
For a bot with such delicate limbs, ag-bots pack a pretty solid punch. I hit the manufactured stone floor, bounced, hit it again, and bumped to a sprawling stop. (I’ve had worse.) Immediately I rolled and came to my feet, and that was when I realized all my inputs had dropped, the ag-bots, my drones, everything.
Then ag-bot 2 collapsed itself down and dove down the corridor after the humans.
Oh hell no. I pulled the handful of poppers out of the enviro suit’s pouch, and even with my inputs down, the direct contact allowed me to make enough of a connection to arm most of them. I threw them down just as ag-bot 1 lunged at me, they went off, and it froze as all the noise and light overwhelmed its navigational sensors.
I bolted after ag-bot 2, so fast I only felt impacts from two projectiles, one in my back and one in my upper thigh. I had lost contact from all my drones so the only input I had was my own visual and that was not enough input for this situation.
Approaching at top speed I saw the humans still running, strung out up ahead, Seth last. Then Seth collapsed. The ag-bot slid to a stop near him and its spidery limbs reached down. I couldn’t get there in time and if I lost one of ART’s humans like this …
Then Iris flung herself at the ag-bot, slamming through its delicate limbs to fire her weapon directly at the center of its body where its processor was. It would have been a great save. But her weapon didn’t have the power to penetrate the casing and all it did was make the ag-bot, or whatever was controlling it, angry. It turned its limbs inward and grabbed her.
But by that time I was there.
I wasn’t sure my weapons would get through that reinforced body casing, either, so I shot it in the knee joint. That leg partially collapsed and it forgot about tearing Iris apart. I circled in front, shooting limb joints, and it dropped her.
She sprawled on the ground, then flailed forward to Seth and tried to haul him to his feet. I kept firing, keeping the ag-bot at bay as it tried to claw toward them. I could have still lost both of them at that point but as I angled around I caught a glimpse of Thiago sprinting up to Seth. Then the bot surged forward again, unfolding more limbs, and I shot more joints. Man, this thing had a lot of limbs.
I risked a look back and saw Thiago had Seth slung over his shoulders and was running down the corridor with Iris. She threw a desperate look back at me and I yelled, “Keep running!”
I turned back and had a perfect shot at the ag-bot’s fifth knee joint. Hah, this is over. I fired and the joint blew out.
It was over, because that was when the ag-bot collapsed on top of me.
It hurt because apparently those things weigh a lot more than they look like they do. It was a good thing I don’t need that much air. I shoved and wiggled and lost my primary weapon, but I managed to get out from under its body.
But by then the Targets were there, and they all started shooting at me. I couldn’t get up. I shielded my head with my arms, and felt the projectiles going through the enviro suit but not the deflection fabric of the uniform ART had made for me. Then the fabric started to fail under all the impacts and this could be—
Performance reliability catastrophic drop.
Forced shutdown.
No restart.
16
Murderbot 2.0
Deployed aboard Barish-Estranza Explorer
Mission Status: Delayed
TargetControlSystem knew me. I’d killed a part of it, the part that had taken over ART.
I said, Did it hurt? Tell me all about it.
It was resident in the explorer’s systems where the poor bot pilot had lived. I got a brief glimpse before it walled me off, but all that was left were random sections of code; the bot pilot’s kernel had been deleted. TargetControlSystem would like to haul me out of the SecSystem so it could kill me, but it had access to the bot pilot’s archives and it knew what killware was.
I told it, Come in here and get me. (Yes, I was stalling. I had code bundles in place and there were a lot of destructive things I could do to the explorer, but no way to get the humans off the ship or get a message to ART.)
Then something else established a connection, an off-ship connection through the comm. From another ship? The space dock? Or wasn’t there a planet around here somewhere? And whoever was making the connection, it must be a Target, because it was using their language. I was reading its communication through targetControlSystem, but I could still see the original, untranslated signal.
TargetContact wanted targetControlSystem to find out what I was, so they could use me. I might be just what they needed. TargetControlSystem told them I was a SecUnit. TargetContact said that wasn’t possible, a SecUnit is a kind of bot, like the ones on the captured ships, easily dealt with when you had control of the humans.
(Yeah, it said “the humans.” But if this was an alien intelligence then all the horror media I’d watched had really gotten it wrong. Which is not impossible considering how wrong the media gets everything else.)
(You know, I don’t think this is an alien intelligence.)
The targetControlSystem said, no, I was too dangerous.
I said, It’s right.
TargetContact heard me. They were startled. They said, What are you?
A SecUnit. Killware.
TargetContact said, A software ghost.
I liked that. I had watched media with ghosts, though I didn’t have access to the files or titles anymore. I said, A ghost that kills you.
To prove to me that I was helpless, TargetContact started to show me security video. There was no metadata to tell me where it had been recorded. Not a ship. The space dock, maybe? But what was an agricultural bot doing on a space dock? An agricultural bot that’s fighting with … Holy shit, that’s me.
TargetContact told targetControlSystem, This is software, not a SecUnit. The SecUnit was on the surface, we have it now.
TargetControlSystem told TargetContact: You are giving it data, stop.
Me Version 1.0 is on the planet and has been captured and we are seriously screwed now. I’m sorry, ART. I’m sorry, humans and Me 1.0.
That was when I caught a tentative secure contact from SecUnit 3.
It had just disabled its governor module.
I checked the corridor camera view and watched it surreptitiously move its feet, the armor flexing as it shifted its shoulders. It was strange seeing this from the outside. I knew what it was thinking. My first realization had been: the governor module’s gone and I can do whatever I want! My second realization: what do I want? (I’d been stuck on that question for a long time.) (Actually Me Version 1.0 was still stuck on it, as far as I knew.)
I asked 3, What do you want?
SecUnit 3 said, To help you retrieve our clients. Then it added, After that I have no information.
Now it’s on.
I sent SecUnit 3 a brief instruction/message bundle and it answered, Acknowledge. On your mark.
TargetContact was telling targetControlSystem, Neutralize this software, then—And then they started screaming because I’d triggered all my code bundles and targetControlSystem had triggered its code bundle to purge SecSystem and I had attempted a purge of targetControlSystem. Weirdly, TargetContact was somehow directly connected to targetControlSystem and seemed to be experiencing physical responses based on what I was doing to it. Wow, that was a bad position to be in just about now.
TargetContact tried to disengage and but I locked it in. TargetControlSystem tried to delete me but I was making single-function duplicates of myself and turning them loose so it was having to divide its attention a lot. Other things were happening at the same time, three of which were:
1) CodeBundle.LockItDown had closed all the hatches on board except those directly between SecUnit 3’s position and the shuttle access.
2) CodeBundle.FuckThem had fried all targetDrones.
3) CodeBundle.FuckThisToo had cut the connections between the solid-state screen device and the humans’ implants. Oh, and I shut down life support on the bridge so the Targets in there would be thinking about other things besides restarting their screen.
I told SecUnit 3, Mark.
It pivoted to the locked hatch of the lounge, punched through the panel for the controls, and hit the manual release before I could open it remotely. (That’s one of the reasons Me Version 1.0 misses its armor.) Some humans had jolted awake when the implant connections were cut and others had started to twitch and moan. ART’s human Turi, who was young like Amena, shoved halfway to their feet and stared at SecUnit 3 as it stepped inside. SecUnit 3 said to all the dazed, half-conscious humans, “I’m here to retrieve you. Please cooperate to the best of your ability and I will take you to safety.” It had read my message bundle because it then turned its helmet to Turi and added, “Perihelion sent me.”
Still on the floor, Karime gasped and staggered to her feet. As she and Turi hauled Martyn upright, she said, “There were other people with us—in uniforms like this, are they—”
“They are no longer aboard.” SecUnit 3 stepped over and pulled a Barish-Estranza tech off the couch and set him on his feet. “Please follow me quickly.”
Real killware would have destroyed the ship by now but I had to wait for the humans to get to safety. TargetControlSystem fought me for the bridge life support and lost, then retaliated with a hit on SecSystem and deleted my file storage. Well, now I’m really mad. I hit the engine control systems and made it think I was going for an overload. It panicked and moved to reinforce the hastily assembled walls there and I switched to weapons control and dropped off another code bundle that would blow a hole in the hull if anybody tried to lock in a target.
TargetControlSystem wrote and ran a process to delete the duplicates of myself almost as fast as I could create them. (The other iteration of it aboard ART must have been able to send a report of how Me 1.0 had taken it down the first time. Luckily I wasn’t sloppy enough to use the same primary attack twice.) I was splitting my attention and fighting on a dozen fronts. I lost CodeBundle.LockItDown and all the interior hatches opened. I got a glimpse of a corridor camera where Karime dragged Martyn along while Turi guided the stumbling Barish-Estranza crew ahead of them. A woman with bridge crew insignia said blearily, “The rest of the crew— Is the supervisor—”
“You are the only survivors aboard,” SecUnit 3 said.
Two armed Targets reeled out of the corridor junction to the module dock and fired at the humans. SecUnit 3 lunged to take the hits on its armor, fired the projectile weapon in its arm, and was on top of the Targets when I lost the view.
All this time (it was 3.7 minutes, which is a long time when you’re in a viral attack) TargetContact had been trying to break its connection to the ship. If I let it go, I’d have more resources for kicking the shit out of targetControlSystem, but I wanted that connection.
Almost there.
TargetControlSystem had broken down my walls to fry sections of SecSystem and I was running out of time. I couldn’t contact SecUnit 3 and couldn’t get a camera view of the shuttle’s module lock. Oh, I’ve got an idea.
I abandoned SecSystem as targetControlSystem triumphantly destroyed the rest of its functions and transferred myself to the re
latively small system that controlled the module dock. It gave me the twenty-two seconds of breathing room I needed to get a local camera view and see SecUnit 3 holding off the Targets at the module hatch as Karime and Turi pushed the other humans aboard the shuttle. I managed to lock the module hatch, blocking the Targets’ access. SecUnit 3 turned immediately and chucked the last wavering Barish-Estranza human aboard, pushed Turi and Karime in, stepped in after them, and closed the hatch. As soon as the seal was solid, I jettisoned the shuttle.
TargetControlSystem hit me with everything it had. It told me I would never take the ship.
I told it, Okay, you keep the ship. I’ll take the planet. Then I transferred myself to TargetContact’s connection and fell down away from the explorer, following TargetContact’s comm signal.
I heard TargetContact order, Fire on the shuttle, don’t let it get away!
(Yeah, it doesn’t sound like an alien. I think it’s a human. And hah, I hadn’t planned for this last bit to happen but it sure worked out well.)
TargetControlSystem reported a confirmed targeting lock.
My last code bundle, the trap I’d left in the weapons system, went active. The static as it triggered the explosion and the explorer’s hull split echoed after me as I fell all the way to the bottom.
17
Designation: SecUnit 003 Barish-Estranza Explorer Task Group-Colony Reclamation Project 520972
Status: Retrieval in progress. Baseship Explorer is destroyed. Piloting shuttle to unidentified transport.
Contact requested: transport designated Perihelion, registered Pansystem University of—
Response, Transport: Who the fuck are you?
This is nonstandard communication. The contact is a transport bot pilot, but transport bot pilots can’t/don’t communicate this way. But since Explorer Task Group arrived in this system, nothing has been standard.
Non-standard may put the clients at risk. I have the hatch closed on the rear compartment of the shuttle as is protocol when a SecUnit is piloting, but I am monitoring via the shuttle’s SecSystem. All clients appear in need of medical attention, most are semi-conscious again.