刷怪迴圈
刷怪迴圈是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只的速度是挺不錯的速度,用水流收集+重力陷阱可以跟得上刷怪速度
刷怪迴圈
刷怪迴圈是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只的速度是挺不錯的速度,用水流收集+重力陷阱可以跟得上刷怪速度