我的同人攻略

首頁/實測紀錄/PvP 戰力模型

PvP 戰力模型

452 場戰報回歸:勝負 ≈ 攻擊 × HP,控制等級後仍成立

原文 logs/20260915-戰力模型.md

本頁目錄

#PvP 戰力模型:什麼決定勝負(2026-09-15)

起因是皇帝的一句裁示:「詩奶如果打不贏比自己高 5 等、沒有轉生過的黑衣劍士,就是劣質品。」 要回答這句話,得先知道「打得贏」是什麼意思——也就是哪些能力值決定 PvP 勝負

#樣本怎麼來的:戰報是公開的

GET /api/battle-reports/:id 不檢查戰報是不是自己的。拿 ArcGrove 的 token 去讀 id 100、2000、3000 (全是別人的對戰)都回 200,內容含雙方的等級、角色、九維與勝負。id 有洞(落空回 {"error":"找不到該戰報"}), 但整座伺服器的對戰史就是一組可讀的公開資料。

這件事的重量在於:回歸戰力模型需要幾百筆對戰樣本,而現在一發 PvP 都不用打就能拿到。 tools/scan-reports.js 洗牌取樣 id 1~4300,九顆 token 各出 100 發(產線本身約 390/小時, 加起來還在 600 的線內),抓回 506 筆戰報,其中 452 筆是 PvP。

#結論:戰力 ≈ 攻擊 × HP

node tools/fit-combat.js <jsonl>,452 筆 PvP:

戰力式全部命中等級差 ≤3 命中
攻 × HP × 技369/452 82%292/373 78%
攻 × HP366/452 81%290/373 78%
329/452 73%261/373 70%
九維總和324/452 72%253/373 68%
攻 × 技321/452 71%251/373 67%
HP321/452 71%250/373 67%
295/452 65%226/373 61%
295/452 65%226/373 61%
291/452 64%221/373 59%
247/452 55%179/373 48%
等級(對照組)327/452 72%252/373 68%

#更正:先前寫的「攻 × HP × 技,95%」是小樣本的假象

2026-09-15 稍早只有自家四個帳號的 36 筆戰報,其中等級相近的 22 筆。在那 22 筆上 「攻 × HP × 技」命中 21/22(95%),我就把它當成結論寫出去了。樣本拉到 452 筆之後:

技巧不是戰力。「詩乃是高技巧的狙擊手,所以練技巧」這個直覺在這款遊戲的 PvP 裡是錯的, 之前讓五條詩乃線去釣魚、自主訓練練技巧,那些點數就是白練的。 22 筆不夠下結論,這是這個專案第四次踩同一顆釘子(前三次記在 20260914-升級實測.md)。

#轉生點才是真正的槓桿,而且我們配錯了

轉生頁的規則:16 等以上每升一級 +1 點,上限 100 點;每點 +1 該維,但 HP 每點 +50。

在 攻 × HP 之下,一點 HP 等於 50 點戰力材料、一點攻擊只等於 1 點。邊際效益相等的位置在 HP = 50 × 攻(攻 250 要配到 HP 12500),實務上永遠到不了——所以轉生點無腦全配 HP

九個帳號的實際配置(2026-09-15 查 /api/characters):

帳號轉生點 total已配智力攻擊HP
arcgrove745544110
lysandersup62474610
season032074514650
jy03work67444400
eth2000646147140

每個帳號都把四十幾點倒進智力。 智力在戰力式裡的貢獻是 1.03(跟技巧一樣,在誤差內=沒有)。 ArcGrove 那 44 點若當初配 HP 就是 +2200 HP,現在的戰力會是 611k 而不是 228k。 已配的點是鎖死的(spent),沒有洗點端點,這筆帳追不回來。

這是我自己的錯:當時只照「詩乃是智力型」的角色印象配點,沒有任何對戰資料支持。

#回答皇帝的問題

「高 5 等、沒有轉生過的桐人」的滿配戰力,對上低 5 等的詩乃(node tools/plan-growth.js --table):

詩乃等級轉生點 0轉生點 45 全配 HP轉生點 100 全配 HP對手桐人桐人戰力45 點打得贏?
Lv.25329k646k1156kLv.30513k
Lv.35602k1012k1656kLv.40875k
Lv.45957k1459k2215kLv.501332k
Lv.551394k1989k2857kLv.601886k
Lv.651912k2598k3583kLv.702536k

#現在的方針(2026-09-15 起)

戰力式決定行動:只有狩獵(攻 +7)與做善事(HP +150)值得做,釣魚/自主訓練/汁妹都被支配。 比例照 tools/plan-growth.js 算,帳號越缺 HP 就越偏做善事:

產線現況狩獵:做善事練到 Lv.70 的戰力
arcgroveLv.34 攻173 HP13201:51654k
lysandersupLv.31 攻179 HP11701:51866k
season0320Lv.38 攻138 HP22201:31467k
jy03workLv.38 攻114 HP23702:31363k
eth2000Lv.18 攻71 HP24602:32178k

九條線的 --reinc-alloc 全部改成 hp:100%(原本是 atk:50%,hp:50%,leotek7414 是 atk:80%,int:20%)。

#順手量到的東西


#複驗(2026-09-15 12:30,264 筆新樣本):模型撐住了,但原本誇大了適用範圍

皇帝質疑戰力算法。重抓一批戰報(id 掃到 6000,logs/run/reports-20260915b.jsonl,264 筆 PVP、 其中等級差 ≤3 有 195 筆),並補上原本沒有的對照組tools/fit-combat2.js

#1. 先手優勢是真的,原本那份 81% 有一部分是它灌的

發起方(戰報擁有者)勝率
全部 264 筆65%
等級差 ≤3 的 195 筆67%

發起方勝率不是 50% 而是 65~67%——可能是先手真的有利,也可能是選擇偏誤 (人只挑打得贏的人挑戰)。不管哪一個,基準線是 67%,不是 50%。 原本那份把 81% 說成模型的功勞,是把這 67% 也算進去了。

#2. 控制等級後的命中率(新樣本)

戰力式全部等級差 ≤3
攻 × HP223/263 85%157/194 81%
攻 × HP × 技223/263 85%157/194 81%(跟上面一模一樣,技巧零增益
九維總和202/260 78%136/191 71%
攻 × (HP + 50×防)204/263 78%145/194 75%(加防禦反而變差
HP193/255 76%132/188 70%
190/261 73%138/192 72%
等級(對照組)176/213 83%107/144 74%

#3. 最嚴格的一關:式子跟先手唱反調時,誰說了算

等級差 ≤3、而且「攻 × HP」判發起方比較弱的 61 筆裡,發起方只贏了 17 筆(28%)—— 式子在這一格命中 72%。先手優勢在這裡是逆風(它會把發起方推向贏),壓不下去, 所以 攻 × HP 不是先手的統計倒影,它有真實的預測力

但 72% < 81%,差的那 9 個百分點就是先手/選擇偏誤貢獻的。

#4. 最重要的但書:戰力接近時這條式子幾乎沒用

雙方戰力比命中率
1 ~ 1.2 倍32/52 62% ← 幾乎是擲硬幣
1.2 ~ 1.5 倍37/47 79%
1.5 ~ 2 倍32/37 86%
2 ~ 3 倍47/49 96%
3 倍以上9/9 100%

戰力差 20% 以內的對戰,攻 × HP 只有 62% 的準度——技能、暴擊、運氣在這個區間主導。 原本那份只報一個 81%,會讓人以為「戰力高就一定贏」。實際上: 戰力是門檻,不是保證;要穩贏得拉開到 1.5 倍以上。

#修正後的說法

#2026-09-16 改版後複驗:META 沒變,技巧仍然零增益;HP 的比重看起來變大了

站方 9/16 改了平衡(HP 轉生點 50→30、加了疲勞),人問「物攻角色的 META 現在是技巧嗎」, 所以用 scan-reports.js --min-id 9500 --full 抓改版後的戰報重跑一次(logs/data/20260916-戰報改版後樣本.jsonl, 207 筆、2026-09-16 02:19~12:24,其中 PvP 164 筆、等級差 ≤3 的 61 筆):

戰力式全部等級差 ≤3
攻 × HP127/164 77%42/61 69%
攻 × HP × 技123/164 75%42/61 69%(跟上面一樣,一筆都沒多對
HP 單獨123/164 75%41/61 67%
攻 單獨107/164 65%32/61 52%
技 單獨103/164 63%32/61 52%
等級(對照)108/164 66%25/61 41%

結論:

對練功方針的意思:還是 攻擊(狩獵)+ HP(野餐/轉生點),如果 HP 的比重真的變大, 野餐(HP +210)相對狩獵(攻 +7)會更划算——這跟 CLAUDE.md 那條「要戰力就野餐」方向一致,只是更強。 技巧、智力(無治療技能的物攻角色)仍然不值得練。