我的同人攻略

首頁/機制筆記/網友試算表除錯

網友試算表除錯

幫網友的公開事件表除錯,順便釘死了判定的骰值與大成功/大失敗規則

原文 docs/20260917-網友試算表除錯.md

本頁目錄

#網友試算表除錯(2026-09-17)

對象:<https://docs.google.com/spreadsheets/d/e/2PACX-1vRL-c2nW_690rG14h0x8R14QSpMUNTSxd_ZqpxKIWg0g3uFm-2a-vMWIfU2zkyaC2NXWdghOKnyhqCj/pubhtml> (分頁:事件圖鑑 328 列/角色進度 22 列/屬性獎勵 97 列/選項統計 306 列/結算紀錄 1490 列, 紀錄期間 2026-09-15 10:50 ~ 2026-09-17 13:36)

只讀公開網址,沒有登入、沒有寫入。對照的是我們這邊 9 顆帳號的產線紀錄與 tools/data/20260914-event-options.json(358 個選項、5741 筆事件樣本)。


#先講結論

這份表的資料品質很好,四個分頁之間零矛盾——選項統計 的實測次數/成功次數 跟 結算紀錄 逐列重算完全相符(306/306、306/306),成功率欄也算得對(0 筆算錯); 事件圖鑑 的檢定屬性與 DC 跟我們的紀錄逐筆一致,一個都沒錯(243 列對得上、0 筆不符)。

所以下面列的不是「算錯」,而是會害人做錯決定的五個地方,照嚴重度排:

#問題嚴重度
1沒有死亡/開打欄——sinon_opt_005_snipe 在表上只寫「tec+1」,那個選項害死過我們三個帳號☠ 會死人
2戰鬥 欄 77 筆全是 TEAM_A(全勝),是倖存者偏誤,不是「這些選項很安全」☠ 會死人
3選項統計 的「成功率」是自己打出來的經驗值,但伺服器每一發都給精確值,而且同一個選項會差到 50 個百分點⚠ 誤導
4小樣本全失敗的選項,屬性獎勵欄變成空白,看起來像「這個選項沒東西」⚠ 誤導
5扣屬性寫成 def+-1hp+-10DC 欄無判定時一下空白一下 0格式

#1. ☠ 沒有死亡/開打欄

表上每個選項有「成功率」「屬性獎勵」「取得角色」,但沒有一欄講「這個選項會不會開打、開打會不會死」。 我們的紀錄裡這幾個是有人死在上面的:

選項事件我們的樣本開打死亡這份表上寫的
sinon_opt_005_snipe對決/跟他正面對狙59593「tec+1」,n=4
roxy_opt_007_take_over魔力用完了/叫她退到後面552「atk+1」,n=1
sinon_opt_005_bait對決/當誘餌992「agi+1」,n=3
agil_opt_005_hold補給線/讓他先走自己斷後26103「def+1」,n=17
gh_opt_006_stand331空白,n=20
kibaou_opt_005_join加入解放隊1101「sta+1」,n=10

事件圖鑑 的「後果」欄裡,sinon_e005_duel/跟他正面對狙 寫的是 「❌戰鬥仍勝 +500 exp,但過程難看」。這句話對你那隻香克斯 Lv.100 是對的, 對低戰力的人是致命的——而且這就是 2026-09-15 害死我們 LysanderSup 的那一句: 日誌上寫著「實測 4% 致死」,Lv.31 一次歸零。

關鍵是:致死率跟著戰力走,不是選項的固定屬性。 我們對每個選項記 deathPowerMax =「這個選項害死過的最強的人」(戰力 = 攻擊 × HP), 戰力在它以下就是危險區、要看危險區的致死率。sinon_opt_005_snipe

建議加兩欄:開打?(從 resolve.battleResult 非 null 算)與 死亡?isDead 轉 true), 並且把死亡紀錄另外標注當時的攻擊 × HP。你已經有 戰鬥戰鬥exp 欄了,離這一步只差一點。

#2. ☠ 戰鬥 欄 77 筆全是 TEAM_A

結算紀錄 有 77 筆帶戰鬥,全部 TEAM_A(我方勝),一筆敗仗都沒有。 但 角色進度 分頁自己寫著亞絲娜 Lv.72 陣亡、桐人 Lv.19 陣亡——所以你確實打輸過,只是那幾筆沒進紀錄

最可能的原因:輸掉那一發,記錄的程式在寫入前就走掉了(角色死了、後續呼叫 4xx、或例外沒接)。 結果就是表上「所有會開打的選項都 100% 勝」,而那正是最需要留下來的那幾筆。

檢查法:agil_opt_005_hold 在你的紀錄裡 17 筆,只有 7 筆帶戰鬥——另外 10 筆是真的沒開打, 還是開打了但沒記到?這兩件事在表上現在分不出來。

#3. ⚠ 成功率用經驗值,但伺服器每一發都給精確值

選項統計 的「成功率」= 成功次數 ÷ 實測次數。問題是成功率不是選項的屬性, 它是 101 − DC + 有效值 而且隨等級/能力值一直變。你自己的 結算紀錄 裡就看得到同一個選項的伺服器值在飄:

選項紀錄筆數伺服器當下給的成功率表上寫
sao_opt_e001_confront2045% ~ 95%(差 50)60%
liz_opt_001_ask2864% ~ 95%89%
daily_opt_gunshot_chase2664% ~ 95%81%
kibaou_opt_001_press1471% ~ 95%86%

而且小樣本的經驗值偏得很兇——shanks_opt_004_hat 表上寫 84%,同一批紀錄的伺服器值平均只有 62%(差 22)。

建議:成功率那欄改成記「最近一次伺服器給的值」或「有效值與 DC」, 經驗值另外放一欄當校驗用。你的 有效值DC 欄已經有了,101 − DC + 有效值 就是答案(上限 95,見下)。

#4. ⚠ 小樣本全失敗 → 屬性獎勵欄空白

判定失敗就沒獎勵,所以「試了 2 次都失敗」的選項在表上長得跟「這個選項本來就沒東西」一模一樣:

選項你的紀錄表上屬性獎勵我們的紀錄
sao_opt_e001_calm2 次,都失敗空白205 次、155 次成功,每次成功都 int+1
agil_opt_005_pay_them3 次,都失敗空白108 次、30 次成功,int+1
kibaou_opt_003_reflect2 次,都失敗空白20 次、13 次成功,int+1
hachi_opt_004_practice1 次,失敗空白14 次、11 次成功,tec+1

建議:屬性獎勵那欄改成「成功過的樣本裡看到的獎勵」,並且在 0 次成功時印「尚未成功過」而不是留白。

#5. 格式:def+-1hp+-10,以及 DC 欄的 0


#我們有、你可能還缺的

#你有、我們沒有的(謝謝)

規則樣本結果
成功率 = 101 − DC + 有效值上限 95522517 筆吻合;另 5 筆算出來是 157~176,全部回 95
成功 ⟺ 有效值 + 骰值 ≥ DC(等價 骰值 > 100 − 成功率522521 筆吻合
骰值 ≤ 5 → 大失敗,一律失敗2727/27。其中 garlic_opt_001_count(有效值 111、DC 50、骰 3)114 ≥ 50 仍然失敗——所以大失敗是覆寫
骰值 ≥ 96 → 大成功2222/22 成功,但那 22 筆本來就都過得了,「大成功會覆寫失敗」還沒有反例

骰值涵蓋 1~100、平均 53.2,是乾淨的 1d100;校準也很好(522 筆預期 332.4 次成功、實際 348 次)。 上限 95 的來源就是大失敗(5% 必定失敗),所以下限推測是 5,但你的樣本最低只到 14,沒證實。

⚠ 順帶一提:如果有人拿這份表用「骰值 ≤ 成功率 就是成功」去驗,會有 342/522 對不上而以為資料壞了。 骰值是越高越好(要 > 100 − 成功率),不是越低越好。


產出者:Claude Code(docs/20260917-網友試算表除錯.md,手寫,非工具產生)。 對照用的我方資料:tools/data/20260914-event-options.jsonlogs/data/*.jsonldocs/20260916-角色數值圖鑑.json