octopuscraft吧 关注:2,141贴子:44,165
  • 11回复贴,共1

【Confidential】FTF档案

取消只看楼主收藏回复

时间不多,更新会慢。
有错误欢迎大触指正!!!
==========我是华丽的分割线==========

FTF(1.7.9/1.7.10 地狱典藏版)镇楼!
村庄自动生成铁傀儡的机制加入Minecraft后,刷铁机作为一种低成本高回报的全自动装置,被玩家广泛应用于生存模式中。随着堆叠村庄机制(http://www.mcbbs.net/thread-119907-1-1.html)的发现以及利用,各式各样产量惊人的堆叠村庄刷铁机也逐渐出现并且在生存模式中得到众多玩家的广泛好评。堆叠村庄刷铁机优势明显。如果使用同样的物资量,堆叠村庄刷铁机相比普通刷铁机的效率更高,建造所花费的时间成本也更小,占用的空间也更少。但仔细观察几种比较有名的堆叠村庄刷铁机,比如Iron Trench(IT)、Iron Foundry(IF)(http://tieba.baidu.com/p/3119656454)、Iron Titan(http://tieba.baidu.com/p/3256399302)等等,我们都会发现,堆叠村庄刷铁机的耗材依然非常惊人,我们需要大量的木门和非透明方块。生存模式中,非透明方块我们可以简单地使用通过刷雪得到雪块、挖区块得到圆石等等,但木门的获得途径非常单一,我们只能通过加工原木来获得。堆叠村庄刷铁机一方面需要大量木门,例如IF的耗材就将近23组原木;而另一方面,传统的原木获取方法实在低效费力。因此,一种快速便捷地获得大量原木的方法便成了生存模式中迫切的需要。
大量原木难以快速便捷地获得,并不是因为树种稀少难以获得,而是受原木的收集方式所限,人工砍伐树木低效且费力。因此,设计一种树场,让木材的收集方法更佳高效省力,这就是研发FTF(Fast Tree Farm)树场的初衷。然而,FTF之前,就已经有生产效率远远超过FTF的巨型云杉树场。但巨型云杉树场的建造成本非常高昂,树场本身就需要非常多的铁、木材、红石和粘液球。且因为需要多只凋灵的缘故,一旦凋灵逃逸,将造成不可控的不良影响。另外,巨型云杉树场由于机械结构复杂,故障维修也不太方便。所以我们更需要一种性价比高、相对安全和便捷的树场,这也是研发FTF的终极目标。


IP属地:上海1楼2014-10-28 20:27回复
    FTF作为一种成熟的树场技术,已在OctopusCraft(下简称OC)研发并使用超过6个月。研发过程中OC成员对对不同的架构进行了充分的探讨和比较。待架构确定以后,经过多次分析和优化,才有了现在成熟的FTF。下面呈现的就是整个FTF系统的架构,之后我们将会从思路、技术、实际测试和发展历史等等方面,仔细地对每一个部分进行分析和说明。为了方便理解和记忆,每一个部分都使用了一个具有代表性的图案作为标记。

    FTF系统可以分为4个基本独立的子系统,每个子系统之中又可以分为2-3个联系较为紧密的部分。每个系统中的所有的元件都为了一个共同的目标而运作,这些目标是我们首先需要明确的。
    @FTF系统的目标:
    将桦木树苗和骨粉通过可AFK挂机的方式转化成为更多的桦木树苗和桦木原木。注意桦木树苗回收率大于1。

    @每个子系统的目标:
    1. 原木生成系统主要负责快速催熟树苗从而生成原木,然后将这些原木输出。
    2. 运输重组系统主要负责将原木生成系统生成并输出的原木运输到原木破坏系统。为了使原木生成系统和原木破坏系统互相配合,运输过程中还需要对原木进行转向和重组。
    3. 原木破坏系统主要负责将原木方块转化为原木掉落物。
    4. 后勤辅助系统主要负责原木的收集、树苗的回收以及骨粉的添加和其他关乎使用体验的非核心结构。
    请注意,这4个系统的完美整合方才是完整的FTF。当然,在具体的讨论过程中,我们可以只针对个别的系统开展,但这并不代表上述的某个系统就是FTF的全部。实际上,FTF中各个系统之间的匹配,也是非常重要的研究内容。
    那么下面我们就从原木生成系统开始。
    【原木生成系统】
    FTF的研发始于@CPV_covenant 提出的三发射器催熟以及配套的上推结构。当时,树木的催熟是单木连续处理树场效率的瓶颈。因此为了提高树场效率,最先的优化便是使用更多发射器来催熟。这种思路的引导下,CPV和Burst主要考虑到包括树木检测电路的布线和催熟效率之间的平衡,最后选用了这种3发射器催熟结构。
    请注意发射器不能被活塞推动,因此与1个发射器或者2个发射器不同,3个发射器的方案需要非常规的方式移动原木。不难想到将所有原木向上推动一格,然后横向推动(图中未搭建)的方案是可行而且最简洁的。从原木生成到上推的过程演示如下:



    树苗是透明方块,原木是非透明方块。正是由于这一点,一旦生成原木,同时生成的bud如果被触发的话,下方的活塞就会推动所有原木,如下图所示:


    注意泥土边上的方块必须为上方可放置红石导线的透明方块,倒置的半砖、楼梯、漏斗、萤石等等均可,原因很简单,避免无意形成的bud对上推活塞的影响。
    但这样存在一个明显的问题,因为泥土也是非透明方块,上推活塞伸长以后,bud造成的特殊供电方式依然有效,活塞不会收回。因此我们需要消除bud使得活塞收回才能进行下一次的种植。说的正规一些,就是输入一个负脉冲;说得通俗一点,就是“让导线闪一下”。这样一来,活塞结构复原了,而所有的原木也被向上推动了一格。

    虽然理论上行得通,但是一定有不少思路活跃的骚年已经发现问题了。我们该如何实现”导线闪一下“呢?我们借助于bud检测了原木的生成,虽然可以使得下方的活塞伸长,但却没有办法继续向外提供红石电路中的脉冲信号了。所以,我们需要另一个bud来检测下方活塞的伸长动作。根据这个bud输出的脉冲信号,我们就可以使得”导线闪一下“。当然,后面我们会发现,其实这个脉冲信号将会成为驱动很多结构的源头。
    为了不影响推动原木的活塞,我们使用了活塞的压缩bud来检测上推活塞的运动,如下图所示。其中两个活塞均为普通活塞,中继器延时2t。

    当上推活塞伸长,活塞压缩bud也会被触发,红石块将会被推动到右边,从而熄灭黄色羊毛电路上的火把(请仔细看图并脑补为何指向发射器们的导线点亮着),切断由于原木生成所形成bud的红石源,上推的活塞也会收回。这样,我们就能够实现对树木生成的检测并上推原木了。


    IP属地:上海15楼2014-10-30 19:12
    收起回复
      虽然前文所述已经尽可能简化了表达,但实际上瞬间的信息量依然没有减少。如果你没有被冲昏头脑的话,你一定会问这么一个不起眼而且甚至貌似还很渣但实际上却很关键的问题:
      上推活塞检测用了bud,那么更新从哪里来?
      。。。
      唔。既然要实现”时刻准备着“的连续检测的话,难道我们需要提供一个高频的时钟信号?貌似没有其他办法了。唉,好可惜呢,引入了一个熊孩子模块。不过等等。。。实际上,我们貌似不需要另外搭建一个专门提供更新的时钟了呢,还记得发射器是如何撒骨粉的么?(再说就啰嗦惹233)
      我们这样搭建好走道。走道末端将是AFK时玩家所站的位置。因此这里的石质压力版(仔细看233)负责提供是否有玩家站在指定位置的信息。

      当玩家站在AFK指定位置时,比较器高频将会输出一个5Hz的时钟信号,驱动发射器发射骨粉催熟树苗。

      关于驱动发射器的布线为何如此,虽然貌似没有必要如此布线,但实际上这牵扯到其他结构的布置,这里我们可以先忽略一下。

      与此同时,精彩的部分同样上演着:时钟信号同样为上推活塞提供更新,而且每个tick都提供更新。

      现在,我们得到的才是一个完整的上推结构。


      虽然上推的结构完整了,一般的骚年可能也会长”哦“一下研究其他结构了。但是一定有那种”喜欢钻牛角尖“的个别骚年询问一些更富有全局观的问题:为啥使用这个蛋疼的结构呢?
      对于这些骚年,我只想说一个字:
      大触!(大触不是一个字咩?触才是两个字!乃萌不要搞错惹!——机械红石学家3B)
      为了搞清楚这个问题,我们可以整理一下所有部分的方案:
      @上推驱动信号源
      1)充能检测
      2)树干bud检测
      3)树叶bud检测
      4)时钟信号
      5)y-bud检测
      6)水流bud检测
      @发射器数目
      1)3
      2)4
      发射器个数当然越多越好,但4个发射器带来的问题就是无法使用树干bud检测以及充能检测。而剩下可选的方案中,y-bud检测慢而且只能在白天使用,时钟信号和水流bud检测也不够快(均经过实验测试比较)。树叶bud检测却是一种很好的检测方式,但不可避免会造成树种的回收率下降。最后总结下来,有两套比较好的检测方案:
      1)4发射器,树叶bud检测。相对快,树苗回收率相对低。
      2)3发射器,树干bud检测。相对慢,树苗回收率相对高。
      那么我们为什么不使用4发射器而使用3发射器的蛋疼结构呢?这是一个好问题。
      FTF是一个为生存设计的树场,在追求速度的同时还需要考虑其他所有的因素。我们可以将FTF主要考虑的因素列出,然后根据重要性从大到小排列如下:
      1)稳定性
      2)鲁棒性
      3)可持续性
      4)用户体验
      5)运行速度
      6)电路体积
      7)美观
      虽然运行速度一直是树场的焦点,但实际上,运行速度并不是首先需要考虑的因素。作为一个成熟的树场,能够稳定运行以及面对意外情况时能够保证整个树场不会崩溃这两点是非常重要的。如果这两点做得不够,那么之后树场的速度追求就没有意义了;可持续性则是要求除了输入骨粉以外,树场消耗额外的物品的程度。显然,可持续性的箭头主要指向了树苗。用户体验无需细说,运行速度就是指单位时间内的产木量,电路体积和美观也无需过多解释。
      为了考虑FTF的稳定性,我们需要综合考虑产木速度和破木的速度。实际上,为了保证FTF的原木破坏系统有着最高的稳定性,我们会尽可能地选用更少的凋灵以及尽可能大的缓冲区域。因此虽然原木生产系统的产木速度可以很高,但受制于原木破坏系统的各方面制约,我们最后还是选择了3发射器结构。
      FTF系统不是一个纯红石机械,它是一个需要红石、机械、生物和玩家协同运作的系统,我们需要考虑各个部分工作时的互相匹配。所以,至少考虑到这一层,才算是对FTF系统有了一个全局的理解。
      另外,能够提出“为啥使用这个蛋疼的结构呢?”这个问题的骚年萌,我的评价只有两个字:
      触!(大触不是一个字咩?触才是两个字!乃萌不要搞错惹!——机械红石学家3B)


      IP属地:上海19楼2014-10-31 12:37
      收起回复
        话说先别急着加精啊。。。这个打算当草稿 然后给大家纠错 以后再整理个修订版的0.0 @maple_in_thu @Sysier


        IP属地:上海来自Android客户端21楼2014-10-31 13:57
        收起回复
          前面我们已经讲了原木的生成以及最初的原木上推过程,也分析了FTF选择三发射器方案的原因。下面我们就变需要将生成的原木推离泥土上方,这样才能够再次种植。那么我们应该如何在保证树木能够正常生长的情况下提高刷木速度呢?相信不难理解:
          1)更简单的活塞结构
          2)电路有更快的响应速度
          因此设计原木推送系统需要首先熟悉树木的生长条件。我们来看看MC中所有种类的树木。

          首先我们需要明确FTF的目的。FTF不是为了生产最多树木种类的树场,而仅仅是为了获得原木而已,且不论种类。因此,在考虑FTF生产原木种类的时候,我们需要首先考虑树木处理的便捷程度。所以显然,我们首先将所有树干截面2x2的树木以及不规则性状树干的树木排除。因此接下去的树木将在这些树木中选择:树干截面1x1的橡木、桦木、云杉和从林木。

          我们选择针对FTF的特点选择其生产的树木。考虑到的因素其重要性由高到低排序,有下几点:
          1)树苗回收率尽量大
          2)树木生长条件宽裕
          3)可较方便地限制生长方式
          关于1)这里无需做过多解释。而2)和3)的考虑最后决定了我们选择使用白桦木作为FTF的工作树木。
          根据经验所得,除了从林木,其他三种树木都可以有较大的树苗回收率。而关于树木生长条件,实际上除了云杉木需要截面5x5空间内无任何非树叶的其他方块,其他几种树木都允许在截面5x5的空间内可以有原木或者泥土方块。综合上面两点,我们的选择范围仅仅只有橡木和桦木了。照理说,这两种树木都应该可以作为FTF的工作树木种类,但橡木很可惜会有较小的几率生长成树干不规则的大树,因此在最后的这场角逐中,桦木脱颖而出最后成为了FTF的工作树木种类。
          顺带提一下,在1.7以前,桦木有着和云杉一样苛刻的生长条件。但1.7更多生物群系的更新以后,白桦木的生长条件变得不在苛刻,而是像橡木一样。因此FTF在1.7以前的版本是无法运行的。
          既然我们选择了白桦木作为工作树木,也清楚了其生长条件,那么下面我们就可以考虑如何在保证树木正常生长的情况下,尽可能地简化机械结构提高树场的效率。
          最初的想法大概就是这样了。简单,高速。但实际上,你需要考虑到石英块标注的范围内如果有非树叶、非原木或者非泥土的其他方块,那么树苗将无法生长成树木。这样的方案显然会令树场失去意义。

          所以接下去,当暂时没有考虑可行性的时候,我们很有可能会想到这样的方案。虽然使用了伪三级递归,但是显然树苗可以正常生长了。而且理论上,一旦这个结构运行起来,推动原木也是没有问题的。但是这个方案有着不少问题。

          主要的就是驱动方式的问题。不难想到,最前面的活塞我们该如何让他伸长呢?当然,肯定是有办法的。

          可以看到,这样的方案从架构上讲的确毫无问题。但是显然使用了伪3级递归活塞以及一个2级递归活塞怎么样也会增加树场的时序步骤。这背离了我们追求生产效率的目标。

          因此,考虑到追求产木效率的目标并借鉴了德芙V3的设计方案以后,我们还是选用了下图中的方案。

          伪2级递归的时序部分非常简单,仅仅一个ABBA切换器就能够实现时序。关于ABBA切换器的分析和理解,我们可以参考这里的讲解:7楼 Super Compact 4x4x4 Piston Door [10x6x13=780](http://tieba.baidu.com/p/3398534946)。当然下图中的仅仅是一个展示用电路,实际电路考虑到体积和布线相关,并不会设计成这样。


          IP属地:上海34楼2014-11-13 01:40
          回复
            一旦有了思路,那么具体方案的展开将会变得非常顺利。关于驱动线路以及活塞架构的布置,我们可以参考下面的几张图片。


            从图中可以看到,虽然实际上我们只需要2根原木柱子,但FTF中为了保证对称以凸显庄重的气质,最后我们还是选择了3根原木的柱子。
            通过下图的电路搭建,我们肯容易完成原木推送部分。



            可以看到这个结构可以完全正常工作。

            实际上,这个结构仍然有提速的余地。在早期的FTF版本中,FTF中使用的就是本方案。之后虽然经过多人的各种改动,但都没有实质上的提速,包括标题党NFTF。
            在不使用黑科技而是完全遵守着红石系统的“宏观规律”时,FTF即到达了这种架构下原木推送结构的速度极限。因此早期该核心技术的研制成功很大程度上对高速树场的发展有着巨大的意义。其不仅奠定了高速树场的基本架构,而且通过其对多种因素的考虑以及细节的优化,当时FTF能够获得原木生产效率上的巨大进步。这种方案下的FTF刷木部分,每分钟平均刷出约65棵树,也就是相当于每小时产木量可达到约23000。这也使得FTF模式得到极大的注意,并很好地为下一代高速树场奠定了理论基础和实践经验。


            IP属地:上海35楼2014-11-13 02:22
            收起回复
              但随着无延时技术在树场领域的广泛使用,FTF也已经不再是高速树场上的”第一梯队“了。经@duoduo_123dong 改进的FTF,成功利用了无延时技术将FTF刷木部分的延时减小了1t。改造后的FTF每分钟可以刷木72棵,其改动如下。


              可以看到为了提高树场的反应速度,这里使用了一个边沿无延时的中继器,也就是那个阻断红石导线的活塞。这成功地将原本活塞伸长到位才能供给能量的1t延时给减成了0t。通过原版ftf一分钟平均65棵树来计算,理论上运行周期少去1t之后,该优化的ftf理应一分钟产木60/(60/65-0.1)=72.897棵。实际测试结果为平均一分钟72棵(@duoduo_123dong 数据),测试结果与估算结果相吻合。
              当然,实际上其实其他的利用无延时黑科技,可以进一步减小二级活塞递推的运行时间。ftf中二级递推耗时2t,而实际上,对这个环节进行优化的ntf(发明者:@凤合草酸泥煤 @duoduo_123dong )可以让整个过程的运行时间减少到0。于是,树场的瓶颈成功从二级活塞组转移到了上推树干的部分,也实在是令人措手不及。当然,这些都是ntf的主要内容,这里我们便不展开讨论了。
              讲完了骨粉催熟以及原木推送部分,下面我们就自然而然进行到了树叶清理部分。这部分内容相对简单,因此这里我们不会做太多的分析。
              我们将粘性活塞与普通活塞如图放置。因为树叶只会生成在截面5x5的范围,因此只需要在这些地方放置活塞即可。


              用原木搭上你喜欢的图案。记得用原木或者泥土,原因在前面提及的树木生长条件。

              然后铺上线。记得中继器2t延时,另一侧也一样。

              放上粘性活塞和非透明方块,这里用的是蓝色羊毛,然后如此连线即可。

              注意这个缝隙同样会有树叶生成。因此活塞推动以后,也会掉落树苗。为了防止树苗乱飞以及有效地回收树苗,我们需要用方块将这个缝隙围起来。

              然后在下方布置漏斗。


              这样,就能够实现树叶的清理以及部分树苗的回收了。
              至此,【原木生成系统】就已经展现给大家了。下面为了思维的通顺和连贯,我们并不急于进入【原木重组系统】,而是先从【原木破坏系统】开始讲起。


              IP属地:上海41楼2014-11-17 04:09
              收起回复
                【原木破坏系统】
                Minecraft中破坏碰撞箱完整的非重力方块只有非常有限的方式,经过整理我们可以看见如下几种方块破坏的方法:
                1)玩家破坏。不适用于破坏基岩和末地传送门框架。
                2)Creeper爆炸。同样不适用于破坏基岩和末地传送门框架。
                3)TNT爆炸。同样不适用于破坏基岩和末地传送门框架。
                4)恶魂的火球。只能破坏个别抗爆炸系数较低的方块,如地狱岩、玻璃等等。
                5)凋灵的黑色之首。只能破坏个别抗爆炸系数较低的方块,如地狱岩、玻璃等等。
                6)凋灵的蓝色之首。不适用于破坏基岩和末地传送门框架。
                7)凋灵的啃食。不适用于破坏基岩和末地传送门框架。
                但因为考虑到需要破坏易燃的原木,因此恶魂的方案首先被排除。而Creeper和TNT的方案在破坏的方块时会造成损耗,部分方块不会掉落为物品。此外,Creeper难以快速大量获得,TNT则需要消耗大量沙子,因此这两个实在不是可以接收的方案。目前整理下来,也只有玩家破坏或者凋灵的三种破坏方式可供选择。

                (图:简单模式下困住凋灵的简易方法)
                凋灵是一种效用性生物,虽然灵魂沙比较廉价,但凋灵头颅并不易获得。虽然简单的生存模式下,困住凋灵并不困难。但普通和困难模式下,凋灵极具破坏性,因此想要保证对凋灵的控制,看似是一件根本不可能的事情。因此,最早的树场刷出的原木都使用手动破坏的方案,这也是过去的树场为人所诟病的原因。木头刷起来的确快,但是刷完以后呢?还不是自己砍么?因此实际效率一直无法提高。
                虽然我们已经得到结论,貌似可操作的方案只有手动破坏这一种。但新技术往往需要打破常规,质疑得到结论所用到的前提条件,我们才能得到更多的可能性。在树场的背景之下,这个令人感觉后背一凉的转折点就是:凋灵并非完全不可控制。这个貌似剑走偏锋的凋灵的控制技术(下简称凋灵技术),正是FTF【原木破坏系统】的核心技术,其也被广泛应用于其他半自动或者全自动机械,带来了前所未有的技术革命——凋灵革命。除了树场,造石机、黑曜石机、大型蘑菇机等等极大提高生产效率的机械如雨后春笋般被应用于实际生产。
                注:OctopusCraft为困难生存模式,下图中囚禁凋灵的方式与前一张图所示的并不相同。为了防止误解,特此说明。
                (2014.02.21 OctopusCraft中的初代FTF实景 Screenshots from 正正正正正好)

                (2014.04.26 OctopusCraft中的黑曜石机实景 Screenshots from 正正正正正好)

                但是,依然有一个问题,哪里能够获得大量的凋灵头颅呢?凋灵头颅是凋灵骷髅的凋落物,只能通过斩杀下届要塞中的凋灵骷髅才能获得。而凋灵头颅的掉落率极低,因此要快速获得凋灵头颅貌似也是不操作的。但凋灵骷髅究其根本也是生物,所以,我们应该有办法控制凋灵骷髅的生成,并根据其原理制作出相应的刷怪塔。
                Burst(915986386)和德芙(Defanive2)率先(很早,甚至早于Zipkrowd)发现并通过查询游戏源代码证实了地狱顶部基岩上方的下届要塞区域可以刷凋灵骷髅以后,据此发明设计的凋灵骷髅塔令凋零头颅的快速获得再也不只是空想。至此已经铲平了凋灵技术推广之路上的所有障碍。
                (OctopusCraft中世界首个凋灵骷髅塔渲染图 Designed by 915986386 & Maple_in_thu)

                (2014.06.06 OctopusCraft中新旧凋灵骷髅塔实景 Screenshots from 正正正正正好)




                关于凋灵革命的更多细节,可以参考OctopusCraft的Server Tour #1(OctopusCraft http://tieba.baidu.com/p/3276650035)。强烈建议各位好好体会一下凋灵革命给OctopusCraft带来的巨大影响,Server Tour #1视频的主线就是凋灵技术的发展。
                那么下面,我们就来看看,在困难的生存模式下,我们应该如何控制凋灵。


                IP属地:上海45楼2014-11-23 14:39
                收起回复
                  经卖可乐大触的指导,我们对上一帖的内容稍加修改:

                  所以经过整理,实现对凋灵的控制有以下几个关键点:
                  1)凋灵可以相对稳定地处于某个位置
                  2)凋灵的对外界环境没有破坏
                  3)不能过于频繁地伤害凋灵
                  显然,对于1)我们可以简单地使用圆石墙和4高的空间来固定凋灵的位置,而3)也不是非常难以实现。因此所有的焦点都停留在了2)的实现上。
                  还需要提醒的地方就是,仅仅考虑凋灵能否被关住是不够的,还有一点很容易忽略的关键就是,我们能否在生存模式下在指定位置生成凋灵并使得其爆炸破坏不会损伤现有结构。虽然不是技术难点,一般来说凋灵头部一桶水或者使用黑曜石就足够解决所有问题。但是忽略考虑的话,有时会带来不必要的麻烦。实际上,也正是因为凋灵生成时行为模式的变化,1.8中的凋灵更加难以控制,这也间接导致了部分凋灵笼子方案的失效。
                  经过大触们长期的摸索、创造、实验和测试,困难生存模式下凋灵笼子的实现,不外乎这几类方案:
                  1)可自动补充墙面的活体凋灵笼(不能用于简单模式)
                  2)基于凋灵AI的凋灵笼
                  3)暴力式基岩凋灵笼(仅限1.7.9、1.7.10)
                  这几类笼子各有各的不同,下面我们就来看看每种笼子究竟是什么样的。
                  1)可自动补充墙面的活体凋灵笼(不能用于简单模式)
                  这也是最容易想到的一种方案之一了。凋灵在没有锁定目标时会四射蓝色之首,那为何不对这蓝色之首加以利用呢?如果我们制造刷石机不断补充被凋灵炸坏的石头,这样不就能够控制凋灵并为我们所用了么?我们只要收集掉落的圆石,就能够省去我们不少劳动力。
                  所以凋灵技术的先驱者首先使用的就是这种构思下的凋灵笼子。比如Mackler在凋灵技术早期设计的凋灵造石机(Maple_in_thu【直播】mackler的原版生存(单机&服务器) http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113),通过顶部不断地补充石头来形成一个能够不断自我修复好像具有生命的凋灵笼子。该方案多次在OctopusCraft服务器中搭建,是生存初期有效的大规模石料来源。

                  图片来自 Maple_in_thu 4052楼【直播】mackler的原版生存(单机&服务器) (http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113
                  顶部的8台造石机不断地将石头送至下方补充墙面,其控制的核心就是这个周期8t的时钟信号发生器。

                  图片来自 Maple_in_thu 3939楼【直播】mackler的原版生存(单机&服务器) (http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113
                  底部的黑曜石能够有效防止生成过多的石头从而造成凋灵笼子对周围结构的破坏。

                  图片来自 Maple_in_thu 4022楼【直播】mackler的原版生存(单机&服务器) (http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113
                  收集装置可以负责收集因凋灵破坏而掉落圆石。

                  图片来自 Maple_in_thu 3032楼【直播】mackler的原版生存(单机&服务器) (http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113
                  为了能够防止凋灵生成时的爆炸,需要使用发射器来发出并收回水。

                  图片来自 Maple_in_thu 3977楼【直播】mackler的原版生存(单机&服务器) (http://tieba.baidu.com/p/3145679961?see_lz=1&pn=113
                  这种方案的凋灵笼子是凋灵技术最早期探索的成就。基于凋灵技术,这种造石机方案实现了全自动化生产。也就是说,不需要手工劳动,不需要挂机,不需要补充物资,不需要交易,仅仅在困难的生存模式下,只要这台机器所在的区块被加载着(比如将机器造在spawn chunk里或者使用chunk loader使其所在的区块active loaded),那么就会有源源不断的石料。实现一些原本认为不可能实现自动化,突破了思维常规,突破了当时对自动化机械的认知,肯定了凋灵技术的价值,就是这台机器的重要意义,也是至今我们依然对其高度评价的原因。
                  虽然这台机器有着跨时代的意义,但他的不足也是一只手数不过来的:效率低;事故率高;时钟信号不能停止;其凋灵笼子只能用于造石机;生成和杀死凋灵时不方便;不能用于简单模式;依赖于造石机的稳定性等等等等。所以最后这类方案并没有普及,也就是说,“堵”的办法并不是最好。


                  IP属地:上海49楼2014-12-04 05:12
                  收起回复
                    有趣的是,这种笼子还可以有另一种变种。参考之前提及的结构(左),将整个凋灵上移0.5格固定住也是可以的,这样就会得到下图所示新的结构(右)。

                    这种变种的好处非常明显,凋灵脚下的方块更少了,这有助于物品的收集。

                    比较像bug的是,顶部这样的结构并不会使凋灵啃食掉石头。当然,因为凋灵上移了0.5格,所以缝隙也要跟着上移0.5格。
                    3)暴力式基岩凋灵笼(仅限1.7.9、1.7.10)
                    1.7.9和1.7.10中,凋灵头颅出现了特殊的可雕刻基岩的bug,该bug的发现使得在这两个版本下的基岩可以以相对简单的方式精确雕刻,详见:Mackler半年前的帖子:【高效率雕刻基岩bug】Wither is Powerful(http://tieba.baidu.com/p/3044983174?share=9105&fr=share&qq-pf-to=pcqq.group)。于是生存模式下,基岩这种”战略性资源“又被用来制作稳定的凋灵笼子。基岩凋灵笼的具体做法可以参看OctopusCraft的Server Tour#1(http://tieba.baidu.com/p/3276650035?share=9105&fr=share),这里想着重强调一下他的稳定性。实际上,暴力式基岩凋灵笼是目前最稳定的凋灵笼子,这也是为何上镜率如此之高的原因。根据OC至少11个月的凋灵技术使用历史,其是目前已知的最稳定的凋灵笼。服务器中多台此种凋灵笼在运行至少超过两个月以后,仍无一例事故报告。

                    这种笼子使用基岩吸收凋灵的蓝色之首或灰色之首。但如果只需要控制住凋灵不会随意移动的话,上图中右侧的基岩结构已经足够,石头表示的则是不要求是基岩的方块。
                    但基岩凋灵笼需要选择一个合适的地方,那里的指定高度上必须有3x3基岩平台,且平台中心上2格高处也有基岩。在地狱顶部,这样的平台相对好找,而在主世界这样的结构是不可能找到的。因此在y=4高度处找到3x3基岩平台以后,我们往往在平台中心上2格的地方使用同样抗爆的黑曜石来制作凋灵笼。这种凋灵笼,前面提及的Server Tour#1中也同样有演示。但实践表明,服务器中这种笼子同样没有足够的稳定性。下图中展示的就是半年前Mackler在OC中搭建的主世界凋灵造石机。

                    图片来自 Maple_in_thu 244楼【逼格向】macklerの墨鱼服直播(http://tieba.baidu.com/p/2925919852?pn=9
                    关于FTF中凋灵笼子的选择,OCer也是经过了大量的实践才得到了比较好的方案。最早期的CPV为了尽可能减小凋灵出逃所带来的破坏,选择将FTF搭建在主世界底部基岩附近,凋灵笼则选用基于凋灵AI的凋灵笼。后来在Magnus的邀请下,本人也参与了FTF的设计研究,并同Magnus一起多次在地表附近搭建了同样带有基于凋灵AI的凋灵笼的FTF。但服务器中的稳定性问题一直得不到解决,凋灵事故屡屡发生,这也使得FTF在OC并未能够有效推广。但1.7.9的更新带来了福音,Mackler独立发现的凋灵头颅雕刻基岩的bug促成了OC中第一台真正稳定的FTF,而选址自然是在地狱顶层。至此以后,树场方面凋灵技术的使用基本转至地狱顶层。
                    考虑到真正的实用性而非概念,FTF的彻底实用化应该从凋灵头颅雕刻基岩的bug应用在FTF中开始算起,那时距离FTF概念的提出已经过去了至少4个月。CPV最早提出三发射器催熟以及上推结构,并于Burst一起实现了FTF概念;本人与Magnus一起对FTF的红石系统做了优化;而Mackler则对FTF的稳定性优化起到了至关重要的作用。之后,董多多又对已经定型的FTF红石系统进行了进一步的优化,使得FTF的潜力进一步得到发挥。FTF的发展,凝聚了多位OCer的共同努力,目前FTF已经得到了广泛的认可,其彻底的实用化对于后来效率更高的NTF也有着相当的参考意义。


                    IP属地:上海55楼2014-12-25 07:00
                    收起回复
                      2014.04.04 OctopusCraft创造服中完成的经过优化的FTF。主要的优化集中在重组部分。

                      图片来自:77楼 【备份】Magnus直播贴(mac代发)( http://tieba.baidu.com/p/3211223504?pn=3
                      【运输重组系统】并没有想象中的复杂,这是因为机械结构非常简单,实现基本功能没有问题,问题在于稳定性的优化。在【后勤辅助系统】中,我们遇到的是基本类似的问题。
                      【后勤辅助系统】
                      首先来看看原木的收集。这部分同样考虑的不是实现问题,而是优化问题。
                      不在地狱的凋灵笼在收集方面一般不会遇到大问题:水流可以很方便地重走掉落的原木。但如果选择使用位于地狱的全基岩凋灵笼,那么水流的方案就不能实施了,我们需要考虑收集基岩上方掉落的原木。
                      比较容易想到的方案就是借助于漏斗矿车隔地板吸物品的bug。不过需要注意,这个范围是偏向东南方向的([讨论] 漏斗矿车的bug http://www.mcbbs.net/thread-354571-1-1.html)。也就是说,下图中漏斗矿车可以吸走物品的范围是黑色玻璃中心的连线。

                      这样就对我们收集原木非常不利。假设下图中黑色玻璃代表的是凋灵站立的位置,那么中间的方块3/4区域的物品无法被漏斗矿车吸走。

                      为了解决这个问题,于是这样一格“卧槽”的结构就出现了。

                      其中4x4的漏斗矿车阵列偏心偏往西北角。这样,中间3x3区域内的原木都能被收集到了。当然,矿车底下是漏斗阵列的保证。

                      那么漏斗阵列我们是不是可以随意接在漏斗通路上面呢?答案显然是否定的。因为漏斗传送物品也是有速度的。
                      通过这个实验装置我们很容易知道漏斗横向传递物品的时间间隔为4t。也就是说漏斗接收到物品到重新把他漏走的最快时间间隔是4t。

                      这样可以得到物品在漏斗通路里面的传播速度:1/0.4格/秒=2.5格/秒。同样我们可以求得一个漏斗1秒内可以漏走物品2.5个。
                      对于FTF,如果按照每小时产生平均22560个原木(Mackler标准算法数据)来计算,平均每秒需要收集的原木数量约为6.3个。这说明,漏斗通路的横截面积不能少于3个漏斗(3个的话平均每秒能漏走7.5个物品,大于6.3个)。
                      因此,最后推荐的地狱FTF的收集方案是:

                      请注意,在搭建的时候,先释放凋灵后搭建如上的结构。这是因为凋灵生成时的爆炸会炸毁漏斗矿车。




                      IP属地:上海61楼2015-01-20 06:20
                      收起回复
                        我们能够大量收获原木了,树苗的回收前面也提到了,但是不是少了一些东西?哦,对。骨粉!我们改怎么加骨粉呢?
                        我们粗略估算骨粉的消耗速度。按照FTF在一个周期内消耗的骨粉数量不超过12个,而如果每个发射器都只有1个漏斗通路补充的话,一个周期接近10s的过程就足以补充约25个骨粉。因此我们基本不用担心一条漏斗通路供给不够!
                        还记得时钟电路奇怪的布线么?这里我们就可以看到我们为什么选择了这样的布线。

                        同样的,我们可以给其他的2个发射器连上漏斗通路。但我们发现有一个发射器比较困难,树苗回收的漏斗通路和他交错了。

                        人要聪明,要懂得变通。此处不留爷,自有留爷处。我们换个角度看问题。

                        诶?不过下面还是漏斗呀。漏斗会吸走上面容器里的物品,这样岂不是又玩完了?

                        于是80%的人会开始拆线。然后做个更大的电路, 把线分开来。但是作为OC成员,这点脾气还是要有的!偏不!虽然有点脾气,但也不是傻子。其实嘛,换成投掷器不就完了?


                        运行时,红石块来回抽动,激活投掷器,投掷器不就等于一个漏斗了?一个投掷器就能解决的问题,相信很多人会宁愿选择去造一个更大的电路,吃力不讨好。
                        下面,放上箱子和陷阱箱,尤其注意活塞边上不能放陷阱箱,这样FTF就完成了。当然下图中并不是完整的FTF,存在的意义仅仅是为了说明箱子的位置。



                        IP属地:上海62楼2015-01-20 06:56
                        收起回复