Loading project details.
A two-player strategy board game with realtime online matches, private rooms, local play, and three bot difficulty levels.

Hadang turns a simple choice into a strategy game: move a pawn toward the opposite side of a 9 by 9 board or place a wall to slow the other player. The experience needed to support quick practice, face-to-face play, and online competition without making players learn separate interfaces.
Players can find an online opponent, invite a friend, share a device, or practice against bots, then revisit online matches through step-by-step replays.
Built a shared TypeScript game engine for legal moves, pawn jumps, wall conflicts, and path validation so every player always retains a route to the goal. Used Convex for realtime matchmaking, private rooms, and server-authoritative online actions and clocks, with reconnect handling. Added local pass-and-play, three bot difficulty levels, match history, player statistics, and replay controls around a responsive Next.js interface.
Built the game engine, responsive board interface, and realtime online match flows.
Validated wall placement against overlaps and blocked paths while supporting pawn jumps and timed turns.
Implemented matchmaking, private rooms, reconnect handling, resignation, and rematches with Convex.
Added local pass-and-play and untimed practice against three bot difficulty levels.
Built match history, player statistics, and step-by-step replays with recorded clocks and wall ownership.
Added an installable PWA with an offline shell and reduced-motion support.