Card Round is a fast, gothic-themed multiplayer card duel. Each match is 10 rounds, each player holds the same 10 unique cards, and the server resolves every round so the outcome is fair and authoritative.
- Players join a lobby, chat, and ready up.
- The server starts a countdown, then deals hands.
- Each round has a type (attack, defense, or trick) and every player chooses one card.
- Scores update each round. Highest total score wins when all rounds are complete.
- Round types rotate through a randomized 10-round sequence.
- Scoring rules:
- Win: 3 points
- Tie: 1 point
- Loss: 0 points
- Trick rounds apply effects after base points are awarded.
All players share the same set of 10 cards. Some cards include special effects:
steal1: steal 1 point from the current leader (if possible)swap_points: swap scores with the current leaderbonus2: add 2 points to yourself
- Drag and drop a card from the hand tray to play it.
- A round-result animation highlights the winning card.
- The match report shows total scores and round wins.
- If a player leaves mid-match, the game continues with the remaining players.
- Gothic, candlelit palette with brass accents.
- Pixel-inspired typography for UI and overlays.
- A splash screen shows the WhiteForeground mark on a dark brown gradient with a spinning loader before the lobby appears.
npm install
npm run startcd client
npm install
npm run devBy default the client connects to ws://localhost:3000/ws.
Build the client and serve it from the Node server:
cd client
npm run buildThen start the server from the project root:
npm run startdocker build -t card-round .
docker run -p 3000:3000 card-round