顯示廣告
隱藏 ✕
※ 本文為 nadoka 轉寄自 ptt.cc 更新時間: 2012-12-17 17:02:14
看板 Minecraft
作者 jeffffliu (女子 食我 口阿)
標題 [討論] 怪物農場的製作-以Witch Farm為例
時間 Mon Dec 17 15:51:42 2012


    為什麼要寫這篇因為最近在生存模式蓋了一個Witch Farm所以有感而發

一、製作動機

    為什麼要製作怪物農場呢?因為你需要去蒐集怪物掉落的東西,然後你又不想去尋找
怪物以及屠殺怪物。例如:火藥、終界珍珠…等物品。這篇所要討論的怪物農場,是指
然生怪的方式,而不是以生怪磚為製作方式的怪物農場。怪物物農場設定的目標,通常是
沒有遊戲生怪磚會生成的怪物為目標,因為生怪磚可以提供穩定怪物來源,沒有生怪磚的
怪物要得到該怪物的大量掉落物就必須來自怪物農場。


二、製作流程

    製作怪物農場的流程基本上分成三個階段:
    ╔═════╗    ╔═════╗    ╔═════╗
    ║規劃階段:║    ║準備階段:║    ║建造階段:║
    ║1.選定目標╟─→║清      除╟─→║1.設計農場║
    ║2.選定地點║    ║生  怪  點║    ║2.建造農場║
    ╚═════╝    ╚═════╝    ╚═════╝
  1.選定階段:a.選定你這個怪物農場的目標怪物類型。

              b.選定你想要建造的位置;是不是要考慮建造在高空中的怪物農場。
  2.準備階段:a.因為怪物數量達到上限以後,就不會生怪了,而怪物不會馬上消失,
                所以要將生怪農場以外的生怪點消除,來增進怪物農場的效率。
              b.另外高空型的怪物農場,因為怪物周圍 128沒有玩家的時候會馬上消失
                ,所以就可以跳過準備階段。
  3.建造階段:a.規劃生怪空間,如何讓怪物從生怪地點移動到殺怪地點。
              b.規劃殺怪方式,通常是使用摔落方式或是使用岩漿燒怪。

              c.規劃如何收集物品,將物品集中玩家放著就可以取得物品。

              d.將農場規劃實做出來。

三、選擇怪物農場要的目標以及建造地點

  3.1 怪物農場要的目標
    3.1.1 依照怪物種類
      現實世界:
      1.蜘蛛+人型怪(殭屍、骷髏、Creeper)
        這是最常見的類型,主要是特別要取得Creeper掉落的火藥
      2.純人型怪
        這個類型是上面那種的變體,主要是生怪地點不會生成蜘蛛,因為蜘蛛體型超過
        一格寬,而且又會爬牆壁,在之後建造階段會比較麻煩。
      3.上述兩種在追加Enderman
        當然是順便蒐集Enderman掉落的終界珍珠
      4.純蜘蛛
        通常只有蜘蛛愛好者才會製作這種怪物農場
      5.史來姆
        這個類型是為了取得史來姆球,只是在特定chunk y<40製作,由於史來姆生成率
        較低,基本上只是製造可以生成的環境,因為史來姆生成不考慮亮度,所以可以
        控制只生成史來姆,等待生成玩家在去狩獵,這樣史來姆球的量就足夠使用了。
        比較需要大量的人才會製作成自動化運輸怪物自動殺怪的形式。

        在1.4.2板之後沼澤氣候在70>y>50,亮度夠暗會生成,所以可以配合第1,3種類
        型一起製作,只是要針對史來姆的體型去設計怪物塔的形式。
      6.烏賊
        這種類型主要取得烏賊掉落的墨汁,但是由於在遊戲版本1.1之後,羊會
        吃草長毛的關係使得墨汁、仙人掌…等染料需求量大減,所以之後還會建造這種
        類型的人,應該是烏賊愛好者。
        比較需要注意的是烏賊只會在63>y>45的高度生成。
      7.利用傳送門會低機率生成殭屍豬而特殊設計的怪物農場
        生成機率 = 遊戲難度(0~3)/2000   遊戲版本1.3.1之後

        這種生成無關伺服器怪物數量,所以就不需要消除生怪點,但是由於生怪機率不

        高,怪物農場的生怪面積要很大而且會消耗大量黑耀石,製作上比較花時間。值
        不值得建設需要慎重考慮(?)。
      8.利用村莊生成鐵巨人而製作的怪物農場
        生成條件:A.鐵魔像數量<村民數量÷2
                  B.房子數量>20

                  C.1/7000的機率
        由於在鐵巨人正式上線以後,生成機率被調降非常多,導致非常沒有效率。

      至於現實其他怪如豹貓因為沒有掉落物不值得去當作目標;動物由於數量上限很低
      基本上不會自然生成所以也不考慮,而且也有繁殖手段去增加動物。

      地獄:
      地獄生成的怪物主要是殭屍豬人,殭屍豬人的掉落物最出是熟豬肉(β1.2),之後
      在β1.8的時候改掉落腐肉,1.2.X之後開始會掉落金碎粒,開始有製作怪
      物農場的價值。但是在地獄製作怪物農場的困難點是,在地獄無法使用水來運輸或
      是集中怪物或是物品。地獄要消除怪物農場以外的生怪點比較困難,因為地獄的怪
      物生成都是無視亮度的。所以在地獄製作的農場算是少數,也太費工夫。

      只是在1.4.X之後傳送門可以傳送Entity(怪物、物品等)之後,有人設計了高空式
      殭屍豬人農場。至於運用了哪些技術本篇不討論,請參閱以下連結。
      http://www.youtube.com/watch?v=7DdVxYr31E4
Minecraft 1.4.5 Very Efficient Zombie Pigman Gold Farm (2500 Gold Nuggets/Hour!) - YouTube This Gold Farm design uses the feature in Minecraft 1.4 that allows mobs to travel through portals. We use a highly efficient Mobtrap design to push the Zomb...

 

      終界:
      終界只會生成Enderman,而且Enderman的經驗值較多,終界除了中心有個空中大陸
      之外其他地方都是空氣,所以遠離中心區域的地方建築也不需要消除怪物農場以外
      的生怪點,通常會設計成可以正好摔死跟摔到殘血之間(使用活塞控制),來獲取大
      量經驗值。


      特定建築物內有自己的怪物生成規則:
      1.沼澤小屋
        沼澤小屋內部只會生成Witch,Witch的掉落物大多跟製作藥水有關,其中也包含
        火藥,所以會特別為了他製作怪物農場。
      2.地獄堡壘
        地獄堡壘內部會生成烈焰怪(10)、殭屍豬人(5)、烈焰史來姆(3)、骷髏(2)、
        凋零骷髏(8),其中的凋零骷髏者會在這生成,只是由於製作方式如同之
        前地獄部分所敘述,我不確定會不會有人去製作怪物農場。

    3.1.2 依照殺怪的形式
      1.讓怪物直接死亡
        這是主要來獲取怪物的一般掉落物品的方式
      2.先讓怪物受傷到頻死在由玩家來了結他
        這種形式由於是玩家打死的方式,所以除了普通掉落物品以外,還能獲得經驗值
        、稀有掉落物品以及裝備掉落。不過由於Creeper跟Enderman都沒有掉落稀有或
        是裝備掉落,通常是會為了經驗值而製作,特別是在終界,能過獲得比生怪磚更
        高的經建值獲取效率。畢竟通常只有單獨生怪磚,或是偶有雙聲怪磚,甚至三個
        以上生怪磚又更少了。不過在多人模式的時候,你只能控制你附近的生怪區域沒
        有生怪點,並不能控制其他玩家,基本上在終界才會建造這種。

      3.完全由玩家打到死
        一般來說不會設計這種形式,因為玩家從頭打到死花費太多時間,殺怪速度過慢
        ,會建造這種形式通常是在有安裝MCMMO的Server,畢竟MCMMO預設生怪磚的怪物
        是沒辦法練戰鬥技能。


  3.2 怪物農場的地點選定
        你一定會很納悶為什麼要選地點,除了Witch以外應該不需要特別挑位置吧。接下
    來會慢慢解釋。

    3.2.1 不要選擇在香菇島氣候建造怪物農場
          如果你這樣做你一定會後悔,因為在香菇島氣候,不會生成任何怪物跟烏賊。
      如果你花費時間終於建造好了怪物農場,恭喜你獲得一個蚊子怪物農場,完全不會
      生怪,只能養蚊子(蝙蝠 y<63)。

    3.2.2 選擇在高空中建造
          在遊戲版本1.2.X之後遊戲中可放置方塊的範圍從0~127增加到0~255,在高空
      建造怪物農場,可以遠離所有地面的生怪點超過128,所以其他地方怪物生成之後
      馬上就會消失,此種形式可以跳過第二階段直接進行怪物農場的建設

    3.2.3 可以考慮在海上建造
          這樣可以省去你在地表插火把的時間,雖然說只有地表一層,但是15x15chunk
      的區域也蠻大的。還有海洋通常水會比較深,那些區域也就不會有生怪點,需要消
      除的生怪點區域只剩下海底以下區域。

          如果你的怪物農場有要針對Enderman,也能避免他的瞬間移動到地面,不然你
      要特別隊能順移的區域下方做處理。
    3.2.4 選擇地底比較實心的區域建造
          除了地表以外你還會需要將地底的生怪點作處理,如果能選擇空洞較少的區域
      做建造,如果地底有廢礦或是大量空洞那真的蠻花時間的。問題是一般狀況下你沒
      法確認地底的情況,除非你把自己塞進不會窒息又不透明的方塊中可以透視下去,
      例如:螢光石、樹葉(如果你設定他是不透明的)、TNT(這有點危險)。

          所以要使用MOD來輔助檢查:
      (1)使用[1]Zan's Minimapcave模式來觀察,先挖一個豎坑往下看地底水平的橫
         切面來看空洞程度。以下兩張圖你可以很明顯知道要挑選哪個沼澤小屋。
         http://i.imgur.com/DFeCq.png
[圖]
 
         http://i.imgur.com/LJnlA.png
[圖]
 
         另外會有人問為什麼不使用[2]Rei's Minimapcave模式呢?因為他實際上是
         亮度模式,你都沒插火把的情況基本上都一樣黑暗所以不適合拿來使用,而且
         多人模式要開啟還要伺服器另外做設定。
      (2)使用[3]Xray的cave模式或是使用有Xray效果的材質包來直接看地底有些洞穴,
         挑比較少的來使用,如果你在多人server上請先確定該server有允許使用xray
         MOD,不過通常是來防止直接挖礦物吧(?)。
    3.2.5 如果你需要建造的怪物農場需要在特定建築物內
          使用一個工具程式[4]AMIDST來直接尋找沼澤小屋,跟地獄堡壘的位置。前提是
      你需要知道該地圖的seed值

四、清除怪物農場預定地以外區域的生怪點
    為什麼要做這件事情呢,因為怪物農場的效率跟怪物農場以外的地方的生怪點數量有
很大的關係。當怪物生成在怪物農場以外的時候,這是一個無效的生成,如果怪物不能馬
上消失的話,該怪物只會在佔住怪物的名額,當怪物到達上限的時候怪物就會無法生成。

  4.1 需要清除的生怪點區域
      怪物的生成範圍是以玩家為中心15x15chunk,基本上是你你設計的怪物農場收集物
  品所在的chunk為中心chunk,不是怪物農場為中心。理論上來說,只需要清除離等待地
  點128以上的生怪地點,因為怪物會馬上消失,但是因為要計算距離有點麻煩,所以還
  是把15x15chunk的生怪點都清除。可以使用[2]Rei's Minimap來把chunk邊緣線

  顯示在地圖上,需要注意的是邊緣線北方跟西方是該chunk的一部份。如下圖所示
  http://i.imgur.com/dPTPC.png
[圖]
 

  4.2 清除生怪點的步驟以及使用的輔助Mod
      1.一般怪物生成條件基本上都要亮度<8,所以只需要插火把讓亮度大於7即可。
      2.史來姆這種生成無關亮度的怪物,就需要在會生成的chunk y<40的區域鋪上半磚
        來防止生怪,雖然說史來姆生成率比較低,但是長時間累積起來,史來姆還是會
        把怪物名額都佔滿,如果你覺得一段時間離開此區域讓怪物消失就好的話,就不
        需要鋪半磚來防止史來姆生成


          用來輔助的Mod最主要是[5]Spawnchecker,他會在會生成怪物的方塊上方顯示
      一個Mark,也能在上面追加光柱來顯示,對於檢查生怪點非常方便。由於現在多人
      模式不會提供seed值,你如果要再多人模式檢查史來姆生成的chunk,需要在以下
      檔案做設定: %appdata%\.minecraft\config\mod_SpawnChecker\servers.txt

      最大可以檢查範圍是水平跟垂直最大距離是32,最大能檢查的範圍是以玩家為中心
      65x65x65區域。
          另外還可以配合[3]Xray來顯示看不到的生怪點。用[1]Zan's Minimap的cave
      模式來看大概還有哪些區域還有暗區要去檢查。

      3.在大概都消除玩以後,還是有可能會有漏掉的部分,可以在預定等待位置等待一
        陣子確認有沒有怪物生成,再去該地點做詳細確認哪邊還沒漏掉。或是之後怪物
        農場在蒐集的時候看到有怪生成在去消除。需要用mod來檢查。


          使用的Mod要使用能夠看到怪物的功能,如下:
推薦->  [2]Rei's Minimap 的顯示怪物功能,多人模式下需要server端另外設定。
        [1]Zan's Minimap 的顯示怪物功能,比[2]好的地方是他是用生物的臉材質來顯
           示,缺點是只能在小地圖上顯示,更新頻率也不高。
推薦->  [6]RadarBro 這個Mod的缺點是不能縮放,但是導致滿滿的怪物臉顯示擠在一起
           導致無用武之地,但是在後期生怪點已經非常少了,剩下少數漏掉部分,這時
           候後這個Mod就很好用了。

      4.其他需要特別注意的地方
        光源顯示上會有bug,有些地方你玩家走過去暗點就會自動消失,你遠離又會出
        現,最明顯的例子是岩漿池,整個池子理論上有提供岩漿做照明,但是實際上沒
        火把的時候你會發現....那間岩漿池是暗室,會生怪。這點蠻討厭的,所以要去
        把岩漿池插上火把,另外有些其他地方偶爾也會發生,只有後來才會發現。


五、設計以及建造怪物農場

  5.1 設計生怪區域
    生怪的基本條件如下
            <-非方塊(以及冰塊、終界門框、螢光石、樹葉、TNT)
            <-非方塊(以及冰塊、終界門框、螢光石、樹葉、TNT)

        █  <-要是方塊(不含冰塊、終界門框、螢光石、樹葉、TNT)

              例外:是基岩就不能生怪,上半磚上半梯可生怪

    但是怪物要生成成功必須要有足夠的空間
    1.人型怪:需要兩格高的空間   2.Enderman、凋零骷髏:需要要三格高的空間
        ████████             ████████
        ↑                           ↑
        ↓兩格高                     │三格高
        ████████             ↓
                                     ████████

    3.蜘蛛:只需要一格高看是他的身體有1.4x1.4 所以要生成需要3x3的空間
            以下打○部分能生怪  □:冰塊、終界門框、螢光石、樹葉、TNT
            ███████████████████

            █            ▄□                  █
            █○╳○╳█╳○○╳▄╳╳○○╳○╳█
            ██  █████████  ██▄███

            如果要在兩格高或是三格高的空間要避免生成蜘蛛

            要不要讓3x3的空間出現 可以在部分地點鋪上半磚或是擺設柱子

            如果你要製作純蜘蛛生怪塔以下設計可以最節省空間
            ▄▄▄▄▄▄▄▄▄▄<-上半磚or上半梯
               可生蜘蛛
            ▄▄▄▄▄▄▄▄▄▄
               可生蜘蛛
            ▄▄▄▄▄▄▄▄▄▄
               可生蜘蛛
            ▄▄▄▄▄▄▄▄▄▄
    4.史來姆:兩格高的空間只能生成Tiny或是Small的史來姆
              三格高的空間才能生成所有Size的史來姆
    為了增加怪物的生成空間,通常都會一層一層往上蓋,以至於落下式怪物農場大多是
    高塔形狀,所以怪物農場又稱為怪物塔。
  5.2 設計如何將怪物引導至殺怪區域
      在確定好生成區域之後,你會希望怪物能掉進移動用的水道,或是直接讓他
    摔死。
    方案1:讓怪物自己摔下去
      在生怪區域挖掘一些落穴,在邊緣放置陷阱門,讓怪物以為那邊有路可走而摔下去
                               █
                               █
      █|  |█             █ |█
        <-->                 ^^
      蜘蛛需要兩格寬        人型怪只需要一格寬
      ※曾經可以使用打開柵欄門或是看板(效率會些微比陷阱門好一些因為沒有體積)

      但是在遊戲版本1.0之後會面臨一個問題,怪物在距離玩家32以上的會不移動,1.3
      怪物隨機移動又更低。這時候有兩種做法來解決,一是控制生怪範圍在24-32之間
      二是使用紅石機關讓紅石或是水將怪物推落。

      第一種方式如下圖所示,怪物在玩家24以內不生成,32以上不移動。
      http://i.imgur.com/rCW8N.png
[圖]
 
      以下有幾個24-32型的參考影片
      http://www.nicovideo.jp/watch/sm17359411
 
      http://www.nicovideo.jp/watch/sm17500257
 
      http://www.nicovideo.jp/watch/sm18297857
 

    方案2:使用活塞將怪物推下去
      用踏板或是扮線勾觸發活塞將怪物推落,通常用於純人型怪以及Enderman
      以下是幾種設計(只是舉例應該有更多設計):
                                            __
            ■     i→     ■        ■‧    ════
            ■__   ■■■__    \__            ■~~…~~■
              ■■    \■      \■        ■
                                            側面     上面
       :黏性活塞  ╣:活塞  ←→:中繼器    ‧~:線與拌線勾   __:紅石粉
       \i:紅石火把    __:石踏板             是比低一層的紅石粉

      由於此種方法跟怪物AI無關,所以在能直接把怪物摔死的情況下,生怪區域越大
      效率越高。
    方案3:使用水將怪物推下去
      1.使用踏板跟水 下兩例子只是概念(線路部分不敘述)

        將蜘蛛推落(俯視圖)            將人型怪推落(俯視圖)

        活塞                          水╦→→→→→→
         ■□□□□□□  <-踏板         ■____________
       水╩→→→→→→   水流方向     活塞  石踏板
         ■□□□□□□
       水╩→→→→→→
      2.或是用紅石機關製作一個Clock,定時讓水流出將怪推落
      不論是哪種方式,水流在運算上是比較花系統資源的
      所以不建議在多人server上使用此方式

    5.2.1 針對史來姆的設計
       由於史來姆的AI含其他怪不同,在還沒鎖定玩家之前,史來姆始終會往某一個方
    向一直移動,外加史來姆在水中沒辦法往上跳或是往上游。所以會在史來姆生成平面
    外圍建造一個3個寬低一層的水道來運輸史來姆,看你是要運到地面上還是集中在地
    底,由於史來姆的產量通常都不太大,要不要做銷毀設施就因人而異。

       加上1.4.4摔到水上一定沒有傷害了,所以很多層生成區域,讓史來姆直接摔到底
    層水道上也不會陣亡了。

    5.2.2 針對地獄門可以傳送怪物的新設計
       由於1.4.x地獄門可以傳怪物,所以可以傳送怪物進去地獄在摔死。
    以下是一個實例,不多做解釋
    http://www.youtube.com/watch?v=bfL1K4etic4
Minecraft 1.4.2 - NEW Witch Farm Prototype - YouTube
This video shows a fully automated Witch Farm Prototype for Minecraft Update 1.4.2. As witches can drop Redstone, Glowstone, Gun Powder, Sugar, Bottles, Spid...

 

  5.3 設計殺怪方式
      最快殺死怪物的方式是用摔死的方式。
      殺怪方式最泛用的是使用岩將來燒死怪物,也用於處理沒摔死的怪物。
      史來姆可以使用溺死的對策,或是對沒摔死的殭屍豬讓使用溺死的方式。
      溺死的效率並不高,通常不使用此方法。
    5.3.1 岩漿燒死怪物
          你可以全部使用這種方式來殺怪物,但是效率沒有摔死好,但是往往有時候怪
      物沒摔死就會需要用到此種方法來殺掉沒死的怪物。
      以下有幾種設計(當然你可以做更多種變化)

       最簡單的設計       使用柵欄減少       或是使用上半磚更加減少
       用看板阻擋岩漿     跟岩漿的接觸面積
      ■■■■■■■■    ■■■■■■■■   ■■■■■■■■
      ■              ■             ■
      ■                ■               ■
      水水水水水水水    ■水水水水水   ■水水水水水
      ■■■■■■■■    ■■■■■■   ■■■■■■
                          ■■■■■■■■   ■■■■■■■■

          這種殺怪方式基本上怪物都是殺到死沒辦法控制殺多少血,最簡單易懂的方式
      所以也是有那種水平大範圍生怪,怪物掉進勾槽流進岩漿燃燒裝置,不過也只見於
      早期(1.0以前)比較多。


    5.3.2 摔落而死
          最常見的方式就是直接讓怪物從生怪區域直接摔死。當然你要先把怪物集中在
      摔也是可以,不過通常用於獲取經驗值的怪物農場需要控制怪物摔落傷害,讓怪物
      頻死以供玩家給他最後一擊。


      接下來要先解釋摔傷的計算方式,簡單公式如下:
      摔傷 = 掉落距離 - 3
      所以確殺高度 = HP + 3
      各種怪物確殺高度如下(一些生怪磚才有的怪就不列):
      人型怪  [HP:20] 需要高度23才能摔死
      Enderman[HP:40] 需要高度43才能摔死
      蜘蛛    [HP:16] 需要高度19才能摔死
      Witch   [HP:26] 需要高度29才能摔死
      豹貓    [HP:20] 喵~貓是不會摔傷的喔~喵~

      在1.4.4以前基本上是用以下方式來設計
      █████████████████
      █

      █
      █|  |██|  |██|  |██|  |██↑
      █                                │確殺高度
      …                                ↓
      █水水水水水水水                     因為柵欄是1.5格高,所以柵欄上面放
      █柵柵柵柵柵柵柵柵水水水水水水水     放水不但可以摔死怪物,還能集中死
      █████████柵柵柵柵柵柵柵柵     亡後掉落的物品。不幸沒摔死的怪物
      █████████████████     在集中起來使用岩漿焚化。

※很  但是在1.4.4之後(1.4.3pre開始),碰到水的判定有做一點點修正,結果就是這樣
※重  摔下來會判定成有碰到水,以至於摔傷距離歸0,完全無法造成任何傷害
※要  這對落下式的怪物農場是一個衝擊,底下有幾個影片是針對這個修正做應對。
      簡單來說有幾方法:
      1.讓怪物在落下時,使用拌線勾偵測到怪物,讓陷阱門關閉或是活塞推出來,創造
        出立足點讓怪物摔死之後,在打開陷阱門或是活塞拉回去讓物品掉落
      2.讓怪物摔落在柵欄或是半磚類型的地方,利用活塞推動柵欄跟佔磚的時候,
        Entity會掉落的方式,讓物品或是怪物掉下收集跟銷毀水道
      3.讓怪摔在立足點上然後旁邊放置水道,讓物品彈至旁邊調進水道
      參考影片如下
      http://www.nicovideo.jp/watch/sm19501645
 
      http://www.nicovideo.jp/watch/sm19413231
 
      http://www.nicovideo.jp/watch/sm19390884
 
      http://www.nicovideo.jp/watch/sm19343446
 
      http://www.nicovideo.jp/watch/sm19307199
 

      另外Enderman如果沒摔死會碰水受傷,這實會隨機移動到以Enderman為中心
      (-32~+32)區域,即65x65x65區域,會向下尋找到位置下方有方塊或是其他有體積
      的東西,之後在檢查空間足夠1x3x1,而且沒有液體存在,才能成功順移。
      要避免他順移這65x65x65區域[以下](因為向下尋找會超出區域),需要讓底層區域
      有水存在,或是高度不足3。如此一來Enderman會順移失敗直到碰水而死。
      參考影片

      http://www.nicovideo.jp/watch/sm16871504
 

  5.4 設計集中物品的結構
      這部分比較沒什麼好說的基本上就是使用水流來運送物品,會接在殺怪區域之後。
    在1.3.1開始由於可以使用絲觸(?)附魔來取得冰塊,水道底下使用冰塊,物品會流動
    更快,可以更高速運輸物品,而且在離開水之後還會再冰上滑行一陣子,所以能做到
    不需要改變高度持續水平移動的物品運輸水道


         水水水水水水水水水水水水水水水水水水水水水
         冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰

六、實例一:Witch Farm
    這裡不敘述前置工作,包含選定地點跟清除生怪點,從建設開始描述
  6.1 生成區域
      Witch Farm 只能生成在沼澤小屋的範圍內,小屋的範圍只有7x5x9,以下有兩個
    Mod可讓你觀察哪邊可生成Witch:
    [7]ShowMonsters:顯示你所在位置能生成什麼怪物
    [8]Bounding Box Outline Mod:直接在畫面上顯示小屋、金字塔、神廟、地獄堡壘
                                 的建築物邊界
    這兩個Mod必須使用Forge,在多人伺服器上要伺服器也安裝此Mod才能運作

    生成區域如下圖所示,所以你頂多只能建造兩層生成區域,由於生成區域實在非常
    珍貴所以有多少就用多少。

    側面                       正面                  選擇哪幾層※生怪
       ←───────→         ←─────→
     ↑◢■■■■■■◣         ↑◢■■■■■◣     ※※※           
     │  ■■    ■■           │  ■  ■  ■       ■■■  或  ※※※
     │  ■■■■■■╣         │  ■■                     ■■■
     │  ■■■■■■■■       │  ■███■       ※※※           
     ↓  ■        ■           ↓  ■      ■       ■■■      ※※※
         ■        ■               ■      ■                   ■■■
         ■        ■               ■      ■      

  6.2 Witch這種怪物的特性
          Witch是一種跟藥水有相關怪物,他的掉落物也都跟藥水相關。他死掉的時候
      會掉落1~3次物品,每次會掉落0~2個,掉落的物品:
      螢光石粉 糖 紅石 蜘蛛眼 玻璃瓶 火藥 木棍 木棍
      顯示比較亮的三個是我覺得比較有取得價值的物品,所以才會來獵殺他。Witch是
      沒有稀有掉落的,平常也沒有裝備(之後會補充裝備掉落)。

          Witch的怪物體積如同人型怪,他的HP有26,所以摔死需要高度29。Witch是遊
      戲中另外一種會使用遠程攻擊的怪物,他不事像骷髏射箭史,而是對玩家投擲藥水
      使用的攻擊如下(以下順序是優先選擇順序)://(if else if else 的意思)

      1.當攻擊目標的距離>=8而且攻擊目標沒有緩慢(moveSlowdown)效果時
        投擲的藥水是緩慢藥水       //Witch:你離太遠了,不准走
      2.當攻擊目標的生命>=8而且攻擊目標沒有中毒(poison)效果時
        投擲的藥水是中毒藥水       //Witch:你血太多了,來扣點血
      3.當攻擊目標的距離<=3而且攻擊目標沒有弱化(weakness)效果時,有25%機率
        投值得藥水是弱化藥水       //Witch:你敢打我,我讓你打我比較不痛
      4.平常是投擲傷害藥水

          Witch由於精通藥水(我亂扯的),所以他投擲出去的藥水不會對自己造成傷害
      而且Witch對於其他藥水的傷害也有抵抗力,受到的傷壞會剩下15%。

         Witch平常在某些狀態也會喝藥水增加自己的能力,由於喝藥水跟吃東西一樣需
      要32tick(1.6秒),在這段短短的時間內手上會持有該種藥水,這時候如果玩家將
      Witch殺死就有機會發生裝備掉落(5%),而獲得Witch手上的藥水。

      會使用的藥水如下(以下順序是優先選擇順序)://(if else if else 的意思)
      1.當Witch在燃燒狀態而且沒有火免(fireResistance)效果時,有15%機率
        使用火免藥水               //Witch:想燒我?我就喝火免藥水
      2.當Witch的生命沒有滿的時候,有5%機率
        使用補血藥水(直接補血那種) //Witch:我可是會喝藥水回血的
      3.當Witch的攻擊目標距離>11而且沒有加速(moveSpeed)效果時,有25%機率
        使用加速藥水               //Witch:你那麼遠我可是會追上你的
      4.當Witch的攻擊目標距離>11而且沒有加速(moveSpeed)效果時,有25%機率
        使用加速藥水               //只是在檢查一次
      如果你想要打死獲得這三種藥水就必須由玩家親自打死,不過通常是獲得補血藥水

   6.3 設計殺死Witch的區域(實際建造過程)

       這裡要敘述的是我思考要如何殺死Witch的過程,原則上我希望能控制生怪區域
     是在距離玩家24-32之間,以防Witch閒置。█              █
                                           █              █
     方案一:直接摔死(不採用)              █| █████ |█
       由於摔死高度需要29,如果採用直接    █              █
       摔死的方式。我要減取物品的話,我    █              █
       必須每幾分鐘就要下取減取物品一次    █| █████ |█↑    ↑
       不然就要用活塞把物品往上運。而且    █              █│    │
       畢竟Witch 的生成區域只有小小的      ………………………│24+ │
       7x2x9 ,不至於來不及殺死。而且畢    █              █│    │29
       竟是在多人伺服器上產量會不穩定。    █      人      █↓    │
       外加1.4.4+沒辦法使用柵欄+ 水來摔    ………………………      │
       傷怪物。而且我待在最底部的話,變    █              █      ↓
       成生怪區域上層會超過距離32,結論    █████████
       是不採用。
                                                        █████
                                        █████████      █
    方案二:集中後岩漿焚化(不採用)      █              █
       由於Witch本身會使用火免藥水以致  █              ██  █
       於無法用火燒死,不採用。         █| █████ |██  █
    方案三:集中後窒息死或溺斃(不採用)  █              ██  █
       溺斃跟窒息死死亡過於緩慢,本身還 █              ██  █
       會回血,不採用。                 █| █████ |██  █
    方案四:集中後摔死                  █              ██  █
       經過一番思考以後,要確保Witch能  █  南北向集中  █  █
       馬上死亡結果還是需要使用摔死方式 ████████  █
       但是由於摔落高度不夠,先將Witch  █水水水水水  板板█  █
       集中往上運輸到足夠高度在摔死。   █東西向集中水水█  █
                                                    █████  █

    施工中的小插曲,摔死高度沒算好,又不小心挖破,結果滿滿的Witch滿出來
    因為攻擊我波擊到其他Witch以至於所有的Witch都在互相攻擊還打不死
    http://i.imgur.com/PnWmA.png
[圖]
 

   6.4 生怪區域地點需要特別注意的地方
       由於Witch的生成條件必須是在沼澤氣候同時也在沼澤小屋內,如果不幸的沼澤
   小屋的範圍內有其他氣候,那種氣候的位置底部就需要放置玻璃等避免其他怪物生成
       在我實際運作Witch Farm之後,我發現低機率還是有Witch以外的怪物生成,例

   如殭屍、骷髏、Creeper、史來姆(中小型)、蜘蛛。我覺得非常納悶,在檢查一次確定

   內部都是沼澤氣候。所以我只好重新檢視生怪的程式碼:
   (1)每400tick(20秒)如果怪物數量沒有達到上限就進行生成
   (2)在每個chunk進行一次生成
      (3)該chunk隨機選擇一個點,該點是空氣的話進行4x3次一組生成
         直到單次生成上限(4),Ghast(1)
         (4)4x3次的4是以該點為中心同個水平面上隨機移動(+5~-5)嘗試生成
            (結果來說是41x41水平範圍內)
         (5)如果該點符合基本生怪條件,而且周圍24沒有玩家或重生點擇繼續檢查
         (6)如果還沒選過生成的怪物則以該地點選擇一種怪物
         (7)如果該地點可以生成該種怪物,則生成

   我發現(4)的時候由於是隨機移動某一點,有可能造成內部生成Witch以外是以下的情況
            ■■■■■■■■■
            ■              ■             A.  (3)選到A,該點是空氣
        BA■            ■             B-1.(4)隨機移動到B
        ■  ■  ■■■■■  ■       B-2.(5)符合基本生怪條件
      ■■■■     小屋     ■             B-3.(6)還沒選過怪物,選擇了Creeper
    ■■■■■     範圍     ■■■■       B-4.(7)蓋地點亮度過高無法生成
  ■■■■■■  ■■■■■  ■■■■       C-1.(4)隨機移動到C
■■■■■■■              ■■■■       C-2.(5)符合基本生怪條件
                                           C-3.(6)已經選擇Creeper不需要選怪
                                           C-4.(7)這裡夠暗可生成,生成Creeper
       如此一來在小屋內就生成了不是Witch的怪物,雖然說生成人型怪並不影響,但是
   如果生成了蜘蛛或是史來姆(中),由於我的設計只人型怪的設計,這兩種怪就會卡在
   上面會妨礙怪物生成(如果生成位置有其他怪物會生成失敗)。

       於是我就必須要讓(6)這項不會發生。可以針對(3)跟(5)下手,(3)是選到空氣,如
   果41x41區域都不是空氣就不可能會發生,但是結果是把小屋外的空氣去除,但是小屋
   內還是有空氣有可能移出去又移進來,所以不能避免掉(3)這項。

   ※題外話如果41x41區域都不是空氣就不會生怪了呢,我在超平世界在預設的上面一層
     鋪了一層紅石,結果實測完全不會生怪。能應用到的頂多如下:
    ■■■…■■■        ■■■…■■■
    ←──20──→  紅石  ←──20──→
    ■■■…■■■﹏﹏﹏﹏■■■…■■■ <-此層無空氣  紅石部分不會生怪
    ■■■…■■■■■■■■■■…■■■

    結果沒辦法針對(3)做修正,於是就對(5)下手,讓生怪區域(+20~-20)不符合此條件。
    我們再來回顧一下基本生怪條件
        □  <-非方塊  (以及半磚、空心方塊)
        □  <-非方塊  (以及半磚、空心方塊)
        ■  <-要是方塊(不含半磚、空心方塊)
              例外:不含基岩,含上半磚上半梯
    要迴避掉此條件有以下方法:

    1.上兩層放置方塊    2.下層移除方塊
       ■  ■  □          □  □
       ■  □  ■          □  □
       ■  ■  ■          □  ▄
    需要注意的是在上兩層放置半磚並無法迴避掉此條件
    放置半磚不能生怪是因為半磚的體積阻擋怪物生成
    以下方法不可行:
       □  ▄  ▄
       ▄  □  ▄
       ■  ■  ■

    於是我的Witch 農場就完成了,之後頂多把遺漏的生怪掉在消除即可。
    由於要獲得Witch的藥水需要玩家去打死他,只要稍作修改落下高度即可,
    但是通常只能敲到補血藥水,而且不能重疊所以暫時不考慮。

七、實例二:史來姆農場                █                          █
        我選定了一個2x2chunk會生成史  █                          █39
    來姆的區域,周圍稍微有點實心的區  █      ███…███      █
    域來製作。史來姆的生成地點很單純  █                          █
    ,就是從最底層每一層有三格高空間  …                          …
    的生成區域。我用來集中史來姆的水  █                          █14
    道會用到兩格深,如下圖。          █      ███…███      █
                                      █                          █
            水水水        水水水  █                          █
    水水水◢███水水水◢███  █                          █11
                                      █      ███…███      █
    所以從高度 7開始製作史來姆生成區  █      ↑                  █
    域,水道在2x2chunk周圍。然後在上  █      3                  █
    層的生成區域四角3x3 開洞讓史來姆  █      ↓                  █7
    摔下去1.4.4也碰水不會摔傷了(雖然  █  水  ███…███  水  
    之前我曾想過如何避免摔傷)         █  道  ███…███  道  █5
    結果就如右圖,要讓周圍寬度3 都開  ███████…███████
    其實也是OK。                        ←3→←──32──→←3→

        總共我有了32x9x32的史來姆生成空間,由於我想親自打死,所以我只有製作
    集中用水道,之後我把周圍生怪點都清除以後,我後悔啦(慘叫.....)。
    史來姆他○的多啊,有一次累積太多打光獲得了700多顆史來姆球,於是我在打怪
    口放上火焰加減焚燒史來姆。
    成品如下圖:
    http://i.imgur.com/jK33d.png
[圖]
 

八、效能分析
  8.1 比較怪物農場與生怪磚
        從怪物生成演算法來看,怪物農場的效率影響最大的是(1)怪物上限,所以我們
    必須把其他怪物生成點都消除,因為生在怪物農場外的怪物沒辦法馬上消除。
    怪物農場跟生怪磚做一個比較:
              怪物農場                        生怪磚
    主要用途  取得怪物的物品                  取得怪物的物品經驗值
    對象怪物  自然生成的怪物                  生怪磚特定的怪物
                                              缺點是無Creeper可取得火藥
    製作地點  基本上沒有限制                  你必須要先找到生怪磚
              到處都可製作                    才能製作
    生怪效率  在消除其餘生怪點的情況          非常的穩定
              效率會比生怪磚好                要更多效率只能尋找可以
                                              同時啟動多生怪磚處,難以尋找
    受限於    有受限制,在多人的情況          不受影響
    生怪上限  往往效率會非常低落              效率非常的穩定
    製作花費  除了高空型之外,會花費大量時間  由於生怪區域很穩定就是在固定區域
    時間材料  消除生怪點;為了提高效率,會希  所以花費材料跟製作時間都較少
              望生怪點多一點,所以會花費較多
              建材。
  8.2 怪物農場的效率高低
      理想上高效率的怪物農場是怪物總是不會在達到生怪上限的情況。
      死亡指的是怪物從生成->掉入陷阱->死亡的時間。
      當生成速度>死亡速度的時候,就算在提高生成速度(增加生怪面積等)也無濟於事
      通常是將怪物集中焚毀的怪物農場,會卡在怪物死亡速度。
      如果是摔落型的怪物農場,基本上怪物只要一動就會摔死,基本上是怪物生了很就
      死亡。這時候生怪面積越大,怪物能場的效率就越高,距離玩家32以上怪物會痴呆
      要追求這種高效率的通常是使用紅石機關將怪物推下。

  8.3 比較高空型跟平地型的怪物農場
      這兩種類型基本上基本條件都相同,唯一的差異性是就是高空的高度比較高。在生
      成演算法中的(3)是在chunk隨機選擇一點,高空型的的選擇範圍會比較多,條件完
      全相同的情況下,高空型的效率會略低於平地型的。

      選擇區域的差異如下圖:

                      建  
      128             築  
            建           
            築           
        0                
          平地型    高空型
  8.4 比較使用陷阱門、柵欄門及看板(1.1板以前 1.2之後只能使用陷阱門無其他選擇)
      由於陷阱門有體積,柵欄門及看板無體積,所以選擇柵欄門及看板效率會稍微好一
      點,不過很快的到了1.2之後怪物AI修改,只能使用陷阱門來讓怪物落下了


九、改版對於怪物農場的影響以及結語
    1.0   怪物在距離32以上開始不太移動,
    1.2   怪物AI更新只會誤認陷阱門不在誤認柵欄門跟看板
    1.2.x 天空高度增加到256,可以製作高空型怪物農場
    1.3.x 怪物更會發呆
    1.4.4 落下碰到水無傷害,落下式怪物農場需要做修正

    蓋怪物塔我累了,打這篇文章我也累了(?)


參考Mod、工具(?)

[1] Zan's Minimap
    http://www.minecraftforum.net/topic/1116564-
    http://www.planetminecraft.com/mod/zans-minimap/
Zan's Minimap 1.4.5 Minecraft Mod
The Minecraft Zan's Minimap 1.4.5 was contributed by MamiyaOtaru. YES it works in multiplayerIf you don't want to use Modloader, don't download the Modloader Version.  Just click Download Mod to get the No Modloader Required ...
 
[2] Rei's Minimap
    http://forum.minecraftuser.jp/viewtopic.php?t=153
    http://www.minecraftforum.net/topic/482147-
[3] Xray
    此MOD對於挖礦有點作弊,有幾個作者製作,請自行GOOGLE
[4] AMIDST
    http://www.minecraftforum.net/topic/626786-
[5] Spawnchecker
    http://forum.minecraftuser.jp/viewtopic.php?t=3835
[6] RadarBro
    http://www.minecraftforum.net/topic/1040810-
[7] ShowMonsters
    http://www.minecraftforum.net/topic/1544812-
[8] Bounding Box Outline Mod
    http://www.minecraftforum.net/topic/1538820-
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.50.123
※ 編輯: jeffffliu       來自: 111.254.50.123       (12/17 15:58)
zmanx:推這一篇值1000P幣1F 12/17 16:01
jeffffliu:其實這篇放進暫存檔案好幾次2F 12/17 16:15
nightkid:好文不m嗎?3F 12/17 16:16
becca945:喵~貓是不會摔傷的喔~喵~4F 12/17 16:18
cheko:專業推 打字辛苦了5F 12/17 16:36

--
※ 看板: nadoka 文章推薦值: 1 目前人氣: 0 累積人氣: 3785 
分享網址: 複製 已複製
( ̄︶ ̄)b huang961 說讚!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇