Columns of words and numbers cascaded down her screen—the internal filing system that kept the network organized. Marisa spread the display to two adjacent monitors, and fired up what she called her Goblins: little programs designed to perform menial tasks to aid in hacking. The first one, running on her primary box, would maintain a constant search for other users in the system, on the off chance that one of them was paying enough attention to notice her. She set her second Goblin on a more complicated task, and gave it a box computer all its own to do it: it made a quick copy of every directory Marisa visited, edited Marisa’s presence out of it, and then redirected any other users in the system to the copy instead of the real directory; they could still find what they were looking for and perform any actions they wanted, but they wouldn’t see anything she was doing. It was extremely unlikely that anyone would even care if they found her—she had a valid security code, after all—but it never hurt to be careful. With those two Goblins watching her back, Marisa tied in her two tablets and started a search on each of them: one looked for customer account information, and the other looked for the specific IP address she’d connected to Grendel. Then she sat back and waited, watching the hack unfold on her third large monitor.
She didn’t use her djinni for any of it. If someone did notice her poking around, they wouldn’t find any direct connection to her ID.
The search for the IP address kicked out a result every minute or so, and Marisa looked at each of them in turn, but none of them were helpful—lists of service data, records of packet transfers, and similar bits of junk that all boiled down to “this IP address is occasionally being used.” None of them said anything about what the address was being used for, much less who was using it.
She looked at the other search, hoping to find the general archive of customer data, but what she found instead made her curse: “Mierda!” She immediately clamped a hand down over her mouth, her eyes wide, freezing in place and listening in case anyone had heard her. She looked back at the search results, seeing the bad news again: all of the customer data was hidden behind a permission wall. It wasn’t enough to simply access the Sigan network; she needed to access the next layer down—the private, protected layer—in order to get into the good stuff. She growled again, but chided herself for ever getting her hopes up—of course the good data would have extra security, and she should have expected it. But she’d been so happy just to get in, she’d let herself believe she was closer to success than she really was.
Marisa read through the search results a third time, just in case the whole of reality decided to change itself to make her life easier, but it didn’t. She was locked out. She let out a long, slow breath, considering her options. She couldn’t reach the data she needed, but she could reach plenty of other data that might help her solve this new puzzle. Where was the breach in Sigan’s digital fortifications? She glanced at her Goblins, confirming that no one was onto her yet, and then started looking through other aspects of the Sigan network.
She started in the customer service interface—that was where people on the outside spoke to people on the inside, which made it a common place to find vulnerabilities. After an hour of searching she couldn’t find any holes, breaches, or anything else. Whoever had built the interface had been meticulous. She took a step back, tapping her metal fingers nervously on her desk, and then tried again, this time with the suite of tech support tools; just like the customer service department, the tech support department worked directly with customers, helping to troubleshoot problems with their internet service. Maybe she’d find a vulnerability there? After another fruitless hour, on the verge of quitting for the night and starting over with a new plan, she finally found it:
The Djinni Activity Log.
Internet service providers kept detailed records of all of your connection activity on a computer or tablet—provided you hadn’t anonymized them, like Marisa had—but there was a whole world full of laws preventing them from collecting that kind of data from a djinni. Djinnis were too personal; that didn’t make them private by any means, but it meant that a company like Sigan couldn’t just passively pull your usage data without permission. Instead, each djinni kept its own records in the Djinni Activity Log, and when you called for tech support they downloaded the DAL to examine it. Marisa didn’t know how other companies handled it, but Sigan’s IT system was set up to pull a customer’s DAL directly into the support server. Inside the specially secured layer of the network.
Marisa smiled.
“All I have to do is write a virus,” she murmured, and blinked open Bowie, her current favorite coding program. She started sketching out the basics of the virus. “I hide this in the DAL, call Sigan for tech support, and when they download the log it will get inside and write me a fake security access profile. First I’ll need it to replicate itself into another part of the system, though. . . .” She tapped feverishly on the screen, but after a moment remembered she was still logged in to Sigan’s outer network; she exited, closed all her connections, and scrubbed a few of the pathways before diving back into the Bowie code. This could work. She could feel it.
Of course, she’d have to install the virus in her own head to make it work. Her experience with Grendel and the Bluescreen virus loomed large in her mind, warning her away, but . . . she was so close. It was a risk worth taking.
She pushed her fears away, and continued coding.
FIVE
“You want to install a virus in your own head?” asked Sahara, her voice echoing slightly in the Cherry Dog lobby. “That’s insane.”
“I think it’s awesome,” said Anja. “Play crazy.”
“No,” said Sahara firmly. They were lined up by the viewscreens, looking at a handful of powerset options. Sahara was dressed in her typical avatar—a black dress this time—and stood in front of the screens with her hands folded behind her back, like a general lecturing her troops. “Remember what happened the last time you had a virus in your djinni? Because I do.”
“That was different,” said Anja. “This is one Mari is writing herself—she can make sure it’s safe.”
“Exactly,” said Marisa. “Thank you.”
Fang shook her head; her avatar today was a zombie wolf, and putrescent saliva dripped from her teeth as she moved her head. “It’s still kind of crazy.”
“Maybe,” said Jaya, glistening in an iridescent mermaid avatar. “I want to hear Marisa’s side before I decide.”
“It is crazy,” said Marisa. “At least a little. But not because it’ll hurt me. I’m a Sigan customer already, so I can call for tech support without raising any suspicions. And the virus is designed to attack the Sigan tech support system, not djinnis.” She was dressed in a long green cloak, like a medieval archer, and she tapped her longbow against the floor as she talked. “As long as the virus is in my DAL, it’s harmless.”
“What does it do once they download it?” asked Anja. Her avatar was a red panda in a pirate outfit, and the feather in her hat bobbed adorably as she cocked her head to the side.
“It hides in a data log, writes me a security permission, then deletes itself,” said Marisa. “After that it’s not even a hack; I can just log in legally like any other tech support worker.”
“Send it to me,” said Jaya. She worked tech support for Johara, one of the only telecoms even bigger than Sigan. “I might be able to give you some pointers.”
“You have no idea if Johara has the same vulnerability in their system that Sigan does,” said Fang.
“All the more reason to check it out,” said Jaya with a smile. “If I can plug up a hole like this in our system before anyone uses it against us, I’ll be a hero. There’s a huge bonus for that kind of thing.”
“I’m the one who found it,” said Marisa.
Jaya smiled broadly. “Obviously I’ll split it with you, priya. Cherry Dogs forever.”
“This is super heartwarming,” said Sahara, “but we have a tournament to prep for. Marisa is smart enough t
o play with viruses safely, and when she actually tries her attack we’ll be there to help her, but right now we’re looking at powersets. We need to figure out how to build our team. Forward Motion is using a Seoul Draft, and we haven’t really done that before.”
“I like Seoul Draft,” said Fang. “It’s a good system.”
“What is it?” asked Marisa.
“It’s really cool,” said Fang. “Instead of going back and forth, we-pick-you-pick-we-pick-you-pick, it’s all done in two waves. Both teams pick four of their players’ powersets, all at once, and then we all reveal at the same time. Then we pick our fifth player’s powers in the second wave.”
“The Korean championships started using it last year,” said Sahara. “Sigan’s a Korean company, so I guess whatever executive is organizing the tournament is a fan of the home league.”
“Ándale,” said Marisa. “That changes everything.”
“That’s actually a great system,” said Jaya. “The usual draft system typically ends up resulting in the same two or three strategies used in tournament play. Seoul Draft might encourage some riskier fringe strategies, since the rewards could be so much greater.”
“Yeah, people might actually play the niche powersets,” said Fang. “Nobody ever uses Air Defense, because it’s too easy to end up with a match where it’s useless. Now there might be times we want to play it in our second wave.”
“This is awesome,” said Anja. “I want to try Electricity Melee.”
Sahara sighed. “Why on earth would we play a Sniper with a melee powerset?”
Fang laughed. “Here we go.”
“Think about it,” said Anja eagerly. “It would be impossible to react to. If they see a Melee Sniper in our first-wave reveal, it would throw them completely off their game. They’ll have plans for their second wave, and how they’ll react to us, but then we do something super weird that they haven’t planned for and they’ll fall apart. They’ll make a suboptimal second-wave pick trying to second-guess us.”
“More suboptimal than a Melee Sniper?” Sahara snapped.
“Hurting ourselves in order to hurt the enemy isn’t a great plan,” said Jaya.
“You always go for the craziest option,” said Sahara. “I will not let you ruin this tournament for me.”
“For you?” said Marisa. “Are we not a team anymore? Is this the Sahara Show now?”
“For us,” Sahara hissed. “You know that’s what I meant.”
“Okay,” said Jaya, inserting herself between Sahara and Marisa. “We’re all pretty stressed out right now, with the tournament, and this Grendel thing with Sigan, and Marisa’s family’s restaurant starting to fall apart, and maybe we just need to take a step back for a minute and breathe.”
“We don’t have time for a step back,” said Sahara. “We have time to act like the professionals we claim we want to be.”
“You know who you sound like?” asked Marisa.
“Don’t say it,” said Fang.
Marisa set her jaw, staring Sahara in the face. “You sound like Zi.”
“Wô cào,” said Fang.
Sahara’s eyes went wide, turning almost instantly into a terrifying scowl as she launched herself at Marisa, determined to tear her avatar’s head off. Jaya and Anja stayed between them, struggling to pull them away from each other, but it wasn’t until Fang’s zombie wolf jumped in that they managed to pull them apart.
“What the hell is wrong with you!” shouted Fang. “If you don’t want to get compared to Zi, stop acting like Zi.”
“Who’s Zi?” asked Anja, panting from exertion.
“And you,” snarled Fang, pointing her muzzle at Marisa. “I know a ‘Marisa’s mad at her dad’ tantrum when I see one. Keep your family arguments out of this lobby.”
“I’m not mad at my dad,” Marisa spat, but then she paused, thought for a moment, and sighed. “Okay, maybe I am.”
“You’re running yourself ragged trying to solve a mystery he could solve in one sentence if he was honest with you,” said Jaya. “Of course you’re mad at him.”
“Will someone please tell me who Zi is?” asked Anja.
“You know her by a different name,” said Sahara, taking a deep breath. “Yeoh Zi Chong was Nightmare.”
“Wô cào indeed,” said Anja. She stared at Sahara, then looked at Marisa. “Nightmare, as in, the psycho hose beast who used to lead the Cherry Dogs?”
“I have always led the Cherry Dogs,” said Sahara coldly, “but Nightmare did her best to take over. She was our first Sniper, back when we formed the team: me and Marisa from LA, and Fang and Zi from Beijing. Our Guard was a girl named Jennifer Stashwick, and I don’t remember where she was from, but that team only lasted a few months before Zi ran Jennifer off and we brought in Jaya.”
“And if I’d known what I was getting into,” said Jaya, “I never would have joined.” She looked at the other girls and smiled. “So I guess I’m glad I didn’t know what I was getting into, because you girls are my best friends.”
“What happened to Jennifer?” asked Anja.
“I think you’ve actually met her,” said Marisa, “at least online. She designs Overworld costumes.”
“WinterFox Designs?” asked Anja.
Marisa nodded. “WinterFox was her call sign in the game.”
“Zi was a bitch to everyone,” said Sahara, “but she was terrible to Jennifer.”
“Still not—” Marisa glanced over at Fang. “Still not as mean as she was to Fang.”
“I just ignored her,” said Fang.
“What’d she do to Fang?” asked Anja.
“Same stuff she did to everyone else,” said Jaya, “just worse. Critiqued her, yelled at her, gossiped behind her back. No one was ever good enough for her.”
“She wanted to go pro,” said Fang. “She freaked out over every little mistake, and yelled and screamed if we didn’t practice for ten hours a day, and when we did practice she spent half the time trying to call plays completely contrary to Sahara’s. And we were better players because of it, I think, but we were a terrible team, and we hated every second of it.”
“So you kicked her out?” asked Anja.
“I wish,” said Marisa. “We were trying to figure out how to kick her out when she left on her own. She got poached by a Chinese team called Wu Squad, straight into the pros. She plays in the Chinese leagues, which I don’t really follow.”
“I do,” said Fang.
“So do I,” said Sahara. “She’s pretty successful.”
“She’s turned Wu Squad into exactly what she always wanted the Cherry Dogs to be,” said Jaya. “Cutthroat and relentless. Joyless and precise. I don’t want to go pro if that’s what it takes to get there.”
“And I know that,” said Sahara. “And I don’t want it either.” She looked at each girl in turn, ending on Marisa. “I’m sorry I blew up like that. I was pushing myself too hard, and that meant I started pushing you. It’s like Jaya said—you’re my best friends in the world, and I don’t want to lose that. But I . . . I don’t want to lose this either. I believe in this team, and I know we can win this tournament, and if that means we have to buckle down and work a little harder, then I think that’s totally worth it.”
“Not if it changes who we are,” said Anja.
“Do we even know who we are?” asked Sahara. “We’re not Nightmare, but we’re not . . . Melee Sniper, either. I wish I could get behind ‘play crazy’ as a slogan, because it’s so amazingly marketable.” She laughed, shaking her head. “But we have to temper that craziness with discipline, or every win we get is just random. If we want to be pros, we have to act like pros, and maybe once we get there we can play a little crazier, because that’s a great way to throw off the pros we’ll be playing against. But I just think . . . if we don’t get our act together, if we keep using wild ideas as an excuse instead of as a careful and occasional strategy . . . I think ‘play crazy’ is pretty much indistinguishable from every other team that just doesn?
??t play well.”
The girls stayed silent a moment, thinking about her words. Marisa reached out for Sahara’s hand and squeezed it, feeling comforted by the touch even in virtual reality. “You’re right,” she said. “I’m sorry for blowing up at you, and I’m sorry for playing sloppy.”
“You haven’t been playing sloppy,” said Anja, but then she took Sahara’s other hand. “I promise to take this more seriously. But I also think we can be crazy and smart at the same time. Play . . . smazy.”
Sahara smiled. “That’s not a real word.”
“English is stupid,” said Anja.
“Aw, hugs for everyone!” Jaya spread her mermaid arms wide and squeezed the three girls together into a clump. “Come on, Fang, team hug!”
“I don’t hug,” said Fang. She smiled with her zombie wolf teeth. “But I do kind of like you guys.”
“Catch her!” shouted Jaya, letting go of the clump and leaping at Fang. “Catch her and hug her!” The four of them chased Fang around the lobby, eventually cornering her and smothering her in a dogpile.
“All right! All right!” Fang shouted. “I’m hugged! Get off of me.”
They rolled away, sitting and lying in a circle on the floor, laughing with joy and the sweet release of tension. After a moment, Sahara started planning again.
“I’ve got a list of all the other teams in the tournament,” she said. “There’s a handful of spoiled rich kids, but most of the teams are a real threat. We’re probably not going to win the whole thing, but we can impress the hell out of some pretty important people.”
“Perfecto,” said Marisa.
“How many teams are playing?” asked Fang.