DEV Community

Cover image for Building a Real-time, Multiplayer Poker Game: Phase 1 of 3
Zihan Lei
Zihan Lei

Posted on

Building a Real-time, Multiplayer Poker Game: Phase 1 of 3

Building a Server‑Authoritative Poker Engine: Phase 1 of 3

I'm a high school student developer, and for the past few months I've been building a real‑time multiplayer Texas Hold'em game from scratch. This is Phase 1: a fully functional local prototype that runs on Node.js + Socket.IO.

Important: This is not deployable yet. It's a local‑only testing prototype. I have two more major phases planned before it's ready for public release on platforms like Itch.io, CrazyGames, and Poki.


🛠️ What's Built So Far

  • Real‑time multiplayer: up to 12 players per table
  • Full game logic: side pots, rebuys, all‑in, showdown
  • Spectator mode: watch games and request to join (host approved)
  • 20‑second turn timer: auto‑fold on timeout with visual countdown
  • Floating emojis: YouTube‑live style reactions
  • Sound effects: synthesised via Web Audio API (no external files yet)
  • Host controls: kick players, edit chips, change password, toggle rebuys, change max players
  • Responsive UI: works on desktop and mobile

🧠 Technical Highlights

The entire game state is managed server‑side to prevent cheating. Some of the more interesting parts I had to figure out:

  • Side‑pot algorithm: calculating multiple pots when players go all‑in
  • Hand evaluator: ranking 5‑card hands from 7 cards (with kickers)
  • Turn timer: server‑enforced 20s limit with auto‑fold
  • Spectator flow: separate chat, request‑to‑join with host approval

🔮 What's Coming (Phases 2 & 3)

  • Phase 2: major content and mechanics additions (the fun stuff).
  • Phase 3: complete aesthetic overhaul and UI polish, making it ready for public platforms.

💬 Why I'm Sharing Now

I want early feedback on the core logic, UX, and any bugs before I build more on top of it.

Since I'm a student doing this in my free time, I'll respond to feedback and fix reported issues within 2 weeks (best case). If I can't make that window, I'll reply to let you know when I can, and ping you again once the fix is live.


🚀 Try It Yourself

git clone https://github.com/zihanlei/hokus-pokers
cd hokus-pokers
npm install
npm start
Enter fullscreen mode Exit fullscreen mode

Visit http://localhost:3000 in your browser, host a game, and open a second tab to join as a player.


📦 Repo

https://github.com/zihanlei/hokus-pokers

Open to all feedback – feel free to open an issue, start a discussion, or email me directly at zihanlei0512@gmail.com. Thanks for reading!

Top comments (5)

Collapse
 
aremu_feranmifreddiesc profile image
Aremu Feranmi

Amazing work! I'm genuinely impressed with what you've built, especially as a high school student. The server authoritative architecture, side pot logic, and overall attention to detail really stand out.

I also noticed the repository doesn't have any contributors yet. If you're interested, I know a community of open source contributors who enjoy exploring promising projects like this. Bringing in contributors can lead to valuable feedback, bug reports, feature suggestions, and increased visibility. Many contributors also choose to follow the project, star the repository, or fork it if they find it useful.

I just followed you and gave your repository a star and a fork to show my support. Looking forward to seeing Phases 2 and 3. Keep up the great work!

Collapse
 
maria_bryan_88081208cbd profile image
Maria B. Ryan

Hi Aremu, can i also share my project with your contributors? If they find it valuable, I'd appreciate their feedback, bug reports, contributions, and support by following my GitHub profile, starring, and forking the repository.

Collapse
 
zihanlei profile image
Zihan Lei

Thank you so much. I would love it if you have any suggestions on bringing in contributers!

Collapse
 
codingwithjiro profile image
Elmar Chavez

@zihanlei Wow I'm impressed that you are already building projects like this and you are still in high school! Keep going, you'll go far!

Collapse
 
zihanlei profile image
Zihan Lei

Thank you so much!