精華區beta Minecraft 關於我們 聯絡資訊
說到暗房生怪,最常見也最簡單的大概是高塔掉落法吧, 也就是四個 8x8 的平台安排在十字形水道旁,統一把怪從中間摔落。 這個網路上很多,板上應該也有教學。 另一種較美觀但是需要數倍工程的是把暗房蓋在地底, 然後用水電梯把怪送上地面,最後通常用水淹或岩漿刀, 不過也是可以再往上送到高處後用摔落法,只是這樣不如一開始就用高塔。 反蓋塔的問題就是蜘蛛容易卡住通道,不過其實也是有辦法對應的。 由於最新的測試版已經發現在砍生怪磚經驗房的效率, 所以未來勢必是要改成蓋暗房式的經驗房(前提是不改)。 說到暗房生怪,就必須先理解 Minecraft 裡生怪,以及「消怪」的規則。 http://www.minecraftwiki.net/wiki/File:Mob_spawning_ranges.png
這張 wiki 圖說明最清楚。首先是會發現所有距離的計算都是球體, 並非立方體,這在設計暗房時是非常重要的,容後再述。 再來就是可以發現:(註:Minecraft 裡 1 格方塊就是 1 公尺。) < 16m - 生怪磚啟動 < 24m - 不會自然生怪 > 32m - 怪不會動,且 30 秒後有機率消失(每 1/20 秒有 1/800 機率) > 128m - 怪一生出來立即消失 再來就是一個非常重要的規則:自然生怪時,除了烏賊以外, 沒有怪能生在有水覆蓋的格子裡。 所以任何暗房生怪法必然需要把沖怪的水流和生怪的平台分開來, 不像生怪磚房,直接整個房間沖水就通暢無比。 可是怪又不會自己跳水,該怎麼辦? (註:1.3.2實際觀察結果是會自己跳水,跳得可踴躍了。) 最早以前用的是活門,怪會把開著的活門當成有地方站而走過去掉入水流; 原本也有人用梯子,但是梯子會卡怪(有厚度)所以現在幾乎都用告示牌。 把告示牌貼滿生怪平台的四周,怪在亂走時就有機率會掉入水流。 這裡就出現關鍵了:怪在「亂走時」才會掉入水流。 再看一下前面列出的距離,當怪離玩家超過 32 格時不會動。 所以暗房生怪一個很重要的觀念是:「做太大效益反而可能變差。」 為什麼?因為超過 32 格時,大部分的怪都是生出來發呆到消失, 白白浪費 30-40 秒的時間佔住區域生怪限額,導致暗房的效益降低。 那麼多大的暗房最好呢?請看此圖: http://i.imgur.com/oTLLf.jpg
(註:由於距離計算是球體,所以把構造反過來就可以當成掉落塔用了。) 圖中藍虛線和棕色虛線之間的範圍,就是怪生出來之後會自由行動的範圍。 棕線線以內不會生怪,藍色線以外怪不會動。 (註:這張圖是地底式;做高空掉落塔的話,淡綠色生怪區會延伸碰到藍線。) 圖中可以看到,在距離玩家 25 層的最短生怪距離當做生怪區域的話, 那麼第 26 層就是生怪平台(灰色格),這層最寬是離玩家 18 格遠。 也就是說總共 37x37 的面積,是暗房生怪最大可用面積。 當然圖中也看得出來我們可以做雙層的塔,第一層地板 37x37 在第 26 層高, 第二層地板在 29 層高處,但是面積只會剩下 29x29. 第三層地板必須在 32 層高處,但是面積小到不值得做。 反過來看,做成高空掉落塔的話,變成是第 24 層處是地板,面積可達 41x41。 第二層地板在第 27 層處,面積有 33x33。 只要超出以掉落坑為中心,41x41 範圍的生怪平台都是浪費! (水電梯的地底型更小,只有 37x37。) 這裡要註明一下,實際上超過玩家 32 格遠的怪並不是生出來就發呆, 而是「有機率」生出來後一、兩秒內朝隨機方向移動隨機一小段距離。 不過由於這機率偏低(實際測試觀察),所以基本上是不值得做的。 觀察法:超平坦世界,玩家離地面 130 格,在第 95 格高蓋平台, 發現絕大多數的怪都是出生後就原地不動(會轉方向但不會移動)。 十隻只有一、兩隻會移動一小段距離。 寫到這裡,就必須提到,這些結論都是以「怪物必須自行移動掉落」為前提。 其實還有許多種生怪房的設計是不需要怪物自行移動的! 例如用紅石鐘擺機關,每 N 秒放水沖一次平台把怪沖下來, 又或是用活塞每 N 秒把怪推下來一次,這些都不需要怪物移動, 所以可以有效利用第 32 格到第 128 格之間的空間。 不過就算真的在第 120 格遠蓋了生怪房,怪掉下來也死掉拿不到經驗; 如果分段把怪推下來,沒設計好搞不好到達第 32 層之前就消失了。 別忘了超過 32 格的怪在存活 30 秒後就每 1/20 秒有 1/800 機率消失, 所以要在 30 秒內把怪送入 32 格範圍,否則就會開始有怪消失。 (不過這點通常可以在垂直通道底下放懸空水流接怪就是了。) 那麼多大的塔最好呢? 首先,任何暗房一定要優先佔用第 25~31 格的這段空間來生怪, 因為這些怪保證能夠送到你面前給你殺,也是距離你最近的空間。 再來,一個 8x8x120 的塔不如一個 20x20x20 的塔, 因為一隻怪花 20 秒到你面前,不如兩隻怪各花 10 秒到你面前。 最後,大塔不代表就沒用,只是要配紅石把怪強制送入運輸通道。 至於到底該做多大,實際上並沒有定論。這要看週遭的其他生怪空間而定。 當你的生怪房是唯一能夠生怪的地方,那麼只要別做得太小, 效益都不會很差,一般常見的十字形塔用 8x8 平台一、兩層就很夠了, 怪掉下來你滑鼠按得夠不夠快比較重要。 (是的,生怪生再多再快,還是受限於擊殺的速度。) 但是當你週遭有其他生怪空間時,例如你蓋在接近地表, 而地底下有一大堆未探索的空洞,甚至是還有兩、三個生滿六隻怪的生怪磚時, 這些怪都會減少你生怪房的有效上限,導致效益大幅降低。 (其實就算地底全點亮,還是會有區塊生史萊姆稍微降低效益的。 別忘了史萊姆就算生在 32 格外,也會存活至少 30 秒後才消失, 等於暫時性降低你生怪房可生的怪物數量。) 效益最高的塔永遠會是終界安德曼塔,因為可以 100% 控制住生怪位置。 再來就是高空塔,這比不上安德曼塔的原因單純是會摻蜘蛛進去, 而蜘蛛血量較少,其他怪摔到瀕死的話蜘蛛則是必死或滿血(爬牆下來)。 用半磚卡掉蜘蛛的話又會減少可生怪的位置,所以效益會稍微低一點點。 最差的就是在地面直接蓋的掉落塔,不過只要周圍的地底有徹底探索點亮, 效益仍然是非常好的。 所以在蓋超大型超多層超複雜紅石的經驗塔之前, 可以考慮試試最簡單的十字形配四個 8x8 平台的簡易摔落塔, 只要在生怪 1 分鐘後你沒辦法殺得比怪掉下來還快, 那再提升生怪速度也都是白費,因為你的擊殺速度就卡在這裡了。 反過來說,除非你的經驗房常讓你殺完一隻怪在那邊等下隻怪出現, 否則完全沒有擴建的必要,因為你已經沒辦法再提升經驗值進帳速度了。 附錄 - Minecraft 生怪程式流程 每 1/20 秒查看一次玩家中心 15x15 區塊範圍內的怪物數量。 如果數量已達上限,停止生怪,否則繼續: 在 15x15 區塊的每一個區塊,執行: 隨機抽一個座標,若此處方塊不是空氣,或者有障礙物, (障礙物=告示牌、水、活門等),則跳往下一個區塊, 否則在此區塊執行: 以此座標為原點,在相同高度的 41x41 平面範圍內, 抽最多 12 個位置,生最多 4 隻怪。(幽靈最多 1 隻。) 抽第一個位置時也會隨機決定這組怪是什麼種類。 每抽一個位置,該位置腳下必須是實心方塊, 且周圍狀況符合該怪種生怪條件(亮度、空間)。 for each game tick: check 15x15 chunk mob amount if amount < limit then: for each chunk in 15x15 chunks: get random originBlock in chunk if originBlock.hasSpace then: mob_type = random mob_spawned=0; attempts=0; repeat while mob_spawned<4 and attempts<12 { get random (x,z) within 41x41 of originBlock if (x,z).canSpwan(mob_type) then { (x,z).spawnMob(mob_type) mob_spawned++; } attempt++; } 十幾年沒寫程式了,連類程式碼都寫不好啦 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.241.141.194 ※ 編輯: zxcvforz 來自: 111.241.141.194 (08/28 02:36)
rusa:實心方塊..怪怪的 現在上半磚也會生啊 08/28 03:42
scropio1190:我覺得在蓋好之前就會被摔到ban lol 08/28 06:55
jeffffliu:我想要在現實打地獄豬人 08/28 07:44
InfinitySA:現在最好的暗房是推落式 大型水流塔之類的效率沒以前 08/28 08:58
InfinitySA:好了 08/28 08:58
InfinitySA:比如可以參考燒蛋某西瓜作的終界塔 XDD 08/28 08:59
zxcvforz:遊戲初期一定是做水流塔的,推落式花太多資源 08/28 09:44
jeffffliu:現在怪物到底會不會走到看板上? 08/28 10:43
blacknil:實用! 08/28 12:03
rinkai:"最早以前是用活門"這個不太對,當開始用墜落式的時候就已 08/28 12:43
rinkai:經在用牌子了,活板門比較晚出 08/28 12:44