CASE STUDY · REAL-TIME MULTIPLAYER

Neon Arena
即時多人德州撲克

把隱藏資訊、多人同步、回合期限、重連、籌碼與牌池結算放進伺服器權威的即時遊戲架構;支援 2–6 位朋友同桌,全部籌碼皆為虛擬數字,沒有付費、儲值或兌現。

Live Demo ↗
角色
全端即時多人遊戲開發
範圍
牌局規則 · WebSocket · Durable Objects · Reconnect
狀態
Live friends-only prototype
技術
React · Cloudflare Workers · Durable Objects / SQLite
年份
2026

00 / Project framing

專案脈絡與工程判斷

Problem即時德州撲克不只要同步桌面,還必須保護私牌、處理同時操作與回合期限、斷線重連,以及多人 all-in 後的牌池結算。
Decision採用伺服器權威模型:每房一個 Durable Object,使用 Hibernation WebSocket、SQLite persistence、alarm timeout、玩家個別 snapshot 與 Web Crypto CSPRNG 洗牌。
Evidence目前已實作 2–6 位同桌、18 秒回合、進行中加入先觀戰、斷線重連、房主轉移、主池/邊池與退款結算;公開 Live Demo 僅使用虛擬籌碼。
Next下一步是玩家可驗證的 commit/reveal 公平性、正式帳號與跨裝置身分恢復、觀眾模式,以及席位到期回收。

01 / Implemented scope

多人牌局的核心行為由伺服器統一決定。

2–6位玩家同桌
18s每回合操作期限
6位房碼分享加入
1房間對應一個 Durable Object

進行中加入者先觀戰、下一局入座;斷線後保留籌碼並支援回到原座位。房主離線時會轉交給已連線玩家。

02 / Architecture

Client 只提交意圖,Server 才是牌局權威。

Browser ClientReact UI、房間加入、動作確認、重連
Worker API同源 API、輸入限制、房間路由
Durable ObjectWebSocket、身分、回合狀態、alarm
SQLite房間持久化、籌碼與牌局狀態

03 / Engineering

Hidden information每位玩家只收到自己的底牌;只有攤牌時才公開仍在局玩家的牌。
Authoritative state發牌、合法動作、籌碼、回合與結算都由伺服器決定,避免 Client 自行決策關鍵狀態。
Reconnect同一瀏覽器保留重連資格;重複分頁會由新分頁接管,避免兩個 Client 同時自動操作。
Pot settlement共用純牌局規則處理評牌、主池、邊池、退款與結算。

04 / Product

霓虹牌桌只是表層,重點是多人狀態與失敗情境。

Neon Arena 即時多人德州撲克公開 Demo
Portfolio 優先擷取公開 Neon Arena Demo 作為作品預覽;若外站暫時無法擷取,才回退至已審核的霓虹牌桌 visual。Demo 僅使用虛擬籌碼,沒有付費、儲值或兌現。

目前仍是朋友局測試版:沒有現金賭博、帳號系統、跨裝置身分恢復、觀眾專用模式、踢人或席位到期回收;洗牌使用可信伺服器與 Web Crypto,尚未實作玩家可自行驗證的 commit/reveal 公平性協定。