《星谷傳奇》中每日運氣和buff運氣的相對影響力分析
最近幸運buff和每日運氣對賽事的影響差距有多大?我和我的酒吧朋友發生了壹些爭執。雖然我直接用wiki來形容運氣,但是wiki確實沒有解釋這個數據是怎麽來的。所以我打算直接看源代碼。
首先,介紹了wiki提出的幸運模型。
簡單來說,運氣分為日常運氣和buff運氣,每個**uff都是[-0.1,0.1]中的隨機數。對於某些事件,兩個* * *都影響發生的概率,對於某些事件,其中壹個影響。但是維基說:
日常運氣增加0.01通常意味著隨機事件發生的可能性增加約1%。
壹個+1的運氣增益意味著壹個隨機事件發生的概率大約是1%。任何運氣buff都是和每日運氣分開處理的,所以這兩種運氣的效果不會自動相同;受幸運buffs影響的事件的類型和影響的程度可能是不同的。
這有幾層意思:
對於大多數事件,我們可以應用壹個簡單的模型:
第壹關,每0.01個幸運日,會讓隨機事件多壹個1%的概率。
第二層,每個1 buff都是幸運的,會讓隨機事件多壹個1%的概率。
第三次,兩種運氣不相蓋。
第四層,對於受運氣影響的事件,日常運氣和buff運氣的影響程度可能不同;這壹方面符合第壹層和第二層的含義,另壹方面有些事件可能會有額外的系數來調整兩個幸運影響度。
對於具有附加系數調整影響程度的事件,本帖將在最後對這些特例進行粗略分析。這個帖子的目的是證明在非特殊情況下,兩者的影響比確實是1到100。
去github,我直接搜源代碼。也可以用reflector反編譯,但是我太麻煩了
大概有100多個文件我沒有放出來。我看過大概五六十個可能包含運氣關鍵詞的文件。長文檔動不了幾萬行。看了我壹個多小時,頭暈。
首先是最關鍵的證據。
見Game1.cs文件,比1.5.4版本早五天更新,所以能保證時效性。
在這個文檔的第8243行,我們可以看到每天的運氣是如何計算的。
這個函數可以簡化為min (0.1,(double) random (-100,101)/1000)。
也就是說取0.1和(double)random(-100,101)/1000之間的較小值。
(double)表示random(-100,101)/1000的類型是雙精度浮點數。
Random(-100,101)表示隨機生成壹個介於-100和101之間的數。
除了1000相當於在-0.1和0.101之間隨機選取壹個數。此時,可以顯示上壹個min函數的值。壹旦這個數大於0.101,就取0.1和這個數中的較小者,即0.1。
也就是說,這壹行實際上意味著每日運氣是壹個介於-0.1和0.1之間的雙精度浮點數,與wiki上的定義完全壹致。
見下面的GameLocation.cs文件,也是最新的。
見本文件第11606行。
ChanceModfier是壹個量化事件運氣概率的函數。從這個函數可以分析日常運氣和buff運氣的相對影響。
ChanceModifier將有壹些額外的項目用於不同的功能。這個函數是關於挖掘和經驗的,所以在表達式中會多壹個挖掘層次。
這裏ChanceModifer =每天幸運/2.0+buff幸運* 0.001+C。
c是壹個我們不關心的常數。
Buff運氣永遠是正整數,所以這個效果是千分之壹。
那麽每日運氣的範圍是什麽呢?-0.1到0.1
在這裏我能理解其中的區別。孟新問的是銥星運氣,我對銥星運氣(每日運氣)的理解是機會成本,意思是從最差到最好運氣的距離都是因為運氣好(buff運氣永遠是正的,所以沒有這種歧義)。從這個角度來看,每0.1幸運確實有0.05幸運,但這只是正半軸;我覺得最不幸和最幸運之間的距離叫做最幸運,所以這個值需要乘以2,因為原點變成了-0.1,也就是每天每個幸運影響的概率是0.1。
所以壹個是1到0.1,壹個是1到0.001;相對影響力的比例確實是1比100。
但是,如果把最幸運理解為從中間運氣到最好運氣的距離或者從中間到最不相信的距離,那麽影響力的比例就是1比50。我個人對這個定義持保留意見,因為顯然不是在這個區間內可以找到的最大子區間的長度,對於非對稱區間,對我來說是違反直覺的。但我也認為這個定義有可取之處,是壹個合理的解釋;說到底,所謂的脊側峰只是壹個人為的定義。我是學計算機的,計算機定義域數、區間、概念的定義確實有先入為主的成分。
雖然wiki和我選擇了相同的定義,但是這個定義確實存在歧義,甚至這個值有時候不是50或者100。
見event.cs的417行,也是最新的。
這條線有壹個物品丟失率,應該是指死後物品丟失的概率。
物品丟失率=每天0.25-buff幸運* 0.05-幸運。
妳可以看到這裏的相對影響比是20。
我不確定這是指壹個概率,是指每壹項的獨立性還是所有項的獨立性,或者是壹個基本概率但各項之間相互影響。
但可以肯定的是,在任何情況下,如果每壹項的損失概率為零,那就壹定什麽都不會損失。
這將導致壹個有趣的結論。如果日常運氣是銥星、金星或者絕對中性,那麽只要吃了壹根棒棒糖(+5buff就是運氣),丟失物品的概率就會大於等於0。有興趣的同學可以試試,當然不能保證這個概率會在另壹檔調整或者調用時改變。
Ps:絕對中立和中立不壹樣。絕對中立意味著每日運氣正好是0。中性意味著每日運氣是介於-0.02和0.02之間的非零數字。
有時候這個比例甚至更小,但已經是比較邊緣的特例了。
Locations文件夾中的MineShaft.cs文件是2361。
根據上下文,應該是沙漠礦130層後面(也可能是10層,看沙漠礦第壹層是不是礦)。
寶石翻倍有個參數。這個參數是0.01+每日運氣/10+幸運buff/100。
兩者的相對影響率高達1到10,這裏很容易產生壹種誤解。如果幸運buff這麽有效,那麽對於這些相對高比例的事件,疊加幸運buff是不是很有效?不壹定,這個有效性只是相對於每壹個**uff。如果兩者相乘的系數小,那麽兩者造成的影響就小。以此為例。這個銥星+10的幸運buff還是有12%的概率很差。