GNARGNARHEAD // WHACKER

Playable Public Release

Whacker

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.

Linux Native Desktop R36 Handheld Dynamic AI

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.

R36 Ultra
Linux-native Whacker running on real R36 Ultra hardware. The handheld notes live over on the blog too. Read R36 Ultra Notes

Quick match is the cleanest first read on what the game is doing.

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

Quick match setup

Whacker quick match setup screen showing per-side control, tuning access, and style labels.

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

Two configured sides

Both sides are treated like players with setup choices, not just a human on one side and a mystery CPU on the other.

2

Dynamic AI styles

Opponents are not just easy or hard. Balanced, power, spin, and technical profiles shape how the AI pressures each rally.

3

Contrast shows up fast

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.

The paddle is a build, and progression keeps shaping it over time.

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

Skill triangle + tuning

Whacker paddle tuning screen showing the skill triangle and build distribution.

This is the heart of the progression layer: a visible build that can be tuned directly and then carried forward through play.

POW

Power

Pushes the paddle toward direct pressure and stronger, blunter presence.

EDG

Edge / Technical

Sharper angles, cleaner placement, and the part of the build the UI most often surfaces as TECHNICAL.

SPN

Spin Inject

Curvier, nastier ball behavior and the part of the build that makes rallies feel trickier instead of just faster.

Readable Styles

Balanced Power Spin Technical

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 turns the same match rules into a club career.

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

Onboarding scene

Current Whacker story scene screen.

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

Story hub

Current Whacker story hub screen showing progression and tuning.

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

Onboard

The first slice introduces the club and lands the player in the hub.

2

Train + play

Training matches and official matches both count toward the same career.

3

Grow the paddle

How you play pushes the build toward technique, power, or spin instead of resetting after each match.

4

Return to hub

Train more, take the next match, retune the paddle, or stop where the current story slice ends.

The story layer already has a real club around it.

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

Player Character

Player Character portrait art from Whacker.

The point of entry into the club; still mostly scaffolded on paper, but clearly the center of the season.

Kai

Kai Alvarez portrait art from Whacker.

The first bridge into the club: welcoming, fair-minded, and quietly competitive.

Aya

Aya Villanueva portrait art from Whacker.

A composed stabilizer who treats care as action and keeps pressure from splitting the room.

Benji

Benji Santos portrait art from Whacker.

A polite spin nuisance who works the edges of trust, access, and plausible deniability.

Tix

Tino Tix Ramos portrait art from Whacker.

A technical foil who trusts rules, records, and repeatable methods more than vibes.

Wider Season 1 cast already in the repo

Coach Reyes

Coach Reyes portrait art from Whacker.

A boundary-driven coach who trusts sequence, standards, and fairness backed by accountable process.

Jolo

Jolo Marasigan portrait art from Whacker.

A force-first rival who wants effort to be visible and pressure to be met head-on.

Issa

Issa Flores portrait art from Whacker.

The club's social glue: practical, adaptive, and always tracking what the group needs next.

The playable slice sits at the front edge of a larger three-act season.

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.

Act 1

Entry + Belonging

Weeks 1-2. Club entry, placement, and the first stable feeling that the room knows who you are. The current build mostly lives here.

Act 2

Friction + Identity

Weeks 3-6. Style becomes social fact, Benji trust-friction sharpens, and Anchor B is the Week 6 semifinal rematch with Jolo.

Act 3

Respect + Continuation

Weeks 7-8. Regional pressure, the decider, and a quiet aftermath that treats continuation as the ending instead of spectacle.

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.