Alvin arrived at The Cage at 5 AM.
The sun hadn't risen. The motion sensor lights flickered weakly. The air was cold and sharp.
He had a basketball in one hand and a bag of tennis balls in the other.
Maya's idea.
"You want to learn how to shoot?" she'd said on the phone last night. "Then shoot. But not from three-point range. From the free-throw line. A thousand times a day. Every day. Until your arms fall off."
"A thousand?"
"Minimum."
Alvin set the bag down. He walked to the free-throw line. He shot.
Swish.
He shot again.
Swish.
He shot again.
Clang.
He retrieved the ball. Shot again. Swish.
He kept shooting.
---
At 7 AM, Michael arrived.
He stood at the edge of the court, watching Alvin shoot free throws. His arms were crossed. His face was unreadable.
"How many?" Michael asked.
"Three hundred."
"Made?"
"Two hundred forty."
Michael walked onto the court. "That's not bad."
"It's not good enough."
"No. It's not." Michael picked up a ball. "You're pushing the ball. Not shooting it."
"What's the difference?"
Michael stepped to the free-throw line. "Pushing is when your arm does all the work. Shooting is when your whole body does the work. Legs. Core. Shoulders. Wrist."
He shot. Swish. The ball barely touched the rim.
"See? Easy."
Alvin stepped to the line. He bent his knees. He focused on the rim. He shot.
Clang.
"Again."
Clang.
"Again."
Swish.
"Good. Now do it a thousand more times."
---
By noon, Alvin's arms were dead.
He'd shot six hundred free throws. Made four hundred eighty. Missed one hundred twenty.
His shoulder ached. His wrist throbbed. His fingers were raw.
He sat on the cracked asphalt, leaning against the chain-link fence, breathing hard.
Michael sat next to him. "You're thinking too much."
"I'm not thinking at all."
"Exactly." Michael tossed a ball at him. "You're not thinking about your form. Your follow-through. Your release. You're just throwing the ball at the rim and hoping it goes in."
"It's going in more than before."
"Not enough. Leonard wants a scorer. Scorers don't hope. Scorers know."
Alvin looked at his hands. "How do I know?"
Michael stood up. "You practice until you can't miss. Then you practice some more."
---
The rest of the week was torture.
Alvin woke at 5 AM. Shot free throws until school. Went to class. Went to practice. Went back to The Cage. Shot free throws until midnight.
His body screamed. His mind was foggy. His fingers bled through the tape.
But his percentage climbed.
Day one: 68 percent.
Day two: 71 percent.
Day three: 74 percent.
Day four: 78 percent.
On day five, he shot 82 percent.
Not good enough. But closer.
---
The night before the Brookhaven game, the Observer texted.
Observer: How many free throws did you shoot this week?
Alvin: Five thousand.
Observer: Made?
Alvin: Four thousand.
Observer: That's 80 percent. Not great. But better.
Alvin: I need to be better.
Observer: Then be better. But not tonight. Tonight you rest. Tonight you trust the work.
Alvin: What if I miss?
Observer: Everyone misses. The question is what you do after.
---
Game day. Brookhaven.
The gym was half full. Brookhaven had lost Marcus "Money" Tran to graduation. Their team was younger now. Less experienced.
But they still had Ray — the cocky sophomore who'd learned all of Marcus's moves.
Alvin saw him during warm-ups. Ray was shooting threes, talking trash to anyone who would listen.
"That's the redirect kid," Ray said to his teammate. "He can't shoot. He can't score. He just passes."
Alvin heard him. He didn't respond.
Michael walked over. "You hear that?"
"I heard it."
"You going to do something about it?"
Alvin looked at his hands. His raw fingers. His tired arms. His five thousand free throws.
"Yeah," Alvin said. "I am."
---
The game started at 7:00 PM.
Westbrook won the tip. Alvin caught the ball at the top of the key. Ray guarded him — hands active, mouth running.
"Pass it, Chen. That's all you can do."
Alvin looked at Michael. Michael was cutting, but Ray had positioned himself to intercept any redirect.
He's studied our film, Alvin thought. He knows our angles.
Alvin drove.
Not fast. Not pretty. Just forward.
Ray stepped back, surprised. Alvin pulled up at the free-throw line.
He shot.
The ball arced. High. Soft.
Swish.
The crowd gasped. Michael pumped his fist. Junk screamed.
Ray stared at Alvin. "You shot?"
"You left me open," Alvin said.
"Lucky."
"Practice."
---
The first quarter was different than any game before.
Alvin didn't just pass. He scored. He drove. He shot free throws. He even hit a three-pointer — his first of the season.
Ray couldn't keep up. He'd studied Alvin's passes, but not his scoring. He didn't know where to guard him.
By the end of the first quarter, Westbrook led 24-14.
Alvin had eight points. Four assists. Zero turnovers.
He sat on the bench during the break, breathing hard, trying not to smile.
I can do this, he thought. I can score.
Michael sat next to him. "You're proving him wrong."
"I'm proving myself right."
---
The second quarter was more of the same.
Alvin scored. Michael scored. Junk rebounded. The lead grew.
Ray got frustrated. He fouled Alvin twice — hard, unnecessary fouls that the referees called every time.
Alvin stepped to the free-throw line. His arms were tired. His fingers were raw.
Trust the work.
He shot. Swish.
He shot. Swish.
He shot. Swish.
By halftime, Westbrook led 48-28.
Alvin had sixteen points. Eight assists. Zero turnovers.
The locker room was loud.
"That's my point guard," Junk shouted.
"Who taught you to shoot?" Dante asked.
"Maya," Alvin said. "And five thousand free throws."
Michael laughed. "Five thousand?"
"Minimum."
---
The second half was a formality.
Westbrook kept scoring. Brookhaven couldn't keep up. Ray fouled out in the third quarter — his fifth foul a frustrated shove on Michael.
The final score was 88-52.
Alvin had twenty-four points. Fourteen assists. Two turnovers.
He'd never scored twenty points in a game before. Not in junior high. Not in high school. Not ever.
After the game, Ray walked over to Alvin.
"You shot," Ray said. "I didn't think you could."
"I couldn't," Alvin said. "Until I learned."
Ray stared at him for a long moment. Then he nodded and walked away.
Michael appeared at Alvin's side. "Twenty-four points. That's crazy."
"It's one game."
"It's proof." Michael put a hand on Alvin's shoulder. "You're not just a passer anymore."
Alvin looked at his hands. His raw fingers. His tired arms.
"I'm a basketball player," he said.
---
The bus ride home was loud.
Junk was singing. Dante was arguing with Kwame about the final score. Michael was replaying his dunks on his phone.
Alvin sat in the back, staring out the window. The highway lights blurred past.
His phone buzzed.
Observer: Twenty-four points. Fourteen assists. That's a statement.
Alvin: Ray said I couldn't shoot.
Observer: He was wrong.
Alvin: He wasn't wrong. I couldn't shoot. Now I can.
Observer: That's growth. That's what scouts want to see.
Alvin: Did Leonard see it?
Observer: Leonard sees everything. He'll be at your next game. North Prep. Trey.
Alvin's stomach tightened.
Alvin: Trey is different.
Observer: Trey is the same. He's smart. He's disciplined. He doesn't make mistakes. But he doesn't take risks either. That's his weakness.
Alvin: What's my weakness?
Observer: You still don't believe you belong. You think you're lucky. You're not. You're skilled. You're smart. You're tough. Now start believing it.
---
The next morning, Alvin walked to The Cage.
The sun was rising. The lights had stopped flickering. The rims were still rusted.
He shot free throws for an hour. Then he shot three-pointers. Then he practiced layups — left-handed, right-handed, both.
His phone buzzed.
Michael: The Cage. Noon. Bring your left hand.
Alvin: Why?
Michael: Because Trey is going to guard your right. He's going to force you left. You need to be ready.
Alvin: I'm always ready.
Michael: Prove it.
---
Noon. The Cage.
Michael had set up cones, laid out balls, and drawn a diagram on the brick wall.
"Trey is going to play you tight," Michael said. "He's going to deny you the ball, push you off your spots, make you uncomfortable."
"What do I do?"
"You adapt. You use screens. You move without the ball. You shoot over him if you have to."
"I can't shoot over Trey. He's six-three."
"Then drive past him." Michael tossed Alvin a ball. "Show me your left-hand drive."
Alvin dribbled left. Awkward. Slow.
"Again."
Again. Better.
"Again."
Again. Faster.
"Again."
By the end of an hour, Alvin's left-hand drive was still ugly. But it was faster.
"Not bad," Michael said.
"Not good enough."
"It's a start."
---
The next day, Leonard Cross showed up at practice.
He sat in the bleachers, his leather bag at his feet, his eyes watching everything.
The team played harder with him there. Junk rebounded like his life depended on it. Dante hit three after three. Michael dunked on every fast break.
And Alvin — Alvin scored. He drove. He shot. He passed. He did everything.
After practice, Leonard walked onto the court.
"You've improved," Leonard said.
"Thank you."
"Don't thank me. Thank your work." Leonard looked at Michael. "Both of you. You're not the most talented players I've ever seen. But you're the hardest working."
Michael nodded.
"North Prep is your next game. Trey Okonkwo. He's already committed to State. He's not playing for a scholarship. He's playing for pride."
"What's the difference?" Alvin asked.
"Pride makes you careless. Trey is usually careful. But against you —" Leonard smiled. "— against you, he wants to win. Not because he needs to. Because he wants to prove something."
"What does he want to prove?"
"That he's still the best. That you're still the sixth man."
Alvin's jaw tightened.
"Don't let him," Leonard said. "Play your game. Score when you need to. Pass when you need to. Win."
He walked out.
Michael turned to Alvin. "He's right. Trey wants to prove something."
"So do I."
"What?"
"That I belong."
---
That night, Alvin couldn't sleep.
He lay in bed, staring at the ceiling, running through every scenario.
Trey guards me tight. I drive left. He stays with me. I pull up for a jumper. He contests. I miss.
His phone buzzed.
Trey: Leonard Cross was at your practice today.
Alvin: How do you know?
Trey: I have sources. Same as always.
Alvin: What do you want?
Trey: To remind you that I've been watching you for four years. I know your game. I know your habits. I know your weaknesses.
Alvin: Everyone has weaknesses.
Trey: Yours is that you still don't believe you're good enough. Leonard can't fix that. Only you can.
Alvin stared at the screen.
Alvin: Why are you helping me?
Trey: I'm not helping you. I'm preparing you. I want to beat you at your best. Not your worst.
Alvin: You'll get my best.
Trey: Good. I'd hate for it to be easy.
The messages stopped. Alvin put the phone down.
Trey wants to beat me at my best.
So do I.
He closed his eyes. When he opened them, the sun was rising.
It was game day.