gatomocho.
All devlogs
Devlog #8 · · 2 min read

Building Poke

Building Poke from a design idea, reusing server code from a project still in progress, and how a debug tool became the most played mode.

Tony, master of none
Writes the code, ships the builds, waters the plants
EngineeringPostmortem
Poke key art centered on a dark slate background
Poke key art.

Poke started with a pitch from a close one. She had the entire game idea mapped out: two coin colors in a grid, where piece placements push closest coins outward. She designed it. I just wrote the code.

To get a server running fast, I borrowed the WebSocket room architecture from A Game About Cars, a project still in progress. The session logic, state relays, and socket handling were already solid, so I lifted the backend module intact instead of writing a new one.

The hardest part of the build was animation synchronization between clients. Server state resolves instantly, but the visual push shockwave takes hundreds of milliseconds to play out. If one client started animating coins before the other received the turn payload, the board states drifted out of sync visually. I had to lock input queues and align tween playback to explicit server tick timestamps so both players see the exact same movement at the same time.

Quick game mode was not planned as a product feature either. It started purely as a local debug shortcut so I could spin up two browser tabs and test room connections without typing six-digit codes repeatedly. It worked so well in testing that I kept it in the main menu.

Invite that person to play!

Play PokeMore devlogs
PREVIOUS · DEVLOG #7

We are entering GBJam 14

Ten days, four colours, and a studio getting back into practice.