Current Shot
Quick match setup
This is where the game stops reading like a generic difficulty menu and starts reading like a configured duel game with readable AI behavior.
Playable Public Release
A Linux-native spin-heavy Pong game for desktop and R36 handhelds, with tuned paddles, dynamic style-based AI, and a school-club story wrapped around the same match system.
Whacker is Pong first. The thing to show at the top is the game itself: live rally pressure, spin, placement, and a HUD that makes the match layer feel deliberate from the first glance.
The GitHub repo is the release hub for both the Linux desktop build and the R36 handheld build. Start with a quick match, then let story mode layer a club, rivals, training, and a persistent career on top of that same match layer.
It also runs on R36 handheld hardware now, with an R36 Ultra play video right here for anyone who wants the tiny proof.
Quick Match First
Before story mode adds club context, this screen already shows the game's real surface area: per-side control, dynamic AI style profiles, and direct access to paddle tuning.
Current Shot
This is where the game stops reading like a generic difficulty menu and starts reading like a configured duel game with readable AI behavior.
1
Both sides are treated like players with setup choices, not just a human on one side and a mystery CPU on the other.
2
Opponents are not just easy or hard. Balanced, power, spin, and technical profiles shape how the AI pressures each rally.
3
A few short matches are enough to feel the difference between build shapes on both sides of the table, which is why quick match is the best starting point.
Paddle Tuning
In quick match and story, the build underneath the paddle is edge, power, and spin_inject. In the UI, that first axis usually reads as Technical, and the resulting shape gets surfaced back as readable style language instead of staying hidden under the hood.
Current Shot
This is the heart of the progression layer: a visible build that can be tuned directly and then carried forward through play.
POW
Pushes the paddle toward direct pressure and stronger, blunter presence.
EDG
Sharper angles, cleaner placement, and the part of the build the UI most often surfaces as TECHNICAL.
SPN
Curvier, nastier ball behavior and the part of the build that makes rallies feel trickier instead of just faster.
Readable Styles
Paddle tuning normalizes those three weights, classifies the result as Balanced, Power, Spin, or Technical, and uses the same language for player growth, authored rivals, and dynamic AI profiles.
In story mode, that build does not reset after each match. How you play keeps pushing it around, which is why the tuning screen matters so much to the rest of the game.
Story Mode
The current playable slice is an onboarding-to-hub run through the club: authored scenes, training, official matches, and persistent player state carried by the same match system quick match already introduces.
Current Shot
The current story slice already has dialogue UI, side choice, retry and forfeit support, and an authored onboarding chain through Kai, Aya, Benji, Coach Reyes, Tix, and the 1967 dream beat.
Current Shot
The hub carries the persistent state: week, record, rating, training count, skills, and the routes back into play. It also stops honestly where the current authored slice ends.
1
The first slice introduces the club and lands the player in the hub.
2
Training matches and official matches both count toward the same career.
3
How you play pushes the build toward technique, power, or spin instead of resetting after each match.
4
Train more, take the next match, retune the paddle, or stop where the current story slice ends.
Cast
The current playable slice centers on a smaller group, but the repo already goes wider than that. The cast art and writeups are one of the clearest signs that this project was aiming for more than a straight Pong prototype.
Current playable slice
The point of entry into the club; still mostly scaffolded on paper, but clearly the center of the season.
The first bridge into the club: welcoming, fair-minded, and quietly competitive.
A composed stabilizer who treats care as action and keeps pressure from splitting the room.
A polite spin nuisance who works the edges of trust, access, and plausible deniability.
A technical foil who trusts rules, records, and repeatable methods more than vibes.
Wider Season 1 cast already in the repo
A boundary-driven coach who trusts sequence, standards, and fairness backed by accountable process.
A force-first rival who wants effort to be visible and pressure to be met head-on.
The club's social glue: practical, adaptive, and always tracking what the group needs next.
Season 1 In Repo
In the repo docs, Season 1 is structured as roughly eight school weeks across three acts. The runtime you can play today mostly lives in Act 1, but the wider season shape is already written down.
The wider season is built around Anchor A / B / C matches and a convergent schedule with divergent expression around it: inserted scenes, relationship flags, performance tags, conflict tags, and personal matches that change tone and local routing without turning the season into separate timelines.
Released as-is. This version grew out of an older QBasic Whacker and was built fast with GPT-5.2 over about a week of full-time work.
Useful extra: in a match, F10 opens the dev menu,
and P hands the player paddle to AI.