東方歸言錄雜談:深挖靈力回收機(jī)制

似乎研究這個(gè)的玩家很少,外網(wǎng)上搜了很久也只在油管上找到一個(gè)視頻(youtube.com/watch?v=clQ7m76u5io)。這個(gè)up用妖夢(mèng)的二符解釋了靈力回收與傷害無關(guān),與打中的敵人數(shù)量成正比,與命中的子彈數(shù)成正比(每個(gè)0.03)。
不過這個(gè)視頻講的比較粗糙,因?yàn)橐膊皇沁@個(gè)視頻的主要目的,他是為了說明靈力上升和靈力回收效率的繪卷哪個(gè)好。他只用了一個(gè)對(duì)群符卡,而顯然擴(kuò)散射擊/集中射擊/符卡、對(duì)單/對(duì)群的回收效率是不同的。因此我就自己做了很多實(shí)驗(yàn)來剖析這個(gè)機(jī)制。
首先通過簡單的實(shí)驗(yàn)可以排除一些無關(guān)的因素:
1. 關(guān)卡難度
2. 敵人類型:小怪/boss
3. 敵人狀態(tài):被本次攻擊擊破與否,是否破盾
4. 角色狀態(tài):角色等級(jí)、覺醒與否
5. 攻擊傷害
????- 而且上面說的up也驗(yàn)證過了
????

6. 暴擊與否
????- 這個(gè)不是很顯然,但實(shí)驗(yàn)下來確實(shí)暴擊不會(huì)提供更高的回靈

其次有這些因素明顯有關(guān)聯(lián):
1. 是否命中
? ? - 這個(gè)可以拿妖夢(mèng)集中射擊做實(shí)驗(yàn),因?yàn)橹挥幸话l(fā)子彈。發(fā)現(xiàn)命中就能回靈力,沒命中就是0。所以確實(shí)是每發(fā)子彈獨(dú)立取樣的,沒命中的子彈不會(huì)回復(fù)任何靈力。因此所有的實(shí)驗(yàn)中都要確保命中率達(dá)到100%,可以通過帶一個(gè)納茲鈴放二技能。
2. 射擊類型:擴(kuò)散/集中/符卡,對(duì)單/對(duì)群
????- 這個(gè)平時(shí)可以明顯感覺到擴(kuò)散射擊回復(fù)靈力比集中射擊和符卡都要快,至于量化請(qǐng)看下文。
3. 命中子彈數(shù)
????- 也就是說在同一組射擊中,每發(fā)子彈的(平均)回靈都是一樣的。下圖為泳紫和鈴仙二號(hào)的擴(kuò)散射擊(均為單體)的數(shù)據(jù):

4. 命中敵人數(shù)
????- 對(duì)群射擊中,回收靈力和命中的敵人成正比。下圖為A魔理沙分別對(duì)一個(gè)敵人與三個(gè)敵人的數(shù)據(jù):

所以每枚子彈每命中一個(gè)敵人,將會(huì)為角色回復(fù)一定的靈力(均值為X)。
下文就是要找出這個(gè)X和哪些東西有關(guān)。
原本我設(shè)想的是這個(gè)X只和射擊類型有關(guān)(即與角色無關(guān))。但很快就被自己打臉了,因?yàn)槌霈F(xiàn)了下面幾個(gè)反例:
1. 同為對(duì)單的擴(kuò)散射擊,且0p同為6枚子彈的情況下,雷鼓回復(fù)靈力0.855,而靈夢(mèng)回復(fù)靈力0.711。有明顯差異。

2. 同為對(duì)群的擴(kuò)散射擊,寅丸星0p12枚子彈回復(fù)靈力0.922,而妖夢(mèng)0p只有6枚子彈卻回復(fù)靈力0.945。居然差不多。

因此結(jié)論還是對(duì)每個(gè)角色的每種射擊,這個(gè)X都不同。
在我苦苦思考實(shí)驗(yàn)這個(gè)X到底與什么有關(guān)的時(shí)候,我想起來了很久以前解包游戲的數(shù)據(jù),在ShotMaster(存放射擊的參數(shù))和SpellCardMaster(存放符卡的參數(shù))中找到了這么一列:


破案了,這個(gè)phantasm_power_up_rate以前我以為是角色在ph擂臺(tái)的傷害增幅(關(guān)鍵這名字取得。。),現(xiàn)在結(jié)合上面的實(shí)驗(yàn)驚人的發(fā)現(xiàn)這個(gè)值就是“X”,或者準(zhǔn)確的說是500X。
比如靈夢(mèng)的擴(kuò)散射擊,0p共6枚子彈擊中一名敵人,總回靈量0.711,每個(gè)子彈回靈0.1185≈60/500=0.12
比如妖夢(mèng)的擴(kuò)散射擊,0p共6枚子彈擊中三名敵人,總回靈量0.945,每個(gè)子彈回靈0.0525≈27/500=0.054
比如妖夢(mèng)的二符,之前說的up驗(yàn)證了它的X為0.03,也跟這里的15/500=0.03吻合
另外這個(gè)值放在ShotMaster和SpellCardMaster中而不是BulletMaster(存放每一種子彈的參數(shù))中,也側(cè)面印證了同一組射擊中每發(fā)子彈的(平均)回靈量都是相同的。
綜上所述,每個(gè)角色的每種射擊的平均靈力回收量為:
(phantasm_power_up_rate/500) * bullet * enemy
其中“bullet”為命中子彈數(shù),“enemy”為命中敵人數(shù)。而這個(gè)“phantasm_power_up_rate”是游戲的一種隱藏參數(shù),和彈幕補(bǔ)正類似,而且每個(gè)射擊或符卡都有一個(gè)單獨(dú)的這個(gè)值。
舉個(gè)栗子,L1魔理沙的擴(kuò)散射擊的ph值為59,而使用2個(gè)靈力進(jìn)行強(qiáng)化時(shí)共有12枚子彈(初始6枚,1p追加2枚,2p追加4枚)。那么2p的期望回靈就是(59/500)*12=1.416,當(dāng)然那是在假設(shè)全部命中的情況下。通俗地說就是用掉2p就可以回復(fù)1.4p。
最后,每一枚子彈回復(fù)的靈力是隨機(jī)的,目前只能知道phantasm_power_up_rate是這個(gè)隨機(jī)分布里面的重要參數(shù),至于究竟具體是什么樣的模型還需要更多的實(shí)驗(yàn)(或者直接反匯編)。反正根據(jù)中心極限定理,子彈足夠多的時(shí)候就可以看作以它為均值的正態(tài)分布就是了-_-#。