Ones and Zeroes
Page 28
“Keep moving,” said Fang. “We can’t risk that again.”
They looked at the second-wave picks: the Canavar General chose exactly the powers Sahara was expecting. The power selection room disappeared, and the girls found themselves standing next to a vault in a dank European castle. The final timer was counting down, ready to start the game in ten seconds.
“I love this map,” said Marisa, trying to lighten the mood. “All the drones are dragons.”
“Okay,” said Sahara. “There’s only one way this is going to work: feed and starve. They get experience based on the level of the agent they kill, so don’t let them kill anyone high level. Heartbeat, you’re the designated corpse: drop your blind on whoever’s the most dangerous, then sacrifice yourself to take as much of their damage as you can. You’ll probably die twenty or thirty times in this match, and I don’t want you to level at all.”
“I . . . guess I can do that,” said Marisa.
The timer finished, and a loud, sonorous cathedral bell rang out, starting the match. Sahara started running behind the first wave of minions—mail-clad knights with swords and shields—and the rest of the team fanned out to their starting spots. “Yīnyĭng has the best high-level powersets,” Sahara continued, her voice carried through the team comm channel, “so she’s the one we feed: let her get the killing blow on everything you possibly can. She’ll be a raging damage monster, Heartbeat will be a zombie, and the other team won’t know what’s going on.”
“Can you imagine what they’re even saying out there?” asked Jaya. “An all-Flanker team, with a Sniper playing defense and debuff. They must be going nuts!”
Sahara laughed. “Isn’t it great?”
“Cherry Dogs!” shouted Marisa.
“Start normal,” said Sahara. “Kill some dragons, get some XP, do your standard early-game stuff. They won’t suspect anything yet. Yīnyĭng, call the signal when you’re ready for the first ambush.”
Marisa and Anja reached the roof—an uneven layer of medieval rooftops, made of stone and thatch—and started fighting the weaker dragons, running from group to group as quickly as they could. Marisa let Anja get all the XP, and kept her eyes on the enemy, wary of attacks, but nobody came after them. Canavar was playing textbook early-game tactics—hanging back, farming for gold and experience where they could, and using the minions to weaken the towers. Exactly what the Cherry Dogs were pretending to do. Marisa smiled: they didn’t even know what was about to hit them.
“Ready for an ambush,” said Fang. “Center turret in fifteen seconds.”
Marisa and Anja sprinted to the nearest staircase, plunging down through a church steeple toward the city below. They reached it with perfect timing, and suddenly the enemy General found herself outnumbered five to two. Jaya rooted her in place with some vines, and the team dropped her before she could escape; the Canavar Guard did a fair amount of damage before running away, but Marisa didn’t even have to sacrifice herself to save anyone. They beat on the turret for a while, then Sahara led them down a hole to the sewers to kill the Canavar Jungler. It was all over from there. The Cherry Dogs ignored their own defenses, their own minions, even their own vault—Canavar stole thousands of gold from them—but it didn’t matter. Fang racked up kill after kill, and the enemy wasn’t able to take out any agents except Marisa, who very studiously avoided killing anything and was thus barely worth any experience at all. The Cherry Dogs retreated each time she died, finding more minions or dragons or loners to fight, and then when Heartbeat respawned they dove back into the fray—and because Heartbeat was so low level, she was never dead for long. First one turret fell, then the next, and barely fifteen minutes into the game they were already beating down the defenses of the enemy vault.
The Canavar Sniper attacked Marisa from behind, and she died again. Nine times so far, according to her stat line. She looked at her respawn timer, and it occurred to her: she’d never checked to see how long she would actually have to get into Sigan’s system, assuming they made it to the final. She thought about blinking out to check the back door again, but she didn’t have time. At such a low level, she was respawning too quickly. She reappeared at the vault, and ran out to join the others.
“I’m really starting to hate this Sniper,” said Anja. “Just because he kills Heartbeat all the time doesn’t mean he needs to teabag the corpse.”
“His name’s Abouti Sahin,” said Fang. “Most of this team’s actually pretty cool, but Abouti’s a wángbādàn.”
“Somebody murder him, then,” said Marisa.
“Five times so far,” said Fang.
Fang had nearly double the levels of any Canavar player, and even Sahara and Jaya had outleveled their top player. Anja’s all-out blitz strategy would have crashed and burned against any other team, but Canavar’s late-game strategy was simply too weak in the early game to stop them, and even the constant lag spikes weren’t enough to slow their momentum. The Canavar players did their best, and were actually starting to rally as their strategy finally got rolling, but the Cherry Dogs didn’t win in twenty-nine minutes.
They won in twenty-seven.
The Canavar vault went down, the minions started dancing, and Marisa blinked out of the game as fast as she could, turning off the VR and waking up to the auditorium going wild.
“That’s becoming one of my favorite sounds,” said Sahara. She was grinning so widely she looked ready to burst.
Marisa stood up, basking in the applause, and then jerked her head toward the shell-shocked Canavar team. “Let’s go say hi.”
“Yup,” said Sahara. They walked to the other team, the other girls following behind, and started smiling and shaking hands. “Good game,” said Sahara, treating each opponent like they were her best friend. “You did a great job. We’re going to steal that Jungler build one day—it was amazing. Good game.”
“You think you can make it to the final?” asked Abouti. He stood in front of Marisa with his legs planted firmly, his hands on his hips. His face was an angry sneer.
“I hope so,” said Marisa, and stuck out her hand. “Good game.”
“You can’t make it,” said Abouti, ignoring her hand. “You got lucky twice, and that’s not going to happen a third time. Get Rekt Nerd will wreck you.”
“Hence the name, I guess,” said Marisa. She wanted to smack him, but they were surrounded by cameras. She hesitated a moment, then got a wicked idea. She cocked her head to the side: “But you’re assuming Get Rekt Nerd will win their game today. You don’t think Your Mom can win?”
Abouti sniffed. “Of course not.”
“Probably not,” Marisa agreed. “I actually don’t think Your Mom can win anything. Your Mom sucks.”
“Then that’s one thing we agree on,” said Abouti, and his eyes narrowed. “But it’s the only thing.”
Marisa smiled. “Good talking to you.”
Abouti fumed a moment longer but walked away, and Jaya sidled up next to Marisa. “Don’t worry, I got that whole thing on video.”
“That makes up for every time he killed me.”
“Did you have a chance to . . .” Jaya trailed off, and sent the rest of her question in a private message: Did you have a chance to check on the back door?
No, sent Marisa. I was respawning too quickly. But I’m worried: even if I wrote a script that could search the database for me, I don’t think I’d have time to blink out, crack the security, activate the script, and get back in before respawning, even if I were higher level. There’d be obvious dead time where my avatar just stood there doing nothing, and someone would start to notice.
Which we can’t risk, sent Jaya. Sigan’s already suspicious of us—they’re probably watching every move we make in here.
We have to think of something, sent Marisa. Or this whole plan is going to fail.
TWENTY-SIX
“I think I’ve figured out how to do it,” said Jaya. All of the Cherry Dogs but Anja—she was at home, playing the dutiful daughter to their corporate sponsor�
�were sitting in Sahara’s tiny living room, stretched out on floors and couches while a little plastic fan tried valiantly to create a cooling cross breeze between two open windows. It wasn’t working. The sound of cars and distant, drunken singing drifted in through the screens.
The sounds of home, thought Marisa.
“It has to be fast,” said Sahara. “There’s no way we can let Mari be gone for more than a few seconds.”
“But what if we can let her be gone for minutes?” asked Jaya, eyes wide. “Maybe even the whole match?”
“Aha,” said Sahara. “You want to run her as a bot.”
“Bots are illegal,” said Marisa. “You don’t think they’ve got measures in place to keep us from using them?”
“Hacking into megacorp databases is also illegal,” said Jaya, “and to a much higher authority.”
“I just don’t think we can get away with it,” said Marisa.
“I like the idea in theory,” said Sahara. “Spotter is already a support position, so if we spec her for pure support—heals and buffs, all targeting Anja—we could run her as a bot and her behavior won’t look out of place to anyone watching. Her connection might look wonky to whoever’s monitoring the game servers, though, and that’s where we run into trouble.”
“All their anti-bot stuff is designed for doubled signals,” said Fang. “People running a buffbot through their own djinni, or on a second computer through a single ID. Stuff like that. But no one’s tried to run an automated player script out of their own head, instead of playing themselves. It might work.”
Marisa stared at the open window. “It might, but only if I’m out of the game completely. As soon as I turn on the bot script and let it take over, even if I blink out immediately, there’ll be a little window when the game is registering two separate controllers behind my avatar, and that’s exactly what a referee program would be looking for. We’d have to initiate the bot before the game even starts—which means it would have to do more than just play, it’d have to pick its own costume and powers.”
“That will be tricky,” said Jaya.
“The game starts even earlier than that,” said Fang. “You’d have to get out before the server even authenticates your ID—pretty much as soon as you plug in to the VR chair. The bot would have to be in charge the whole time, with you as a passenger, instead of the other way around.”
“That’s creepy,” said Marisa.
“And dangerous,” said Sahara. “What if something went wrong? What if the bot glitched and started running into walls, or something else that’s obviously scripted? We can’t risk Marisa’s avatar going completely off the rails without some way of regaining control.”
“Do you have any better ideas?” asked Jaya.
“I’m not nixing the bot idea,” said Sahara. “I’m just saying we need to find a way of hiding the switch between one controller and the other.” She thought for a moment. “How about the lag spikes?”
Marisa frowned. “What do you mean?”
Sahara leaned forward. “The lag spikes are already a jumble of data, where the servers lose information from everyone connected, and have to invent data to make up for it. Double connections will just appear to be part of the mess. And we know there’s going to be lag over the course of the match. So we set up the bot script to trigger when the lag hits: on the first spike, Mari pops out and lets the bot take over, and on the next one, she pops back in. Back and forth, all through the match.”
“That’s not going to be easy,” said Jaya. “The timing would have to be perfect.”
“Which means the switch would have to be involuntary,” said Sahara. “If you take the time to decide whether you want to switch or not, you’re adding seconds to a process that’s only measured in milliseconds. That might be too chaotic.”
“I can handle it,” said Marisa. “If I bring another program or two, like my Goblins, then they can do the search for me—when I’m in the database the bot can play the game, and when I’m in the game the Goblins can search the database. I’ll just bounce back and forth and maintain them both.”
“Can you do it fast enough?” asked Sahara. “You said at the gala you needed hours to download everything, and there’s no way we can drag this match out longer than an hour. Ninety minutes at most.”
“And assuming World2gether makes the final, Zi’s going to be gunning for us,” said Fang. “This will be a revenge match, for both her and Chaewon. It won’t be easy to stall if they’re playing aggressively.”
“I know what I need to find this time,” said Marisa, “and I know more or less where it is. I’ll code up some Goblins who can get it all in an hour, easy.” She grimaced. “I hope?”
“And meanwhile,” said Fang, “we still have to win our semifinal match tomorrow.”
“Against Your Mom?” asked Sahara, in mock horror. “You want us to beat Your Mom?”
“I can’t believe Your Mom beat Get Rekt Nerd,” said Fang.
“I can’t believe you’re all still making Your Mom jokes,” said Jaya. “That got old days ago.”
“It’s literally my new favorite thing in the world,” said Marisa. “I’m, like, that team’s biggest fan now.”
“You’re going to have to get over it, then,” said Sahara. “And I don’t know how we’re going to get past them. We can’t rely on luck three games in a row.”
“The first game was luck,” said Marisa. “The second one was brilliant skill and metagaming.”
“Made possible by luck,” said Sahara. “How would that game have gone if Canavar’s powerset picks hadn’t gone exactly down that one specific line, and we didn’t have an immediate counter? We were smart enough to recognize our good luck, and we played well enough to take advantage of it, but it was still luck. These teams are pros. All Your Mom has to do tomorrow is build a normal team, and not get greedy in a vault raid, and they nullify every advantage we’ve had this whole tournament. We have to raise our game.”
“And program a bot script,” said Jaya. “And hack a corporate database, and plant a bunch of TEDs, and infiltrate a skyscraper, and break out a prisoner, and escape from a cybernetic super thug, and, what am I forgetting—cause a riot?”
“I hope not,” said Marisa. “My family’s going to be there.”
“You forgot one more thing,” said Sahara. “We’ve figured out how to get and find the data, but we still need to get that data back out again.”
Fang frowned. “That’s called ‘downloading.’ It’s like the easiest part of this whole thing.”
“I’m even on a hard-line connection,” said Marisa, “so it’ll be a super-fast download once we find what we’re after.”
“But it’ll also be traceable,” said Sahara. “Part of your brilliant plan is to leave no fingerprints, right? So they can’t ever trace it back to us. So what happens when the data goes public, and they check their server logs and see that that exact data was transferred into your djinni? You can’t download it directly—the only option is to download it onto the Overworld server.”
“That’s not going to be easy, unless we can disguise it as something.” Jaya scrunched up her mouth, thinking. “And then we still have to be able to pull it down ourselves at some point.”
Marisa’s jaw dropped. “Oh baby.” She raised her arms, striking a series of poses. “Bow down to me, I just figured it out.”
“You’re amazing,” said Sahara. “What is it?”
“The costume creator,” said Marisa, pointing at her. “That’s the hole in the armor—they’ve allowed us to link our personal game accounts to the tournament servers, so that everyone could use their own avatars and costumes, and that includes the costume creator.”
“How does that help us?” asked Sahara.
“Because the costume creator lets you upload your own images and textures,” said Marisa. “It stores them in a central database, and calls them up when you load an avatar that uses them. So we download the files into that database, and link them t
o one of my costumes as image files. They won’t actually render as images, but I can still link them, and they’ll be loaded into my own game account. Then all I have to do is pull them out later, whenever I want.”
“Zhēn bàng,” said Fang.
“I’ve played with the costume creator a lot,” said Jaya. “It won’t link image files unless the costume is in active memory—like, in the creator interface. Even if you can figure out how to do it outside of that interface—”
“That shouldn’t be hard,” said Marisa.
“—you’ll still need to use a costume in active memory,” said Jaya.
“So you’ll have to be wearing it at the time,” said Sahara. “Which means you need a costume with a blank layer, that you can add a new image to in the middle of play.”
“Maybe a cloud effect?” asked Fang. “You can even make those transparent.”
“They’re not big enough,” said Marisa. “This is going to be a ton of data, so we’ll need to spread out across a lot of little spaces. And if they can be hidden, that’s ideal.”
Sahara pursed her lips. “So. What kind of a costume has a whole ton of hidden layers?”
“And when will you have time to design it?” asked Jaya.
“I won’t,” said Marisa. “Which is why it’s super handy to have a friend who makes Overworld costumes for a living.”
Sahara smiled. “Time to call WinterFox.”
TWENTY-SEVEN
With only two matches to play on Friday, the tournament staged them one at a time, so that everyone who wanted to could watch both of them live. The Cherry Dogs and Your Mom would play first; World2gether had gone first during the other rounds, but Marisa suspected Chaewon was probably sick of losing the spotlight to the Cherry Dogs’ out-of-nowhere wins and ridiculous upsets. She wanted to go last today, so that her performance would be at the top of everyone’s mind going into the final.
“Your Mom will be expecting us to do something crazy,” said Sahara, discussing strategy as they rode the train to the event. Anja was taking her father’s car, and was patched in through a voice call. “They’ll go for high speed and mobility, like we did yesterday, so they can respond to whatever weird thing we do. Our best bet to counter it is to play as safe as we can—nothing flashy, nothing risky, just a clean, efficient, well-played game of Overworld. No wasted steps, no wasted shots.”