星露谷物語 從遊戲程式碼層面探討星級釣魚點解析 - 遊戲狂
廣告

星露谷物語 從遊戲程式碼層面探討星級釣魚點解析

請拿手機掃描此QRCODE

傳到手機看

2016-03-31

廣告

星露谷物語 從遊戲程式碼層面探討星級釣魚點解析

從遊戲程式碼層面探討星級釣魚點問題

。◕‿◕。

今天看貼吧有不少人在爭論流傳的必出星級釣魚點是否確實是因為地點才出星級魚的問題。

所以晚上翻了下程式碼, 先上結論, 等下有空的話再更新推論截圖和計算公式。

結論: 一般情況下, 出不出星級魚和地點無關, 而是與浮標位置離最近非水格子的距離有關(當然還有其他因素影響)。

廣告

但是星級釣魚點也有一定的道理, 因為在那些地點揮杆一般就是會把浮標揮到較好的位置。

不想看程式碼的可以直接拉到最下面看公式和 Tips.

首先在遊戲程式碼裡找到與魚評星級直接有關的決定性語句, 就是上圖選中的那行

fishQuality 不難看出就是魚的品質等級, 當 fishSize < 0.33 就是無星, 在 0.33~0.66 內就是銀星, 高於 0.66 就是金星。

注意這裡的 fishSize 跟 this.fishSize 是不同的, 是傳進來的參數。

那麽繼續 trace 看看在哪裡生成了這個 BobberBar 對象。

在這個函數最後一行可以看到 new 了個 BobberBar 對象, 而傳進去的 fishSize 的值跟上面劃線的部分有關, 中間算法先略過不提。

追到最上面可以看到 clearWaterDistance 這個變量是由 distanceToLand 這個方法的返回值決定的, 於是查看這個方法。

這個方法裡面涉及到的是對於浮標附近區域的 tile 的 property 進行判定。

一開始檢查的範圍是以浮標為中心 3x3 的矩形, 然後是 5x5 …… 一直到 11x11.

如果檢查的區域內有屬於不是水的(並且在地圖內的) tile 的話, 即跳出。

返回的值:

3x3 對應 0

5x5 對應 1

...

11*11 對應 4

13*13 對應 5

至此, 一般情況下決定魚的等級的所有參數均已得知, 可以直接寫出式子。

但我還是嘗試找了下是否有由地點來影響評級的片段, 最後沒有找到, 隻發現由地點影響的魚是那些限制某區域釣的魚王, 比如說:

================================================================

最後附上魚類評級式子和尺寸的大小式子:

魚類評級式子:設 X = max(0, min(1.0, (浮標離岸距離 / 5.0 * [(1 + (min(10, 釣魚等級) / 2) ~ 6)內取隨機數 / 5.0] * (1.0 + (-10 ~ 10)

內取隨機數 / 100))));

浮標離岸距離: 3x3內有非水=0, 5x5內有非水=1 ... 13x13內有非水=5. 這裡的部門是 tile, 不一定是遊戲裡的格子, 默認情況下應該是 64 像素

大。

X 為 [0 - 0.33) 無星, [0.33, 0.66) 銀星, 0.66 以上金星。

例子: 浮標 11x11 內均是水(以浮標為中心,半寬為 5), 即浮標離岸距離=4. 且釣魚等級=10 的且隨機數均取中間值的情況下

X = max(0, min(1.0, (4 / 5.0 * 6.0 / 5.0) * (1.0 + 0 / 100))) = 0.96. 大於 0.66 所以是金星。

尺寸大小式子:(該種魚最小尺寸 + (最大尺寸 - 最小尺寸) * X )向上取整。

所以是否是星級魚由 釣魚技能等級 浮標位置 隨機值 來共同決定。

在過程中發現的一些其他東西:

1. 部分魚對釣魚等級有需求

2. waterDepth 一般情況下就是 clearWaterDistance/distanceToLand

3. waterDepth 影響魚咬鉤的效率(撒下浮標到有魚上鉤的時間)

4. clearWaterDistance 影響寶藏種類。


點此進入3DM《星 露谷 物語》遊戲論壇專區

廣告

廣告

遊戲資訊

星露谷物語 (Stardew Valley)

類別: 冒險
平台: PC, PS4, XboxONE, Switch, 蘋果, 安卓
開發: ConcernedApe
發行: Chucklefish
上市: 2016-02-27

在星露谷物語中,玩家所扮演的主角會遠離辦公室工作的煩擾,在一個名叫星露谷的地方重新開始打理祖父留下的荒廢牧場。玩家可以從幾種不同的農場地圖類型中進行選擇,每種類型都有其優點和缺點。農田最初被巨石,樹木,樹樁和雜草所淹沒,玩家必須努力清理它們,以便重新使用農場、種植農作物和牲畜以創收並進一步擴大農場的建築物和設備。玩家還可以與居住在城鎮中的非玩家角色(NPC)進行互動,包括與這些角色進行互動、結婚,結婚後NPC會幫助玩家照看農場。玩家還可以從事捕魚,烹飪和手工製作,可以探索程式產生的洞穴,以開採礦物或與遊戲中的怪物戰鬥。玩家可以執行各種任務以賺取更多的錢。

更多 星露谷物語 攻略|新聞

廣告
星露谷物語 從遊戲程式碼層面探討星級釣魚點解析 https://gamemad.com/guide/77801 從遊戲程式碼層面探討星級釣魚點問題 。◕‿◕。 今天看貼吧有不少人在爭論流傳的必出星級釣魚點是否確實是因為地點才出星級魚的問題。 所以晚上翻了下程式碼, 先上結論, 等下有空的話再更新推論截圖和計算公式。 結論: 一般情況下, 出不出星級魚和地點無關, 而是與浮標位置離最近非水格子的距離有關(當然還有其他因素影響)。 但是星級釣魚點也有一定的道理, 因為在那些地點揮杆一般就是會把浮標揮到較好的位置。 不想看程式碼的可以直接拉到最下面看公式和 Tips. https://gamemad.com 首先在遊戲程式碼裡找到與魚評星級直接有關的決定性語句, 就是上圖選中的那行 fishQuality 不難看出就是魚的品質等級, 當 fishSize < 0.33 就是無星, 在 0.33~0.66 內就是銀星, 高於 0.66 就是金星。 注意這裡的 fishSize 跟 this.fishSize 是不同的, 是傳進來的參數。 那麽繼續 trace 看看在哪裡生成了這個 BobberBar 對象。 https://gamemad.com 在這個函數最後一行可以看到 new 了個 BobberBar 對象, 而傳進去的 fishSize 的值跟上面劃線的部分有關, 中間算法先略過不提。 追到最上面可以看到 clearWaterDistance 這個變量是由 distanceToLand 這個方法的返回值決定的, 於是查看這個方法。 https://gamemad.com 這個方法裡面涉及到的是對於浮標附近區域的 tile 的 property 進行判定。 一開始檢查的範圍是以浮標為中心 3x3 的矩形, 然後是 5x5 …… 一直到 11x11. 如果檢查的區域內有屬於不是水的(並且在地圖內的) tile 的話, 即跳出。 返回的值: 3x3 對應 0 5x5 對應 1 ... 11*11 對應 4 13*13 對應 5 至此, 一般情況下決定魚的等級的所有參數均已得知, 可以直接寫出式子。 但我還是嘗試找了下是否有由地點來影響評級的片段, 最後沒有找到, 隻發現由地點影響的魚是那些限制某區域釣的魚王, 比如說: https://gamemad.com https://gamemad.com ================================================================ 最後附上魚類評級式子和尺寸的大小式子: 魚類評級式子:設 X = max(0, min(1.0, (浮標離岸距離 / 5.0 * [(1 + (min(10, 釣魚等級) / 2) ~ 6)內取隨機數 / 5.0] * (1.0 + (-10 ~ 10) 內取隨機數 / 100)))); 浮標離岸距離: 3x3內有非水=0, 5x5內有非水=1 ... 13x13內有非水=5. 這裡的部門是 tile, 不一定是遊戲裡的格子, 默認情況下應該是 64 像素 大。 X 為 [0 - 0.33) 無星, [0.33, 0.66) 銀星, 0.66 以上金星。 例子: 浮標 11x11 內均是水(以浮標為中心,半寬為 5), 即浮標離岸距離=4. 且釣魚等級=10 的且隨機數均取中間值的情況下 X = max(0, min(1.0, (4 / 5.0 * 6.0 / 5.0) * (1.0 + 0 / 100))) = 0.96. 大於 0.66 所以是金星。 尺寸大小式子:(該種魚最小尺寸 + (最大尺寸 - 最小尺寸) * X )向上取整。 所以是否是星級魚由 釣魚技能等級 浮標位置 隨機值 來共同決定。 在過程中發現的一些其他東西: 1. 部分魚對釣魚等級有需求 2. waterDepth 一般情況下就是 clearWaterDistance/distanceToLand 3. waterDepth 影響魚咬鉤的效率(撒下浮標到有魚上鉤的時間) 4. clearWaterDistance 影響寶藏種類。 點此進入3DM《星 露谷 物語》遊戲論壇專區
https://gamemad.com/guide/77801
0