← 回主控台
ArenaMate · System Blueprint

ArenaMate 整體架構藍圖

從「野場揪團 App」長成「運動競技 + 在地經濟」生態系的路線圖。
版本 0.1 更新 2026-06-06 狀態 ✅ Phase 1–7 全部已實作上線
載入中…
📌 你的拍板(已採用)· 仍可調整、自動存雲端
✅ 實作進度 · 全部已寫進 App + DB 並上線

賽季天梯系統 · Phase 1–7 完成

球員現在打一場正常場就會即時累積天梯分(SLP)並升段;賽事、球證、飯圈、排行榜、通行證全部接上真實後端與 realtime。

Phase內容實作
1 賽季骨架seasons + athlete_season_stats + 段位 UI✅ 開了「2026 賽季 1」(3 個月);個人頁「賽季段位」卡(盾牌+SLP+進度)
2 規模權重野場/區域/全國 加權✅ 野場 ×1.0;戰隊賽事記分 → 兩隊成員加 SLP(區域 ×2.5 / 全國 ×5)
3 防作弊 v1結構性 gate✅ 只算正常場、裁判≠球員、每日規模賺分上限(野場60/區域200/日)、重複對手衰減(今天同一對手第3次起×0.7ⁿ)
4 信任分0–1 integrityMult✅ athlete_trust:對手越多樣分越高、老是對同幾人越低,直接乘進 SLP
5 球證 + 飯圈數位球證 + 10km 優惠✅ 球證卡(段位卡面+QR)、綁定 customer_loyalty_id、飯圈店家清單(依段位解鎖)
6 排行榜 + 全國賽SLP 榜 + 規模✅ 本館/全國排行榜(即時)、全國規模、seasons.prize_pool 獎金池欄位
7 通行證 + 掛牌賽季通行證 + 申請制✅ 10 級獎勵軌(免費+進階)、XP 累積、領取/升級;賽事可申請掛牌(全國 SLP 需 app 方核准才生效,防自抬規模)
核心反作弊鐵則落地:自行宣稱「全國賽」但未經 app 方核准 → SLP 仍以區域計。獎勵越高、驗證越嚴,誘因與難度對齊。

關鍵公式(已上線)

單場SLP = base(勝8/負3) × 規模(1/2.5/5) × 信任(0.3–1) × 重複對手衰減(0.7ⁿ)
        再套「每日規模賺分上限」。練習場 = 0。

通行證 XP 與 SLP 分離(打一場 +15/+30 XP),符合雙幣制:天梯純競技、通行證走參與獎勵。

藍圖內容(設計原文)

0 · 一句話定位

ArenaMate = 業餘運動員的「天梯人生」:在真實場館打球 → 累積段位與生涯 → 段位變成在地特權(飯圈優惠)與賽事門票,最終由 App 方統籌全國賽事與獎勵經濟。

核心飛輪:球員密度 → 場館價值 → 賽事規模 → 獎勵與段位 → 吸引更多球員,並與 ChefsMate 餐飲會員卡互相導流。

1 · 成長與商業模式(四階段飛輪)

階段觸發開放變現防作弊
P0 冷啟動第一批場館全免費:揪團/配對/計分/段位無(衝密度)結構 gate
P1 區域賽單城夠多場館場館辦區域賽(scope 已有)場館訂閱 SaaS+ 跨場館校準
P2 全國賽全國上線App 方辦全國賽 + 排行榜門票/報名費抽成+贊助+ 實體驗證
P3 大型賽品牌成形申請制掛牌大賽申請費+抽成+通行證+飯圈廣告最高:現場核身
關鍵原則:免費的東西容易作弊但獎勵低;值得作弊的東西(全國賽、大獎)發生在實體、有票、有中立裁判的場合 —— 作弊誘因與作弊難度對齊。

2 · 架構基石:雙(三)幣制

把「技術分 / 天梯分 / 裝飾幣」徹底分開,否則防作弊與賽季設計都會崩。

指標用途歸零好不好洗
技術分 ELO(已有 rating_points)配對 / 平衡分隊零和,難洗
天梯分 SLP(新增)解鎖段位+真獎品每季軟重置靠公式+防制把關
裝飾幣 / 經驗值賣裝飾、爽度看設計不影響公平
鐵則:只有 SLP 連動段位與獎品。吃飯打卡、餐廳互動只能給裝飾幣/經驗值,永遠不能給 SLP

3 · 賽季與段位(CoD Mobile 式)

段位:青銅 → 白銀 → 黃金 → 白金 → 鑽石 → 大師 → 傳說(每段 3 小階)。

4 · 綜合評分公式(規模 × 數量 × 品質 × 信任)

單場SLP = base(勝8/負3) × 規模權重 × 對手品質 × 信任分 × 重複對手衰減
規模權重: 野場 1.0 / 區域賽 2.5 / 全國賽 5.0

「比賽數量」用「會隨規模放大的賺分上限」表達

規模桶每日/週 SLP 上限含意
野場低(每日 ~60)鼓勵練習但擋無限刷
區域賽中(每週 ~400)認真打天花板更高
全國賽無上限最高含金量、最難作弊

只有「正常場(滿員有效)」計 SLP;練習場一律 0。

5 · 防作弊體系(洗分手法 → 防制)

手法防制
互打 / win-trading重複對手衰減;偵測 A↔B 高頻;單對手 SLP 上限
人頭場 / 虛報GPS geofence(已有)+ 入場 QR(已有)+ 各球員不同裝置/位置 + 時長合理性
小號虐菜對手品質趨近 0;新帳號定位賽 + 臨時信任分;裝置關聯偵測
自己當裁判亂報裁判≠球員(已有唯一裁判);競技場強制中立裁判或雙方確認
狂刷數量練習場 0 分;規模桶週上限;每場最短時長/分數門檻
整館互餵場館級異常偵測;跨場館校準;場館信任分/掛牌審核
GPS spoof位置跳變/IP 交叉檢查;大獎綁實體現場核身,遠端偽造不了
信任分(0–1)由打卡比例、對手多樣性、裁判確認、帳號年齡、跨場館參與合成,當公式裡的 integrityMult —— 連續懲罰可疑,不誤殺正常玩家。

6 · ChefsMate 整合:球證 × 飯圈飛輪

直接重用 ChefsMate 現成鐵軌:Wallet 卡、會員/loyalty、餐廳端、推播。不重建。

打球 → 升段 → 球證更香 → 飯圈吃飯享優惠 → 帶店家客流
  ↑                                            │
  └── 店家贊助場館賽事 / ChefsMate 導客回場館 ←┘

7 · 資料模型增補

seasons(id, name, starts_at, ends_at, tier_cutoffs, soft_reset_factor)
athlete_season_stats(athlete_id, season_id, slp, tier, peak_tier,
                     matches_by_scale, placement_done)
athlete_trust(athlete_id, trust_score, signals, last_review_at)

gym_matches    + scale, competitive, verified, confirmed_by, duration_secs
gym_tournaments+ sanction_level, ticketed, entry_fee, ticket_price, rake_pct
gym_athletes   + chefsmate_loyalty_id   -- 綁球證↔會員卡

partner_offers(restaurant_id, gym_radius_km, min_tier, discount, terms)
pass_redemptions(loyalty_id, restaurant_id, season, tier_at_use, at)

SLP/信任結算放純函數 Gate(computeMatchSLPcomputeTrust)+ Orchestrator;賽季軟重置走排程 edge function。

8 · 分階段落地路線圖

9 · 風險與取捨(誠實)

ArenaMate Blueprint · 決策即時同步 Supabase boss_plan_decisions(plan_id 前綴 arena: