索尼承諾將“增加PS5主機(jī)供應(yīng)”
2023-01-31
更新時(shí)間:2022-03-28 00:11:00作者:未知
《像素谷》中星級(jí)釣魚(yú)點(diǎn)一直是大家熱門(mén)討論的話題,今天小編要給大家?guī)?lái)玩家從游戲代碼層面對(duì)星級(jí)釣魚(yú)點(diǎn)的研究。
本文來(lái)源于百度貼吧,作者“ㄨへㄨ”
從游戲代碼層面探討星級(jí)釣魚(yú)點(diǎn)問(wèn)題
?????
今天看貼吧有不少人在爭(zhēng)論流傳的必出星級(jí)釣魚(yú)點(diǎn)是否確實(shí)是因?yàn)榈攸c(diǎn)才出星級(jí)魚(yú)的問(wèn)題。
所以晚上翻了下代碼, 先上結(jié)論, 等下有空的話再更新推論截圖和計(jì)算公式。
結(jié)論: 一般情況下, 出不出星級(jí)魚(yú)和地點(diǎn)無(wú)關(guān), 而是與浮標(biāo)位置離最近非水格子的距離有關(guān)(當(dāng)然還有其他因素影響)。
但是星級(jí)釣魚(yú)點(diǎn)也有一定的道理, 因?yàn)樵谀切┑攸c(diǎn)揮桿一般就是會(huì)把浮標(biāo)揮到較好的位置。
不想看代碼的可以直接拉到最下面看公式和 Tips.
首先在游戲代碼里找到與魚(yú)評(píng)星級(jí)直接有關(guān)的決定性語(yǔ)句, 就是上圖選中的那行
fishQuality 不難看出就是魚(yú)的質(zhì)量等級(jí), 當(dāng) fishSize < 0.33 就是無(wú)星, 在 0.33~0.66 內(nèi)就是銀星, 高于 0.66 就是金星。
注意這里的 fishSize 跟 this.fishSize 是不同的, 是傳進(jìn)來(lái)的參數(shù)。
那么繼續(xù) trace 看看在哪里生成了這個(gè) BobberBar 對(duì)象。
在這個(gè)函數(shù)最后一行可以看到 new 了個(gè) BobberBar 對(duì)象, 而傳進(jìn)去的 fishSize 的值跟上面劃線的部分有關(guān), 中間算法先略過(guò)不提。
追到最上面可以看到 clearWaterDistance 這個(gè)變量是由 distanceToLand 這個(gè)方法的返回值決定的, 于是查看這個(gè)方法。
這個(gè)方法里面涉及到的是對(duì)于浮標(biāo)附近區(qū)域的 tile 的 property 進(jìn)行判定。
一開(kāi)始檢查的范圍是以浮標(biāo)為中心 3x3 的矩形, 然后是 5x5 …… 一直到 11x11.
如果檢查的區(qū)域內(nèi)有屬于不是水的(并且在地圖內(nèi)的) tile 的話, 即跳出。
返回的值:
3x3 對(duì)應(yīng) 0
5x5 對(duì)應(yīng) 1
...
11*11 對(duì)應(yīng) 4
13*13 對(duì)應(yīng) 5
至此, 一般情況下決定魚(yú)的等級(jí)的所有參數(shù)均已得知, 可以直接寫(xiě)出式子。
但我還是嘗試找了下是否有由地點(diǎn)來(lái)影響評(píng)級(jí)的片段, 最后沒(méi)有找到, 只發(fā)現(xiàn)由地點(diǎn)影響的魚(yú)是那些限制某區(qū)域釣的魚(yú)王, 比如說(shuō):
================================================================
最后附上魚(yú)類評(píng)級(jí)式子和尺寸的大小式子:
魚(yú)類評(píng)級(jí)式子:設(shè) X = max(0, min(1.0, (浮標(biāo)離岸距離 / 5.0 * [(1 + (min(10, 釣魚(yú)等級(jí)) / 2) ~ 6)內(nèi)取隨機(jī)數(shù) / 5.0] * (1.0 + (-10 ~ 10)
內(nèi)取隨機(jī)數(shù) / 100))));
浮標(biāo)離岸距離: 3x3內(nèi)有非水=0, 5x5內(nèi)有非水=1 ... 13x13內(nèi)有非水=5. 這里的單位是 tile, 不一定是游戲里的格子, 默認(rèn)情況下應(yīng)該是 64 像素
大。
X 為 [0 - 0.33) 無(wú)星, [0.33, 0.66) 銀星, 0.66 以上金星。
例子: 浮標(biāo) 11x11 內(nèi)均是水(以浮標(biāo)為中心,半寬為 5), 即浮標(biāo)離岸距離=4. 且釣魚(yú)等級(jí)=10 的且隨機(jī)數(shù)均取中間值的情況下
X = max(0, min(1.0, (4 / 5.0 * 6.0 / 5.0) * (1.0 + 0 / 100))) = 0.96. 大于 0.66 所以是金星。
尺寸大小式子:(該種魚(yú)最小尺寸 + (最大尺寸 - 最小尺寸) * X )向上取整。
所以是否是星級(jí)魚(yú)由 釣魚(yú)技能等級(jí) 浮標(biāo)位置 隨機(jī)值 來(lái)共同決定。
================================================================
在過(guò)程中發(fā)現(xiàn)的一些其他東西:
1. 部分魚(yú)對(duì)釣魚(yú)等級(jí)有需求
2. waterDepth 一般情況下就是 clearWaterDistance/distanceToLand
3. waterDepth 影響魚(yú)咬鉤的效率(撒下浮標(biāo)到有魚(yú)上鉤的時(shí)間)
4. clearWaterDistance 影響寶藏種類。
更多相關(guān)資訊請(qǐng)關(guān)注:像素谷專題