a hex-based multiplayer strategy game. you manage a deck of 25 cards—troops, buildings, and instincts—to fight on a hexagonal grid and destroy the opponent's cat tree.
the roster is mostly anime-inspired cats. they don't just upgrade linearly; they evolve mid-match based on specific triggers. some evolve after dying, some evolve after taking enough lifetime damage, and some evolve when you play specific catalyst cards on them.
the combat engine lives in the shared/ directory. both the client and server run the exact same simulation code to ensure state stays perfectly synced and predictive pathing works without latency. the engine handles phase-based combat, so all movements are locked in and attacks resolve transitively based on unit speed stats.
requires node.js (v18+).
git clone https://github.com/fakeplastic-tree/catnip.git
cd catnip
npm install
npm run dev
this spins up both the frontend (localhost:5173) and the websocket server (localhost:3000) concurrently.