Click'd
And they were still coming. As soon as a new person arrived, Allie could hear bloops bouncing around in the air. Her phone was in her back pocket and she could hear it calling to the others, trying to echolocate, but she ignored it—as hard as it was. She didn’t have time to play. She had more important things to do.
When she reached the bottom of the steps, Bryan Nieto spotted her. “Allie’s here!” he shouted. She and Bryan had known each other since kindergarten, and they used to be good friends in elementary school, but they hadn’t talked much since they got to Mercer. He looked like he was about to say something to her, but then a girl stepped in front of him and threw her arm around Allie. “Hi, I’m Jess. This leaderboard party was my idea! What do you think?”
Allie clenched her jaw and forced a smile. “Awesome.”
“We’ve all decided we should do this every day until the whole school has clicked! I’m so glad you came. Zoe didn’t think you’d make it.”
She tipped her head toward a group over by the grass, and Allie followed her gaze. Zoe was sitting on top of a table, talking with Ajay. Allie couldn’t help but wonder if she’d been in that same spot when they were texting each other only fifteen minutes earlier.
“Can we take a selfie?” Jess asked, snapping Allie back to reality. Before she could answer, Jess was holding her phone high in the air and resting her chin on Allie’s shoulder. “Thanks!” she said as she skipped off.
Soon, Allie was surrounded by people. She didn’t know most of them—they looked familiar from classes and stuff—but that didn’t seem to matter.
They started telling her stories, without any prompting. Blake and Jackson told her they used to be best friends in kindergarten, but they drifted apart until Click’d brought them back together. Kira and Sean said they hadn’t met until they landed at the top of each other’s leaderboards, but they’ve been inseparable all week. Ben and Brody were both new kids and neither one knew a single person on Monday, but now they had each other and a whole new friend group.
Allie listened to all their stories. She asked if she could take their pictures to use in her presentation, and they immediately started posing for her.
All the attention made her giddy. She felt like a rock star. Or a superhero. Or a superhero rock star.
Then she pictured Nathan back in the lab doing the real superhero work, protecting the innocent by scanning and deleting, and she knew she had to get back to him. But she had to find Eric and Abigail first.
She spotted Abigail standing with her friends, and Eric under the basketball hoop, staring at his phone. Allie waved them over and explained everything. Eric thought it was hilarious. Abigail did, too. And Allie wasn’t certain, but it looked as if they both went straight to their photos and started deleting any they wouldn’t want to share.
As she walked away, she could hear music playing and everyone chatting, and she wished she could join them.
She was at the top of the stairs, heading into the quad, when she saw Kaila Boyd, Holly Cline, and Claudia Jasper standing in a small circle next to the cafeteria.
“This is a picture of the two of you at the beach last weekend!” Kaila yelled as she held her phone up to them. Allie couldn’t make out the photo, but she could tell the phone screen was flashing red.
None of them had noticed Allie yet, so she ducked behind the closest wall and listened.
“We’re sorry,” Claudia said.
“We really are,” Holly added.
“It’s one thing to go somewhere without me, but to make up a whole story?” Allie peeked around the corner as Kaila pointed at Holly and said, “You told me your mom got sick, so the trip was canceled.” Allie could see Holly’s shoulders sink. “So what? You just lied to me?”
“I’m sorry,” Holly said. “I didn’t want to hurt your feelings.”
Kaila held her phone up in the air again. “How would this not hurt my feelings?”
“We weren’t trying to be mean, I swear,” Claudia said. “We just wanted to go to the boardwalk,” she added, as if that explained everything.
“Yeah,” Holly said. “And none of the rides fit three people. We would have had to take turns all day.”
Kaila let out a laugh. “That’s okay. I get it. Better to just lie to me about it,” she said sarcastically, and then she turned on her heel and stormed off.
Allie couldn’t see the picture in question, but she was pretty sure if she had watched it go through the queue, it never would have occurred to her to delete it.
Nathan slid over and gave Allie her chair back.
“See anything sketchy?” she asked.
He made a face. “People take some weird pictures,” he said, “but no, everything looked legit.”
Allie wondered how many pictures were slipping out there without her even knowing it.
She had to fix it. But she didn’t know how. And she couldn’t ignore that anymore.
Nathan didn’t say anything, but he didn’t have to. He knew Click’d was broken. He could tell the judges. He could win G4G.
“Are you close?” he finally asked. She knew what he meant.
“I don’t know. I found the problem last night. I spent hours tweaking the code and testing it, but I can’t get it to pass. Every time I think I’ve fixed the photo issue, something breaks somewhere else. It’s all interconnected,” she said, interlacing her fingers together. “I can recode all the photo-related stuff, but not by Saturday.”
The room got quiet while Allie waited for Nathan to give her a lecture about the Games for Good rules. He was going to have far too much fun with this, and she was dreading every second. But then, he looked her right in the eye and said, “The store isn’t charging for paint.”
“What?” she asked.
Nathan tilted his monitor in her direction. She could see his little characters running around the neighborhood, carrying ladders from one house to another, dashing back and forth across the street, and speeding into the hardware store.
“It was working fine. But then I made a bunch of little changes last week—minor things, just cleaning up code and stuff.” He clicked the mouse a few times and zoomed in on the store. She could see the rows of supplies—bins filled with tiny bolts and screws, shelves displaying hammers and screwdrivers, and big push brooms lined up against one of the walls—and once again, she found herself in awe of the details in his imaginary world.
She watched as a woman with blond hair and a red sweatshirt stepped up to the counter holding a bag of nails, and the man behind the counter totaled her purchase. Her player information appeared in the corner of the screen, and as soon as he clicked on the register, fifty points were deducted from her total.
“It’s charging for nails and screws and tools, but as soon as someone comes in and buys paint, it doesn’t charge them. And paint is the most expensive item.”
“Who’s going to notice that?” Allie asked.
“The judges. All they have to do is look at my error logs.”
“You have error logs?” she asked.
“You don’t?” Nathan asked. Allie shook her head.
If she’d had error logs, she would have known about the photo glitch before Zoe had. She would have had a trail to follow. Instead, she had no clues at all.
A little animated character in a blue cap stepped inside the hardware store, grabbed a hammer from the wall of tools, and took it to the register.
“So that’s what you were trying to fix yesterday?”
Nathan nodded. “Yeah. And the day before. And pretty much all last weekend.”
Allie shot him a sympathetic smile. “What does Ms. Slade think?”
He shrugged. “I haven’t told her. I was kind of hoping I could figure it out myself.”
“Yeah,” Allie whispered. “Same here.”
Allie looked back at her screen, staring at the lines and lines of code stretched across her monitor. She knew she needed to get back to work, but the thought of poring through all those commands ag
ain made her head hurt. She was certain there was a solution, or even a simple work-around, but she was starting to think she’d never find it.
Then she looked back at Nathan’s screen. It reminded her of a game she’d built last year, where players ran a dog-walking service and had to figure out how much they needed to charge to keep the dogs safe and still be profitable. The graphics weren’t anywhere near as sophisticated as Nathan’s, but the game logic was probably similar.
She felt herself leaning in closer. She watched a guy in a little green hat step up to the counter, holding a bucket of paint, and then walk away with the tiny can swinging by his side and his point total unchanged.
When she looked at Nathan, she realized his eyes were locked on her monitor.
“I have a crazy idea,” she said.
“I bet it’s not as crazy as mine.”
They looked at each other.
“I made this dog-walking game last year.”
“I’ve solved a bunch of interdependent code issues in Built over the summer.”
“I mean…” Allie shrugged. “I’m sure you could solve it on your own, but—”
Nathan cut her off. “Exactly. You’d fix it eventually, but—”
“Sure. But I’m just so tired of looking at it,” Allie said.
“Same,” Nathan said. “Ms. Slade’s always telling us to check each other’s code, right? So we have a ‘fresh pair of eyes’ on the problem.”
“Exactly.”
They didn’t say anything after that. They just stood up and switched seats.
“How do I know you’re not going to sabotage my game?” Nathan asked.
Allie shot him a smug grin. “Because there’s only one thing I want out of Saturday’s competition: to beat you fair and square.”
She unplugged his headphones and handed them to him, and then she reached into her backpack and grabbed her own. She was glad she’d remembered to bring them.
Allie and Nathan worked until after seven o’clock, when Ms. Slade finally said, “Okay, that’s enough excitement for one day. Shut ’em down.”
The two of them logged out and followed Ms. Slade to the front of the school. Allie spotted her mom’s car right away. There was another car parked behind hers, and Allie assumed that must be Nathan’s ride.
“Talk later?” he asked.
“I’ll be back online as soon as I eat dinner. I have a bunch of homework to do, but once I finish it, I’ll get back to looking at your stuff.”
He held his fist out and she gave it a bump.
Allie sat down and buckled in as Bo poked his head up from the backseat and started licking her cheek. “Hi, boy!” She kissed the top of his head and stroked his ears. “I missed you so much! As soon as this competition is over, we’ll get back to real life, okay? I promise. Three-mile runs. Snuggles in front of the TV. And treats. Lots and lots of treats.”
Bo licked her face again like he agreed with her plan.
“How was your day?” her mom asked.
She pictured Emma at the lunch table—puffy-faced and red-eyed—and it felt like someone had punched her hard in the chest. “Fine,” Allie lied. And then she asked, “How was yours?” changing the subject as quickly as she could.
She continued the strategy all through dinner, keeping the focus on her parents so she wouldn’t have to talk about her fight with her friends, the fake accounts, or the glitch she still hadn’t fixed. And as soon as dinner was over, she rinsed off all the plates, loaded the dishwasher, and sprinted back to her bedroom.
She worked on her math homework, read a chapter on the American Revolution for her social studies class, and did an online science quiz. As she worked, she checked the photo queue, but everything was quiet. Every once in a while, she’d picture that look on Emma’s face again and she’d feel sick to her stomach.
Two hours later, she was ready to get back to the Built code. She pulled out her spiral-bound notebook and flipped to Nathan’s login instructions.
Once she could see his code, she scrolled down to the lines specific to the way the store worked, and started analyzing the commands.
Everything looked right. The lines specific to paint were identical to all the other supplies.
Bo was curled up under her feet, and he didn’t budge for the next two hours as she tweaked the code and ran it through her debugging program. She moved to the next layer and the next layer, peeling the code back like an onion, testing each one.
Her eyelids felt heavy, but she couldn’t stop. Not yet.
She needed a distraction, so she picked up her phone, opened the chat window, and typed a message to Courtney.
Allie
good day/bad day?
Courtney
you’re up late
Allie
it’s been an interesting one
Courtney
then you first
Allie thought about everything that had happened that day. She wasn’t quite sure how she was going to narrow it down to three good things and three bad ones.
Allie
829 users stories to add to my G4G presentation nemesis and I are actually helping each other
Courtney
ate lunch with new girl new personal best at track practice played Call of Duty for 5+ hours
Allie
Emma’s mad at me and I deserve it Maddie asked me to rig her leaderboard
Allie thought about her third item. She wanted to tell her everything that was happening with Click’d, but she wasn’t sure where to start. And it was late. So she kept it simple:
Allie
Click’d has a glitch (but I’m fixing it)
A few seconds later, her phone chirped.
Courtney
miss playing soccer on the lawn miss our dorm room still miss you most
Allie
Courtney
Goodnight
Allie
Goodnight
Allie looked back at her monitor. Those never-ending lines of code and database tables were blurring before her eyes.
She looked down at Bo. “Do you want a treat?” she asked, and Bo stood up and wagged his tail. “Come on. I need hot chocolate.”
The house was silent as she tiptoed down the stairs and into the kitchen. While she waited for her water to boil, Allie gave Bo three dog snacks, and then reached into the jar and stuck another handful in her sweatshirt pocket. When her hot chocolate was done, she grabbed her mug off the counter, and climbed the stairs with Bo right on her heels.
She returned to her desk, and Bo curled up next to her feet again. While she sipped her hot chocolate, she studied Nathan’s code, starting from the top again.
She spent the next hour reviewing everything, line by line. She made a few more changes and ran more tests, and when they failed again, she decided to call it a night.
Allie was just about to log out, when she had another idea.
She had been focused on the store-specific commands, but now she scrolled way down to the bottom, into the interactions between characters. And that’s where she spotted something unusual. The store was charging for paint. That wasn’t the problem. The problem came much later in the code.
It was almost 1:00 a.m. when she texted Nathan.
Allie
you told the system to credit all characters for paint
Nathan
what?
the code is right. it’s charging them. but later, it’s giving them a refund
that’s impossible
check it out
Allie copied the specific line of code, pasted it into the text, and pressed SEND.
There was no response from him right away, but a few minutes later, her phone buzzed.
Nathan
Allie
working?
I think so
hold on
okay refresh
Allie hit -R and then relaunched his game. She selected a player in a red sweatshirt, clicked on the store, and watched her cross the stree
t and step inside. She double-clicked to see the activity.
The little red character walked to the register, paint can swinging by her side, and set it on the counter. A second later, it deducted five hundred points from the account. She grabbed the paint off the counter and walked out of the store.
Allie was smiling when her phone rang. She answered it as fast as she could, and hoped her parents hadn’t heard it; they’d be furious if they knew she was still awake.
“I remember what I did.” Nathan launched in without even saying hello. “When I was first working on the character interactions, I didn’t want to deal with transactions, so I wrote code to bypass the store fees. I thought I’d deleted them over the summer, but I guess I missed one. I bet it hasn’t been charging for months and I just hadn’t noticed it.”
“Makes sense,” Allie said.
“How did you find that?”
“I’m good,” Allie said smugly.
Nathan laughed into the phone. “Yes, you are.”
“Any luck with mine?” she asked.
Nathan took a deep breath. “Sort of. I’m still working on it. You’re right—it’s super complicated and everything’s interconnected—but I think I have an idea.”
Allie yawned loudly into the phone. “What?”
“Let me play with it a little longer. I’ll tell you tomorrow.”
“Okay,” Allie said. “I need to go to bed before I fall out of this chair.”
Allie could hear him typing on the keyboard in the background. Then the sound stopped. “Allie?” Nathan said.
“Yeah.”
There was silence on the other end. “I’m…It’s just…well…Thanks.”
Allie smiled to herself. “Glad I could help. Return the favor, would you? You’re kinda my only hope, here.”
“Yikes. No pressure,” he said. Allie could tell he was smiling on the other end of the phone.