回覆列表
  • 1 # w0577

    刷怪迴圈

    刷怪迴圈是mc裡面的一個概念,一次刷怪迴圈就會做一次刷怪嘗試

    在每一個gametick中(1/20秒)都會進行,也就是1秒會進行20次刷怪迴圈

    刷怪塔的最基本的原理就是利用刷怪迴圈,建造人工建築,將刷出的怪進行處理

    刷怪迴圈過程

    判斷怪物數量是否達到怪物總數封頂,如果達到封頂則取消本次迴圈

    選擇一種刷出的怪物,進行一組怪物的刷怪嘗試

    從主角為中心的15x15個chunk(一個chunk是16x16x256大小)中隨機選取一個可用的位置,作為這組怪物的刷怪中心

    一個可用位置的判斷是:這個位置必須是非實體方塊和非液體方塊;下方必須是實體方塊;上方必須是非實體方塊;怪物不會被其他方塊窒息;主角空間距離24格之外

    如果位置符合,這一組進行12次刷怪嘗試,最多刷出4只怪物

    每次刷怪嘗試,從41x41x1的空間內選擇一個可用的位置

    然後進行亮度判斷,根據亮度不同會隨機選擇是否否決本次刷怪,亮度從0到7否決率增加,7以上否決率100%;如果收到天頂亮光(Sunny或者是月光),否決率再增加50%

    史萊姆和小黑增加90%的否決率

    如果一切都符合並且未被否決,那麼在這個位置刷出一個怪物

    《我的世界》刷怪塔設計原理(二)

    主角距離與怪物行為

    根據怪物與主角的空間距離,怪物會有不同的行為

    注意這裡是空間距離,也就是說是以主角為中心的球體範圍

    16以內:刷怪籠刷怪

    24以外:刷怪迴圈刷怪

    32以外:怪物不運動,隨機消失

    128以外:怪物立即消失

    關於32格以外時的隨機消失,在每個gametick中怪物有1/800的機會消失

    平均來說一個怪物離開主角32格之後只能存活40秒

    精確的來說,半衰期是27.73秒

    刷怪塔構造

    雖然刷怪塔設計各有不同,但是基本構造都很接近

    暗室,作為怪物生成的地方

    收集系統,將暗室中刷出的怪物收集到一個出口

    屠殺系統,將怪物殺死或殺半死,直接給予玩家資源或者讓玩家刷經驗

    有效與無效面積

    引入兩個概念,有效面積和無效面積

    有效面積,由刷怪塔設計本身決定,指怪物可以刷出而且能被刷怪塔收集系統收集的面積

    無效面積,由周圍環境及主角位置決定,指怪物可以刷出的但是不能被刷怪塔收集系統收集的面積

    根據刷怪迴圈,每次刷怪迴圈都會從全部面積中抽取一個位置進行刷怪

    抽中有效面積的機率就為有效/(有效+無效)

    由於1秒能進行的刷怪迴圈為20次,如果抽中有效面積的機率高的話,也就意味著刷怪塔的效率高

    從機率公式可以看出提高效率的2種方法:提高有效面積,和減少無效面積

    提高有效面積是很常用的方法,玩家只需要不斷擴建刷怪塔即可

    但是擴建也有瓶頸,例如受空間限制和設計限制等等

    將抽中有效面積的機率公式變形,可以得到1-無效/(有效+無效)

    這是一個反比例函式,也就是說,其斜率變化隨著有效面積增加而減緩

    也就是說,一開始擴大有效面積效果將會非常顯著(極端的來說,從0到1,造成了刷怪塔不刷怪和刷怪的區別)

    而越往後擴大有效面積效果將會越來越不明顯

    減少無效面積,玩家可以點亮周圍15x15個chunk中的地表和洞穴,或者將洞穴填滿

    極限的來說,如果玩家可以把無效面積降到0,那麼全部怪物都可以刷在有效面積內,若一切條件符合,1秒內可以刷出40只怪物

    但是這個方法的缺點也是很明顯,由於普通生存世界中無效面積非常大,要降低就十分耗時

    如果不考慮洞穴,僅地表無效面積就有15x15x16x16=57600

    《我的世界》刷怪塔設計原理(三)

    刷怪封頂

    刷怪迴圈中,首先進行的是刷怪封頂的判斷

    如果周圍怪物數量達到了刷怪封頂數量,那麼刷怪迴圈就被退出

    刷怪封頂的計算公式是cmxchunks/16

    cm是根據刷怪的種類相關的一個常數,怪物最高,動物其次,水生物最低(再次我們只考慮怪物)

    chunks是周圍17x17個chunk中可刷怪的chunk的總數

    注意,雖然刷怪範圍是15x15個chunk,但是計算刷怪封頂的時候是用的17x17的範圍

    計算的結果是當週圍17x17個chunk都可以刷怪的時候,怪物封頂是79個

    也就是說,當到達了79個怪物之後,就不再進行刷怪了,直到怪物數量降低到79以下

    因此引出了以下結論:

    1、殺怪越快,刷怪越快

    2、要保證周圍17x17個chunk中沒有無效面積,但是又要保證至少每個chunk都有面積可以刷怪

    1主要體現在刷怪塔設計上,收集系統和殺怪系統速度越快越好

    根據刷怪機率可以算出刷怪塔設計的刷怪速度,如果說收集和殺怪系統無法達到這個速度的話,那麼收集系統和殺怪系統的速度就是刷怪塔的最終速度,就算刷怪速度再快也沒用

    2一般在生存模式中不需要考慮,由於生存模式的地圖大部分包含大量的地下洞穴,保證了周圍17x17個chunk都可以刷怪,也就是保證了刷怪封頂是79個

    但是如果玩家決定要清理17x17個chunk中的全部無效面積的話,請保證在每個chunk中至少有一個方塊符合刷怪條件,並且把這個方塊點亮

    這樣的話,能保證刷怪封頂仍然是79,但是那一格不會刷出怪物影響效率

    刷怪塔的選址

    刷怪迴圈和怪物行為,以及1.0以後導致的世界高度增加到256,對刷怪塔設計有很大的影響

    由於世界高度增加到256了,但是怪物仍然保持128格外的消失範圍,讓提高刷怪塔效率簡單很多

    一般選擇將刷怪塔建在海上,周圍15x15個chunk都被海洋覆蓋

    這樣無效面積直接降低了很多

    而主角的等待位置位於海床的128格以上

    這樣在無效面積內刷出的怪會馬上消失,不會堆積到刷怪封頂,讓刷怪迴圈一直繼續

    而所有有效面積都應該分佈在主角的24格空間距離以外,這樣有效面積才可以真正的刷怪

    《我的世界》刷怪塔設計原理(四)

    結論

    以下是一些提高刷怪塔效率的方法

    適合於目標高效率的刷怪塔

    1、無效面積全部位於玩家128格以外

    2、有效面積全部位於玩家32格以外,128格以內

    3、保證周圍17x17個chunk每個至少有一格可以刷怪

    4、增大刷怪塔有效面積

    5、減小無效面積(點亮洞穴、填埋洞穴)

    6、加快收集和殺怪系統速度

    刷怪塔的設計目標

    刷怪塔的最終刷怪速度,由於有刷怪封頂,因此可適用水桶原理

    也就是速度是由刷怪速度、收集+殺怪速度這2部份中最慢的速度決定的

    如果收集+殺怪速度無法跟上刷怪速度,那麼由於到達了刷怪封頂,就不會有新怪物產生

    反之,刷怪速度則成了刷怪塔的限制因素

    因此一個好的刷怪塔,要2部份設計都要能達到十分高的速度

    一些簡單的計算是需要的

    從有效面積/(有效+無效面積)可以得到刷怪機率p

    每秒刷出的怪物個數s就是20x2xpxt,t表示刷怪成功率

    然後透過刷怪封頂c除以s就可以得到達到刷怪封頂所需的時間

    這個時間就是收集+殺怪系統處理一隻怪物的最大耗時,這樣才能保證一直全速刷怪進行

    從理論上,最大的刷怪速度是每秒20x2=40只,在沒有無效面積,有效面積至少為40,刷怪封頂為79的時候可以達到

    但是這個速度就要求刷怪塔的收集+殺怪裝置要在1秒內將刷出的怪物處置,從設計上基本是不可能的

    一個好的刷怪塔設計,即使沒有花費大量時間點亮地底洞穴,也是可以達到每秒1只怪物的速度

    每秒1只的速度是挺不錯的速度,用水流收集+重力陷阱可以跟得上刷怪速度

  • 中秋節和大豐收的關聯?
  • 水溶草種植教程?