"The showrunners are using a standard civilian chat module, and a low-end one at that," Albert said. "It contains a wide array of advanced communication options that they didn't want us to have, but removing said options would have meant hiring an expensive consulting shop to hack the code. Instead, they settled for simply redacting the interface and the help system—they turned certain buttons transparent, edited out relevant information, that sort of thing. The features are all still there if you know what to do.
"As relates to the current situation, everyone should set their system to 'promiscuous announce' and 'open relay'. That means that everyone's contact list will be publicly broadcast and propagated through the system. The chat systems will collect the contact lists and collate them to form a network graph that allows calculating shortest-path routings for messages. The 'open relay' part will implement no-touch messaging from any crawler to any other crawler via shortest-path graph traversal."
"...What? I got the part about promiscuous announce but what was the other bit?"
"Apologies, ma'am. Imagine that Carl's friend Imani wanted to send a message to your friend Hekla. Imani can't message Hekla directly because they have not physically met to authorize one another. She can, however, send a message to Carl, who forwards it to you, and you forward it to Hekla. Setting your interface to 'open relay' means that all of that will happen in the background with no interaction required on your part or Carl's part and no need for any of the crawlers involved to know the necessary pathing—the chat system will figure out how to forward the message such that it reaches its destination.
"Note that this method is completely insecure. The message in my example will be recorded and stored in your interface and Carl's interface as well as those of Imani and Hekla, and you or Carl could undetectably modify the message before retransmission, either corrupting the information or executing a man-in-the-middle attack."
"That sounds worth it to me," I said. "How do we make it happen?"
"I am placing suggested instructions in your Drafts folder, ma'am. As written the message will be sent as a Chain Filtered Blast, meaning that it will go to everyone in your contacts list and as people forward it on the AI will take care of deduplication." A chat appeared in my Drafts folder, showing the chat interface with several blank areas filled in with labeled buttons, plus paragraphs of text explaining what crawlers should do to connect with the rest of us. I skimmed it, then clicked Send.
*There's more, ma'am. It is possible to create a shared static map based on input from the network. Doing so would, however, require that I have permission to send map images to everyone in the network.* Several more sentences scrolled quickly by, explaining the details. I read them with a sinking sensation in my heart at the implications, and then I took the advice at the bottom and spoke the words that Albert was teleprompting for me. I chose the option that meant 'yes, I want you to do this.'
"Albert," I said, "I'm guessing that if you can arrange shared communications then you can arrange shared mapping. Right?"
"Wait, what?" Carl asked. "We can share map data?"
"It's possible, but it's a bit of a lash-up, ma'am," he said, copying the message to chat for Carl and Donut. "The system does have location-tracking capacity built in—that's how you're able to see other crawlers' dots on your map. Unfortunately, the showrunners disabled the ability to share your location outside of the immediate area, either directly or via relay, and this time they did it properly. There's no way to reverse their lockout without hacking the chat system, and getting caught hacking the chat system is an extremely bad idea.
"Of course, there's a workaround. You aren't allowed to broadcast your location metadata but you can broadcast a screenshot of your map at full size."
"Wait, what?" Carl said. "I thought the screenshot thing was from my Valtay implant?"
"The Valtay implant allows you to extend your viewport through a subspace portal. Screenshotting is a built-in component of the system. It's how the first-person streams work."
Donut gasped. "We're streaming live? That's amazing! Can we put it on the network so other crawlers can see?"
"No, Donut," Carl said.
"But Carl, think how amazing it would be! It would be like our own reality show! Just think what that would do for our ratings! Kim got famous that way, and Ms Bea always said that it was only because she had a big butt!"
"Continuing, if I may. It is straightforward to take multiple overlapping map images and match them up in order to form a larger map with the location of each crawler included. Crawlers could open their map up as wide as possible, screen shot it, and message it to you, ma'am. I would take all such messages, assemble the data, and broadcast the complete map back outwards. It would be a static image, updating only when someone screenshotted their map and sent it on, but it would be vastly more informative than the actual map. If people would like to share their map data but opt out of showing their location, I can do that as well.
"I should note that this would be an extreme security risk. Even those who choose to opt out of having their location shown would still be revealing it to everyone between themselves and us in the network pathing, and the others would be revealing it to every crawler in the network. It would make it easy for player-killers to find victims."
"It's worth the risk," Carl said. "As long as we let people know so they can make an informed choice, I don't see the problem. We have that City-boss map that marks the location of bosses. That's valuable intel that people should know so they don't get in over their head. Do it, Albert."
"With whatever respect is due, sir, I do not take orders from you. If you wish me to begin the network mapping efforts, may I suggest that you politely request Commander Grim issue the order? If you disprefer that option, might I suggest that you vertically micturate upon a rappeling line?"
"What does micturate mean?" Donut asked.
"Go ahead and do it, Albert," I said, hoping that Donut would not choose this moment to becone non-distractible. "You have permission to send map images to everyone in the network."
"Thank you, ma'am."
A message appeared in my Drafts folder with all the relevant information on what people needed to do. I skimmed through it and hit Send, then pulled up my map, pushed it out to maximum size, and mentally ordered my interface to snapshot. Moments later the image wooshed out onto the network.
"Okay," Carl said. "We've got communication and mapping data, so let's circle back. Rescuing people is potentially an option. Most of the train lines are shut down because their trains are wrecked, so a lot of people are stranded. We're the only group that I can reach who has control of a train that can move up and down."
Love what you're reading? Discover and support the author on the platform they originally published on.
"Repair Station lets us get to multiple different tracks," I said. "If we can get people to gather at central locations we can pick up more of them."
"I have a list of optimized collection paths if you need them, ma'am."
Carl raised an eyebrow. "How many can we save?"
"Ma'am, based on my current information, the maximum number of stranded crawlers that your team could rescue varies between 8 and 739 depending on a number of assumptions, the most important of which is the level of risk your team is willing to accept."
"Give us the summary, Albert. What are the factors involved in the high- and low-end estimates and why is there so much swing?"
"The low-end estimate is based on the most pessimistic assumptions and the team being unwilling to accept any risk. The high-end estimate is maximally optimistic and assumes, among other things that you return to Repair Station and each member of your team drives an engine and three passenger cars. You would be separated for approximately 39 hours."
Carl shook his head. "Hell no. We are not splitting up."
"That will reduce the maximally-optimistic number of rescued crawlers to 417."
Killing someone myself or allowing them to die when I could have saved them...what exactly was the difference? Carl was prioritizing our lives over those of hundreds of strangers.
"So, if we aren't willing to split up then we're killing 322 people," I said.
Carl winced but shook his head. "I'm sorry to hear that, but if we split up then someone is definitely going to try to bounty hunt me or Donut. Even with the three of us together it's a risk."
"Albert, you said that 417 people is the most we could save if we aren't willing to split up. That means we're killing 322 people in the best case. What's a realistic estimate of how many people we will be killing through inaction?" Yes, it was a harsh way to phrase it but Carl wasn't a subtle guy. If you wanted to convince him to change his mind you needed to hit him with a brick. Multiple times.
"If you start moving in the next fifteen—excuse me, new information allows me to update the estimates. A new train line has been revealed, and it runs down."
Albert texted us a screenshot of the map. It was vastly larger than it had been a minute ago, there were multiple disconnected sections, and it included crawlers. One train line was marked in green.
"This train line was on the map but there were no trains moving on it and I therefore took it to be a normal line that was blocked. Instead, it appears that the train only runs when someone boards. If the current riders are able to stop the train in the next five minutes then we can direct 6,352 crawlers to safety and save up to 657 ourselves without you three having to split up. If they can stop the train in the next fifteen minutes then we can save 4,692 indirectly and up to 541 directly. After thirty minutes the numbers drop to 1,826 and 291 respectively."
"We need to get a message to the people on that train," I said. Albert dropped a suggested message into my Drafts folder, already set to go out as a chain-filtered blast. I glanced over it and clicked Send.
"And now we wait and see if it gets to them," Carl said grimly.
"On a positive note, ma'am, we have 82,731 crawlers in the network and over 80% of them are sharing their map data. More people are coming online all the time and many of them can be saved with no action on your part, simply by access to the updated maps."
Let's hear it for collaboration. Humanity, rah, rah!
I looked up at the screen over the counter: Surviving Crawlers: 495,537. My stomach sank.
"Excuse me, ma'am," Albert said quietly, and without copying to chat. "This is tangential to the current conversation but seems like it aligns with your values. I can currently see 538 cases where crawlers are about to walk into probably lethal situations. If you wish to alert them, I can provide suggested drafts for you to approve."
I considered that for half a second and then said, "Go ahead and send it yourself. You have authorization to message anyone you like for purposes of saving their lives. That includes giving them directions to the stairwells." I explained to Carl and Donut what had just happened.
"Yes, ma'am. Sending now."
"Wow! Albert is fantastic!" Donut said. Carl nodded, but he looked worried.
I couldn't help but feel a stab of jealousy. Albert was fantastic. I was being upstaged by my own loot box.
I shook the unworthy thought away. Albert was more than a loot box and it didn't matter who got the credit as long as lives were saved. I needed to be better than this. Not for the sake of my social numbers but for my own sake. And in this case that did not mean acting more like Birgit Battlemaiden. She was powerful and heroic, but the writers had counterbalanced that by making her selfish and a little cold. No, I needed to be a better version of Katia Grim.
*Ma'am, may I suggest unwinding the conversation to its start? Carl laid out three possibilities for the team's actions: Low-risk grinding to practice with new abilities, higher-risk grinding for purposes of leveling, or focusing on rescuing other crawlers, which is unlikely to result in leveling. The team never actually made a decision.*
"Actually," I said, "we should—we oughta go back to the fuckin' start. The fuckin' question is whether we're grinding or rescuing and how much fuckin' risk we want."
"Katia, stop with the cursing," Carl said, sounding tired. "It's not you. Just be yourself."
I struggled not to blush.
"Sorry. We were talking about three options before. Low-risk grinding to try out our new gear and tactics, or high-risk grinding to level up, or rescuing other crawlers. We didn't decide which to do. Obviously we're saving people, right?"
Carl nodded, Donut a moment after him. Mongo jumped up and down, squonking in frustration, and then ran over to scratch at the door of the personal space. Clearly, the murder chicken was bored and wanted to murder.
"Yes," Carl said. "But we're going to be careful about it. I'm not going to have another case where some jerkwad tries to kill Donut for the bounty. We're not splitting up and we're not doing this in a way that leaves us vulnerable."
I frowned at that. Depending on Carl's definition of 'leaving us vulnerable', that could mean we didn't save anyone at all.
*Ma'am, I note that at this point you have considerable leverage. The networking instructions necessarily included you as an admin. You can cut Carl and Donut out from the network whenever you wish. They would not be able to talk to anyone not on their actual contact list and they would not receive map updates. Furthermore, your new armor means that you no longer need them for combat support. You would be able to go off on your own or join any other group you wish, whereas Carl's personality makes him unable to work with more than a handful of people at a time and only if he is in a position of dominance. Carl and Donut need you far more than you need them. If Carl is forcing you to do something you do not wish to do, you can compel him.*
I shook my head slightly. I was not going to defect against my own team. I would convince them, not blackmail them.
*As you say, ma'am.*
"You will need to choose a tolerable risk level," Albert said/chatted. "Lowest risk is that we only rescue the 27 crawlers stranded at station 163 on the Peacock line. Doing so requires that they move expeditiously along a series of transfers that will take them approximately 60 hours. We would need to leave in 17 hours to pick them up, at which point it will require 25 hours to reverse down the track to the stairwell at 72."
Carl and Donut stared at me for several seconds.
"That's not a lot of people," Carl said. "You said we could potentially rescue a few hundred without splitting up. What's the most we can realistically get, still without splitting up, and how do we do it?"
"There are two potential courses of action with equivalent outcomes within the margin of error," Albert hedged. "The first would require us to go forward, the second to go back..."
o-o-o-o
I brought the pilfered bottle of Jack Daniels down hard, smashing it and splattering booze over the cowcatcher. "I dub thee: The Rescue Rail!"
"You shall save lives and destroy our enemies!" Donut said from her seat on Mongo's saddle, waving one paw in royal command.
"Squonk!" Mongo agreed.
I stepped back, clearing the path for Carl to move in and spraypaint a giant Red Cross symbol on the front of the train.
The train still loomed, the cowcatcher still looked like fangs, and the windows of the cabin were still shaped to look like eyes slitted in anger. The starboard window was broken from where Carl smashed his way in; it only made the picture worse, giving it the seeming of a junkyard dog who had lost one eye in a fight but still come out on top. Still, this was now our junkyard dog. We had turned its fearsome strength to the service of humanity, and we were going to save people. My heart swelled with pride at that thought.
"Carl? Did you want to say anything?" Donut asked.
"Yeah. Let's go kick some ass and save some lives."
Pithy yet effective, and a sentiment I could get behind. We climbed aboard and went forth to battle.