Chuy grabbed the door and rolled it open about ten inches. Marisa slithered through the gap, and Chuy followed; they closed the door just before the police nuli came back.
Marisa held her breath, but it didn’t seem to have noticed them.
Chuy stood up, brushing himself off. They were in the kitchen of the Solipsis Cafe, dark and quiet. The ceiling was covered with delivery nulis, hanging from charging stations like bats in a cave. A small metal box on the wall was smoking—a single, slender tendril of smoke rose up from a gap in its side. Chuy tapped it.
“Interior security system,” he said. “Right where you said it would be.”
Marisa stood up next to him. “I’m amazing.”
“Those little TED things are awesome,” he said. “Who’s your hookup again? I need to get some.”
“You know I don’t want to help your gang,” said Marisa.
“But you don’t mind taking help when you need it.”
“My crime isn’t going to get anybody killed,” said Marisa. “La Sesenta is not worth it.”
“La Sesenta is the only reason I even have a house,” said Chuy. “They take care of me—and my family.”
“And they make you pay for it by risking serious jail time.”
“Are you really one to talk right now?”
Marisa sighed, and closed her eyes. “I’m sorry,” she said. “I didn’t bring you here to argue.”
Chuy folded his arms sternly. “You’re not exactly telling me your plan, either.”
“You want to know the plan?” She walked to the preparation table in the center of the room. “First, we hide all of these.” She dumped out the black bag Sahara had given her, making a pile of forty or so TEDs on the table.
“That’s . . . a lot,” said Chuy. “Where do we hide them?”
Marisa smiled. “Where do you think?” She opened the tall metal fridge, and pulled out a tray covered with dozens of small plastic cups, each topped with a snap-on plastic lid. “We hide them in the best salad dressing you’ve ever tasted.”
TWENTY-EIGHT
“Ladies and gentlemen!” Su-Yun Kho’s voice echoed through the convention center, booming from the massive speakers over the enthusiastic crowd. “Welcome to the final match of the Forward Motion charity tournament!”
“Hold still,” said the makeup artists, dabbing at Marisa’s face with a brush. “You have plenty of time.”
Marisa looked away from the stage door, trying to stay motionless. “Sorry. I’m just nervous.”
“We’ll be fine,” said Jaya. It was almost noon, and time for the final to begin.
Zi called over from her own makeup chair, on the other side of the room. “Don’t worry, we’ll make it quick.”
Sahara smirked, and glanced at Marisa from the side of her eye. “That’s the same thing she tells all the boys she tries to kiss.”
“I just want to say how happy I am to be playing in this match with you,” said Chaewon. Her angry scowl was gone, and she was back in pretty princess mode, smiling beatifically at everyone in the room. “We’ve had our differences in the past, but today we can put that all behind us, come together as athletes, and help make the world a better place.”
“And that,” said Anja, “is what she says to all the boys she tries to kiss.”
Chaewon continued smiling, shaking her head in that special, condescending way she had.
“And this,” said Bubba, carefully adjusting her trucker hat, “is what I say when I kiss a boy.” She stood up, planted her feet, and held her hands out to the side, as if inviting them to fight her. “You are not remotely ready for this.”
“You’re supposed to say ‘try to kiss,’” said Jaya. “You messed up the whole pattern.”
“Kiss or kiss not,” said Bubba. “There is no try.”
“I take issue with your concept of consent,” said Sahara.
“I take issue with your face,” hissed Bubba.
“Your Mom takes issue with your face,” said Marisa. “At least, I assume they do; everyone else does.”
“Can you even afford to import your jokes like that?” asked Zi. “That feels a little out of your price range.”
“Said the paid escort,” murmured Fang.
“Shut up, Fang,” said Zi. Fang looked back down at the floor.
“Sorry,” said Sahara, anger seething under her voice. “Not all of us have lucrative jobs cheating at Overworld as a paid best friend.”
Zi smiled, though there was no humor behind it. “Who said anything about cheating?”
“I’m sorry,” said Anja. “Are we pretending you didn’t cheat your way through this whole tournament? What’s the cover story, then? I can’t even think of a plausible one.”
Marisa glanced up at Cameron and Camilla, dutifully streaming the entire scene to Sahara’s viewers. They’d been so careful throughout their planning to keep any hints of their criminal activities off camera. Was it wise to bring up the cheating so brazenly? What if someone involved with the tournament was watching, and decided to take a closer look at what was happening during the lag spikes? This was already going to be tough enough as it was.
“Of course we’ve been cheating.” The smile on Zi’s face was now downright evil. “Chaewon’s been manipulating the lag spikes since the very first game.”
Marisa’s eyes went wide, and she kept her face forward, not daring to look at the cameras. Instead she looked at Chaewon, whose face had fallen—she didn’t look sad, or angry, or disappointed, just blank. The same broken-doll face she’d made when Anja had insulted her at the party.
None of the other girls said anything, too shocked that Zi had brought it out so abruptly into the open. Even the makeup techs looked stunned. Bubba glanced up the cameras, more pale than Marisa had ever seen her.
“But now,” said Zi, standing up slowly from her makeup chair, “I’m delighted to report that the cheating is over. I’ve figured out who Chaewon was paying off in the tournament server room, and let’s just say he won’t be responding to her messages anymore.” She raised herself to her full height, and stared at them with hate-filled superiority. “When I beat you today, you won’t have any excuses.”
“Dagchyeo!” growled one of the girls behind Chaewon.
Marisa was already shocked; now she was almost paralyzed with a sudden burst of fear and indecision. Did this mean the lag spikes would be random—as the tournament originally intended—or that there would be no lag spikes at all? They needed those lag spikes—their entire plan depended on it. How else was she going to flip in and out of the game and trigger the bot script? She had to think of something. . . .
One of the red-jacketed stage managers poked her head through the doorway, Su-Yun’s voice still booming in the background. “Sixty seconds. We need everyone onstage now.”
The two teams stood up, filing into lines. Sahara gestured for World2gether to go first, but Zi shook her head.
“Ladies first,” said Zi.
“Who goes second?” asked Sahara.
Zi smirked. “Goddesses.”
Sahara raised an eyebrow but jerked her head toward the door, and the Cherry Dogs walked out first.
Marisa sent a message to the group as they lined up behind the curtain: What do we do?
You’re sure the bot script works? sent Sahara.
More or less, sent Jaya. We couldn’t test it on a real Overworld server, because it’s designed specifically for this closed network.
If I time it right, said Marisa, I should be able to activate the script and blink out right at the end of the powerset selection screen. Right as the game starts. But I won’t be able to get back in without triggering the anti-cheating software.
If you’re in Sigan’s system, sent Fang, you might be able to get into the game servers and initiate a lag spike yourself.
You want us to cheat? asked Anja.
Fang’s answer was simple: What else are we going to do?
Marisa sighed, and sent a message to Bao.
Ready?
His answer took several seconds—he couldn’t just think a message like a normal person, but had to take out his phone, read the text, and type a message back with his fingers. Ready, he answered. You’ve got that dermal phone?
Marisa nodded, touching the derm lightly in the space behind her ear, hidden even from the makeup artist. It was like a tiny bandage, but it could pick up her subvocal vibrations and make a voice call just like a djinni. She activated it, and heard Bao’s voice in her ear.
“Hey,” he said. “Welcome to KT Sigan’s finest custodial closet.”
“They have human janitors?” she asked. The question was inaudible to anyone standing next to her, but crystal clear to Bao on the other end of the line.
“Just nulis,” he said. “So I’m dressed as a nuli maintenance guy.”
“And now,” said the amplified voice of Su-Yun Kho, “the wait is over. Let’s bring out our players! First up: the one, the only, the Cinderella story of the Forward Motion tournament . . . the Cherry Dogs!”
“Talk to you soon,” said Marisa, and followed her friends as they ran through the curtain and onto the stage. The lights were bright, and the audience was cheering, but Marisa was too nervous to enjoy it. Sahara stepped forward, reveling in it, tanking the social aggro so the rest of them could get a moment to breathe. Marisa planned her moves, trying to work out from memory where in the database the Overworld tournament server settings would be, and thus where the lag spike program might be hidden. If the script went wrong, and she had no way to get back in, everything would collapse—not just the game and tournament, but the mission as well. They’d know she’d been doing something else instead of playing, and when the hacked information was revealed, it would be obvious that she had been behind it. The only way this plan didn’t land her in jail—or worse—was if they never linked it back to her. She shook her feet and her one human hand, so nervous her non-prosthetic extremities were numb. This is what it came down to—this is what it all depended on.
An untested healbot in a video game.
Su-Yun finished her intro, and the players jogged to their VR chairs. Marisa lay down and plugged in, feeling a sudden relief of tension as her nerve-wracked physical body was suddenly replaced with a virtual one, pristine and perfect. She took a moment to breathe deeply, centering herself, and then chose her costume: the WinterFox special, deposited late last night in her account.
It was a rococo dress, almost as wide as it was tall, with a wine-colored corset above the waist and endless folds of dark, rippling moiré taffeta below it. The neckline descended just to the top of her breasts, accentuated by a line of lace; below that was a triangle of patterned duchess satin. Her sleeves were tight from shoulder to elbow, where they suddenly exploded in a burst of organza flounces. Small black-and-cream-colored ribbons adorned the dress in lines, tied into tiny bows, and there was even one on her throat, like a choker necklace. In the real world it would have been all but impossible to move in, but in virtual reality it was just a construct of ones and zeroes, conforming to the rules WinterFox had programmed into it. Marisa moved around a bit, testing it out: spinning, kicking, jumping, and even rolling across the floor. It was every bit as mobile as her stealth suit, and for her current needs it was far superior: the dozens of layers underneath it, the train and the bustle and the bloomers and the petticoats stacked seven deep, were completely empty of image and texture. When she found the files she needed, that’s how she’d smuggle them out.
“Salad dressing and French underwear,” she muttered. “This is how we change the world.”
She blinked into the team lobby, and Jaya could barely contain her excitement over the dress. She was wearing a similarly historical gown, though hers was Indian, with oranges and blues so vibrant they almost seemed to glow.
“WinterFox told me to go historical,” said Jaya. “I think it’s a great theme.”
“Me too,” said Anja, and spun around to show off her own costume. She looked straight out of Oktoberfest, complete with pigtails.
“You’re a barmaid?” asked Fang.
“It’s called a dirndl,” said Anja. “Minus ten cultural sensitivity points for you.”
“I don’t get yours,” said Jaya, looking at Fang. “You’re a . . . soldier?”
“US Navy SEAL,” said Fang, looking down at her costume. “Black-and-blue camouflage, pre-cybernetic helmet optics, and more pockets than any reasonable person should ever need.”
“You’re supposed to be historical, though,” said Jaya.
“It’s turn-of-the-century,” said Fang. “Fifty years ago; that counts.”
“It’s better than Sahara,” said Anja. They looked up, and Sahara walked up to them in her classic red evening gown.
“I make my own history,” said Sahara. “Everyone clear on the plan?” They couldn’t talk about it in detail, on the assumption that Sigan could listen in on anything they said while connected to the server.
“Ready,” said Marisa. The rest nodded, and they blinked into the powerset selection screen. Marisa chose Water Buff and Nature Defense, the two powersets they’d programmed the bot to use, and watched the timer count down. She didn’t even pay attention to the second-wave picks, just waited for the perfect moment to activate the bot, praying the whole time that she could do it without raising suspicion.
“Good luck,” said Sahara.
“You too,” said Marisa. She held her breath, eyes glued to the timer. It hit zero, and she blinked out of the game.
She was floating in a formless space, still in her dress, peripherally aware of the roaring crowd—not through the VR, but through her real ears. She wasn’t really inside of virtual reality anymore, but her djinni still was, and the effect was disconcerting—her djinni was trying to interpret the sudden lack of data as if it was a VR program, and her senses were wildly disoriented as she tried to make sense of it all. It was even more strange, she thought, to realize that this was a side effect, and that she was only experiencing a small portion of her own consciousness. It was like the bot was in charge, and she was just a passenger, using extra bandwidth for a weird little side project inside of her own brain. She murmured “Hello,” and got an answer back from Bao.
“Hello again,” he said. “I’m in position; just give me the word.”
“Give me twenty minutes,” she said, and blinked open the interface that let her prowl the game’s database. It appeared around her like a cascade of data, slowly coalescing into a branching web of links and nodes, like the visual representation of a flowchart. “Exploring a database in virtual reality is weird.”
“Anything in virtual reality is weird,” said Bao. “Actual reality is weird enough for me.”
“Says the guy dressed up as an imaginary maintenance guy.”
“That’s what I mean,” said Bao. “Weird enough already.”
Marisa grinned, and got to work. She had to rescue Alain, but there were a few pieces to put in place first, starting with her access to the airgapped server. She followed the nearest path of data to its source, which turned out to be one of the tournament’s main servers, and once there she searched for the back door Chaewon had built into the code. She found it, summoned her courage, and went in.
Inside of the private network she felt a little more comfortable, though she didn’t know if that was because she was already familiar with the layout, or if she was finally getting accustomed to the strange VR effect. She blinked to search her dress for the three Goblin programs WinterFox had hidden there, and was briefly disappointed when they didn’t jump out and snarl like actual little goblins. She simply unpacked them with a blink, and they appeared in her sight as more lines of code that merged into the constant flow of data around her. One of them was her old standby—the one she used to hide her presence from the user logs—but the other two were new ones she’d designed specifically for this mission. The first ran off to search for the financial data she needed, and the second went in search of the client databas
e, and the personal info about Grendel.
Grendel. She was so close now, she could practically feel it. Another hour, at the most, and she’d know exactly where to find him—and with him, all the secrets from her past. She smiled, and let the Goblins go to work.
Now it was time to free Alain.
Their plan was simple: figure out exactly where he was, and then send Mr. Park a faked order to move him to a new location off-site. And it had to be Mr. Park, because that was the only way to control where Park was when the TEDs started going off. Marisa started searching for records of Alain.
The more she explored the database, the easier it became to navigate it—after all, she wasn’t actually inside of it, just lying in a VR chair looking at code. She learned how to move quickly, how to jump from one folder to another, how to follow the branching tree of the file directory. But at the same time, the VR representation seemed to reveal more info than she was used to—data, for example, didn’t just appear, but actually came from somewhere, and the more she watched it the more she thought she could tell where and how those streams were flowing. She followed the nested folders of the database until she found the secret folder that contained all mentions of Alain. She opened one of the files, trying to make sense of the data, when suddenly the file next to it disappeared.
Someone was deleting them.
Her first thought was one of terror—they can see me, they’ll catch me—but no. I’m not really here, she reminded herself, I’m just accessing this from a VR chair. The only actual evidence that she was looking through this archive was buried in a user log somewhere, and her Goblin was making sure nobody found that. By the same logic, then, she had no idea who was deleting the files in this archive, or where that person was located in the real world. All she could do was look at the data and try to figure out what it meant.
The rest of the files disappeared, and Marisa looked at the one in her hand—the only one left. They couldn’t delete it, because she was accessing it. That meant she’d saved the data, but it also meant that whoever was deleting the files now knew someone was hacking around in the network. She kept the file open and checked on her Goblins: they were all working perfectly. There shouldn’t be any way for anyone to find her.