game-mechanics
A deliberate departure from the mockup
Redesigning PvP invitations and Settings meant deciding, up front, where the request diverged from the just-locked design-system mockup rather than treating the gap as an oversight.
Rematching with the same opponent in real-time PvP
Starting another match against the same opponent previously required sharing a new room link. Token-chained authorization and a six-state UI matrix bring instant same-opponent rematches.
Deriving help text point values from the game engine
Hardcoded point strings in UI translation dictionaries drifted when fruit values changed. Deriving help copy directly from EDIBLE_POINTS enforced a single source of truth.
Leaderboard chips learn to explain themselves on tap
Native title tooltips were invisible on touch devices. Extracting LeaderboardChip brings tap-to-open DetailTooltip popups and scroll dismiss across all leaderboard tabs.
The icon nobody recognized
Player feedback from an iOS user led to updating the backspace key icon and moving it to the top row.
Stabilizing the automated gameplay recording script
Making the gameplay recording tooling engine-accurate and predictable by importing the real engine and pinning the apple queue.
One snake, two renderers
The live board and canvas share image learn one shared rule for drawing a connected snake without merging a tight coil into a blob.
Confetti for the winner
A win effect and per-viewer reveal rule let every player see one clear ending, even when a duel ends with both a winner and a crash.
A second way to share
A general "share the game" button joins the main menu, distinct from the post-game score share, plus a dependency catch-up that ran into a release-age policy of its own.
Four tabs, one question at a time
Restructuring the stats page around mode, scope, and language, with prototypes and typed review catching what the first implementation missed.