Touch: drag anywhere in your half and your mallet goes exactly where your finger is; snap through the puck to shoot; in 2 Players the bottom half is player one and the top half is player two; the pause and sound buttons sit in the top corners; tap to start and to play again · Keyboard: player one uses W A S D (or the arrow keys in Solo), player two uses the arrow keys; Space or Enter starts and plays again; P or Esc pauses; M mutes; arrows and Enter choose the mode and opponent in the menu. With a mouse, the mallet simply follows the cursor, no clicking needed.
About:
A glowing-puck duel in the spirit of the 2000s Flash classics, made in-house for Leetdom. A bright puck skims a dark frozen rink lit only by its own glow and the two mallets. Your mallet follows your finger (or the mouse) exactly, with no lag, so the whole game is in the wrist: meet the puck square to block, or swing through it to fire it at the far goal. The puck carries real momentum, banks off the side boards, and rings off the posts, and every clean strike transfers the speed of your hand into the puck up to its top speed.
First to seven goals wins. In Solo you face one of four opponents that get sharper as you climb: Drift reads the puck late and swings loose, Glide keeps a tidy net, Pulse covers the mouth and punishes a soft clear, and Nova reacts almost instantly and shoots for the open post. Each match opens with a three-count on a frozen puck, and a short flash and shake marks every goal before the puck is served to whoever conceded.
Two can play on one screen in portrait: the near player drags in the bottom half (or uses W A S D), the far player drags in the top half (or the arrow keys), and each mallet is held to its own half of the rink. Everything in it, the glow and the ice and all of the sound, is drawn and synthesised in code, with no image or audio files at all.
Credits:
Made by Leetdom, 2026. Written for Leetdom, and it lives here.
Phone check: 2026-10-05: built and tested by the remake-106 build agent. The rules live in physics.js, which runs unchanged under node: 15 determinism/physics tests pass (bit-for-bit replay from a seed, puck speed cap and no escape through walls or goals, pure-normal velocity transfer, no residual overlap, goal detection at both mouths, >90% speed kept on a board bounce, mallets held to their own half, and a Pulse-vs-Pulse rally that makes 20+ returns and scores). Difficulty is tuned against a fixed shot-battery save metric rather than self-play (self-play rewards random shots over accurate ones and inverts the ladder): save rate rises Drift 73% < Glide 86% < Pulse 92% <= Nova 92%, with Nova's edge coming from faster reaction and harder, sharper shots since defensive save rate saturates near 92%. Real CDP input: a 412x732 touch phone (tap to start, pick an opponent, a finger drag transfers real velocity to the puck up to its cap and scores through the real pipeline, win and loss each retry with one tap, pause button and a hidden tab both pause, 732x412 landscape re-letterboxes centered, blocked localStorage still boots and plays), and a 480x820 desktop (the mallet snaps to the cursor with zero offset, W/D and the arrow keys drive the mallet, P pauses, and in 2 Players WASD and the arrows move the two mallets independently each held to its own half). Zero console errors and no external network requests. Audio rendered offline through the game's own synthesis: peak -4.3 dBFS in play and -2.4 dBFS with every voice stacked at once (never clips), music about 20 dB under the effects, and nothing harsh above 6 kHz. Independent server2 QA: PASS (legal echoes removed). Production 5 Oct 2026 (pi-fleet): /games/rinklume returns 200; in-page on a 390x844 touch phone it loads with zero console errors and zero external requests; real CDP touch puts the mallet exactly under the finger (50,150 -> 50.00,150.00), a drag drives the puck to its 265 cap; Full screen refits the frame 332x590 -> 390x844, touch still maps exactly afterwards and the pause button pauses and resumes.
Rate this game:
One vote per game each month.
Play next:
Curve CourtA first-person neon court. Bend the ball through depth with spin, wrong-foot an authored ladder of rivals, and smash the target plates on the back wall.
Moth SwarmA firefly guards a moonlit garden. Moths, wasps, beetles and great Veilmoths settle into a swaying swarm, then peel off in swooping dives. Your light fires by itself; you just have to be in the right place and alive.
Puffin CrossingHop a little puffin up an endless harbour town: dodge fish vans and trams, ride driftwood rafts and diving seals, and keep ahead of the rising spring tide.
Reef RescueGlowing jellies are sinking onto a coral town. Tap the water to burst a bubble where they will be, and set off chain reactions to save the reef.