Poker Website
Full-stack multiplayer Texas Hold'em engine with a C++17 WebSocket server, Monte Carlo AI opponents, and an animated browser frontend — deployed live
Technologies Used
About This Project
A from-scratch Texas Hold'em engine built in C++17, served over WebSocket to a browser frontend with no install required for guests. The backend implements complete no-limit Hold'em mechanics including side pots, all-in run-outs, and showdown evaluation. A heuristic AI was replaced mid-project with a Monte Carlo equity engine using OMPEval, running rollouts against randomized opponent ranges to make real poker decisions. The lobby supports up to 10 seats with configurable human/AI mixes, blind sizes, and starting stacks. Multi-room support allows up to 5 simultaneous games with a live room list on the home screen. Reconnect tokens stored in localStorage let players rejoin on refresh without disrupting the game. The frontend is a fixed-coordinate canvas scaled uniformly by CSS transform, animated with GSAP for card deals, chip movements, and a win overlay that highlights the exact best-five cards. Deployed on Fly.io via a multi-stage Docker build with automatic WSS/HTTPS at the edge.
Key Features
- Complete no-limit Texas Hold'em engine in C++17 — side pots, all-in run-outs, full showdown evaluation
- Monte Carlo equity AI using OMPEval: runs rollouts against randomized opponent ranges; AA≈85%, 72o≈34% — matches known poker math
- Three AI difficulty levels (Easy/Normal/Hard) with pot odds, positional bonuses, bluff rates, and randomized think delays
- Browser multiplayer over WebSocket (Crow server) — zero install for guests, up to 10 players per room
- Multi-room support: up to 5 simultaneous games with a live room list and one-click join
- Reconnect via localStorage token — refresh mid-game and automatically rejoin your seat
- GSAP-animated frontend: card deals, chip movements, fold animations, and a win overlay highlighting the exact best-five cards
- 880+ passing Catch2 unit tests across model, controller, evaluator, AI, and network layers
- Deployed live on Fly.io via multi-stage Docker build with automatic HTTPS/WSS
Project Gallery
Images
Game Play with Help Menu Open
Setup Game Menu
Game Play with Raise Controls Open
Game Play (not your turn)
Create/Join Game Screen and Main Menu
Videos
Full gameplay demonstration
Project Info
- Primary Language
- C/C++
- Categories
- gamesystemsweb
- Completion Date
- May 2026
- Repository
- View on GitHub →
- Live Demo
- Open Live Site →