跳到主要內容CASE STUDY · REAL-TIME MULTIPLAYER
Neon Arena
即時多人德州撲克
把隱藏資訊、多人同步、回合期限、重連、籌碼與牌池結算放進伺服器權威的即時遊戲架構;支援 2–6 位朋友同桌,全部籌碼皆為虛擬數字,沒有付費、儲值或兌現。
- 角色
- 全端即時多人遊戲開發
- 範圍
- 牌局規則 · 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
霓虹牌桌只是表層,重點是多人狀態與失敗情境。
Portfolio 優先擷取公開 Neon Arena Demo 作為作品預覽;若外站暫時無法擷取,才回退至已審核的霓虹牌桌 visual。Demo 僅使用虛擬籌碼,沒有付費、儲值或兌現。目前仍是朋友局測試版:沒有現金賭博、帳號系統、跨裝置身分恢復、觀眾專用模式、踢人或席位到期回收;洗牌使用可信伺服器與 Web Crypto,尚未實作玩家可自行驗證的 commit/reveal 公平性協定。