【18-04-28】怪物生成机制与高效刷怪场地建造

在这个贴讲解之前,请各位先看完以下内容:
1.这是我在这个吧发的第一个教程贴,希望各位多多包涵,有发现错误的请及时指出!
2.这个帖子主要讲解怪物的刷新机制和消失机制,以及各种高效刷怪场地是的建造和原理讲解。
3.我主要会按照 原理—应用 的顺序讲解,前面的机制部分可能会有点枯燥,但原理是一切应用的基础不是么?
4.在看完这个贴子之后,你应该能够理解刷怪机制并能够自己建造出高效的刷怪场地以便自己刷怪和向小伙伴装比使用。
5.这个刷怪系列我之前已经在pe的数个吧发过好几个贴子了,相信有小伙伴已经看过了,在这里发出来,以便这个贴子还未更完的时候,各位可以参见以下的贴子(说明以下,这些贴子讲解的均是pe的机制,pc的话有部分不适用!):https://tieba.baidu.com/p/5166757755
最后说明:
不要在这个贴子里刷楼水贴以及引战,我会作封禁删帖处理!
建议【只看楼主】以获得更好的观帖体验



楼主 dcfhft  发布于 2018-04-28 18:19:00 +0800 CST  
晚上更新。

楼主 dcfhft  发布于 2018-04-28 18:19:00 +0800 CST  
首先,刷怪到底是个什么过程?
在terraria中,怪物,生物和其他NPC们都会生成在一个固定距离外,并且依靠自己的AI进入玩家视线(靠近玩家)。这个过程就是生物的生成(NPC spawning),将这个过程以高效率进行就可以称之为刷怪。
怪物生成的速率,怪物生成的最大数量,生成怪物的种类都取决于时间、环境、深度(背景墙)和其他很多条件。

楼主 dcfhft  发布于 2018-04-28 19:57:00 +0800 CST  
生成机制一:刷怪范围
当怪物生成程序运行的时候,会以玩家为中心确定一个刷怪范围,怪物会在这个范围内刷新。
这个范围是:左右62~84格,上下35~47格。反之,玩家左右62格内、84格外,上下35格内,47格外就不会进行生成怪物的程序(也就是不会刷怪)。记住这一点和视线范围没有任何关系,但可以以视线范围为参考大致划定刷怪范围。
此处奉上一张经典老图以便各位理解


楼主 dcfhft  发布于 2018-04-28 22:30:00 +0800 CST  
因为刷怪范围与视线范围无关,所以在1920*1080分辨率下,怪物是可以生成在视线范围内的(不过大多数人的分辨率都是1440*900吧)
不过当玩家在地图的左右两边的时候,情况就不一样了。因为怪物生成的范围是以玩家为中心的,当玩家到左右两边时,怪物生成范围的边界就会在视线范围内,所以当在地图边界时,怪物就可以生成在视线范围内了。
1440*900分辨率下,全屏模式横向大概是85格,1920*1080分辨率下大概是120格。

楼主 dcfhft  发布于 2018-04-29 00:17:00 +0800 CST  
机制二:生物消失机制
我们都知道生成机制中有个生成范围,其实也有一个消失范围,顾名思义,生物离开这个范围后将会消失(或者说处于非活跃状态)。

所有的生物(除城镇NPC和游商外)当远离玩家一定距离时都会消失。这个距离是以玩家为中心的横向左右共504格,纵向上下共283.5格(左右各252格,上下各146.75格),这个范围是1920*1080分辨率下全屏模式的屏幕面积的17.64倍。
也就是说,当一个生物(上面说的特例除外,还有BOSS)与玩家的距离大于这一范围时会消失;一次刷怪的尝试最终落在这个范围以外,那么也不会生成怪物。

楼主 dcfhft  发布于 2018-04-29 09:52:00 +0800 CST  
Wiki上有一个“the inner rectangle”的概念:
它为一个内部矩形(在此称为计时区域),一个120*67.5格的区域(以玩家为中心),约等于1920×1080分辨率的屏幕区域的大小。 当一个生物在这个区域之外时,一个计时机制开始倒计时一段时间(默认情况下它是750ticks,或12.5秒,但是存在很多例外); 当它达到零时,生物会消失,不管它是否被视为活跃状态。生物 重新进入玩家的计时区域内会重置这个倒计时,这意味着这个计时区域内的生物永远不会消失。 较大实体的分段(长直类生物),只要头部保持活跃状态,如世界吞噬者,就不受这些计时机制的限制。
Wiki原文:
The inner rectangle, here referred to as the Timer region, is considerably smaller at 120 blocks wide by 67.5 blocks high, equal to a 1920x1080 screen region plus the size of the entity. While an NPC is outside this region, a timer begins to count down for a period of time (by default it is 750 ticks, or 12.5 seconds, but there exist a lot of exceptions); when it reaches zero, the NPC will despawn, no matter whether it is counted as active. Reentering a player's Timer region will reset this timer, meaning that NPCs that remain within this region will never despawn. Segments of a larger entity, such as the Eater of Worlds, are not subject to these timers as long as the head remains active.

楼主 dcfhft  发布于 2018-04-29 12:20:00 +0800 CST  
如何理解生成范围、消失范围和计时区域之间的关系呢?
举个例子:
A在以你为中心的可刷怪范围内生成了,但A在计时区域之外,所以过了12.5s, A就会消失。
如果A到了消失范围之外,那么A就会立刻消失,不论计时区域外的针对A的倒计时是否结束。
如果A在计时区域之内,那么A就永远不会消失,对A的计时也停止,直到A离开计时区域才会重新开始对A计时。
如果A在倒计时期间进入的计时区域,那么倒计时会暂停并清零,A离开计时区域时会重新开始倒计时。

楼主 dcfhft  发布于 2018-04-29 13:14:00 +0800 CST  
机制三:影响刷怪的条件和生物生成过程
先说一个概念:关于刷怪—地图中每秒都会进行很多次生物生成的尝试程序,但并不是每次尝试都能成功。
有许多条件可以影响一次刷怪尝试的成功与否和刷怪的效率高低:
(熟记所有影响条件并合理利用可以最大限度增加场地效率)
1.生物不会在实体方块中生成
2.生成尝试不会在人工放置的背景墙区域内进行(意味着如果你把一片放置了人工背景墙的区域封闭起来,那么这片区域就不会刷怪)
3.当一次生成尝试落在岩浆(需要实体岩浆)上时,这次生成尝试就会被判定为失败,不会生成怪物(这与1,2条不同,前面的是生成尝试不会在那里进行,而这里是这次尝试不会生成生物,是变相的略微降低了刷怪效率)
4.生成一个生物需要比它的体积(碰撞箱)更大的区域才能正常生成。我们知道,terraria中最小生物也需要占用一格空间,所以我们就可以通过不断隔开一格高的空间来同样达到防止刷怪的目的。(示意图见下图)
注:在terraria中,生物的生成与光照无关


楼主 dcfhft  发布于 2018-04-29 15:48:00 +0800 CST  
生物生成过程:
图片来自@fly_虫子_,因为是潜水的人就不蓝了
上图需要注意的地方:
1、固体方块和人工背景墙不会影响刷怪效率。所以可以通过填满大部分刷怪区域,只留下一个小空间来控制进行刷怪尝试的位置。
2、不论第一步随机到哪里,总是先移动到正下方的地面再刷怪(高空除外)。换句话说,不管刷怪空间多大,只需要一层地面。
3、第一步随机选择的方块是整个168x94矩形内的,包括玩家附近的安全区域。只是在之后的步骤中,如果下方的地面在安全区域中,刷怪会失败。也就是说,如果安全区域的地面正上方有太多空间,会导致刷怪失败的概率比较大从而影响效率。
4、“地面没有足够空间”是指自然地形中的小坑洼以及岩浆。
5、"*"所指的鹰身女妖是个特例,因为它并不在地面上生成,飞龙也是如此。


楼主 dcfhft  发布于 2018-04-29 16:44:00 +0800 CST  
机制四:生成速率(spawn rate)
生物的生成速度也被生成速率所影响。
游戏中的每一帧都会根据生成速率的机制概率性生成怪物。
(速率值越大,生成速度越低,反之亦然)
每秒有60帧,所以速率值为600代表每秒有10%的几率生成一只怪物(每秒0.1只怪)
,100的值就代表每秒有45%的几率生成一只怪。(具体环境与生成速率值的对应见下一,二图,其中的max spawn后文会讲到,三图为中文翻译,将spwan rate直接转换为了生成速度—图作者@蒲氏黏盲鳗)
正常状态下最小(快)的生成速率值为60,最大生成数量为15。




楼主 dcfhft  发布于 2018-04-29 23:59:00 +0800 CST  
机制五:最大生成量
当游戏在一个区域内决定怪物的最大数量时,就会依据“最大生成量”(max spawns)这个机制。每个怪物都有自己的生成量的数值(这并不是按照有多少只怪物计算的)。
例如:蝙蝠的生成量数值为0.5,普通怪物为1,稀有怪(小boss,如冰巨人,圣骑士等)的数值通常为3,一个boss的数值为5,但雕像怪,boss召唤出的小怪(如钢铁吞噬者的激光眼,肉山的饿鬼和血蛭)不占用生成量。
注:长直类boss(如世界吞噬者,钢铁吞噬者)的每一节都会算作一个实体,如果你召唤了一个钢铁吞噬者,那么将占用80*5=400的生成量。

楼主 dcfhft  发布于 2018-04-30 23:29:00 +0800 CST  
机制六:多人模式下的怪物生成
游戏中的每个玩家都会产生自己的敌怪物。 如果两个玩家在同一个区域,怪物的出现速度会比只有一个玩家快两倍。 但最大生成量的规则仍在使用,这意味着即使2名玩家在同一地点,也不能在现场附近收集两倍于最大数量的普通怪物。 (不要忘记,蝙蝠的生成量为1/2,一些特殊的敌人的生成量为2或更多。)

楼主 dcfhft  发布于 2018-05-01 01:11:00 +0800 CST  
关于刷怪范围,有一点忘了提醒:
关于望远镜和狙击目镜,虽然它们能够增加视距,但是并不能像使用heros或cheatsheet mod那样看到怪物的生成(1920*1080分辨率屏幕除外),使用它们的时候,刷怪范围的中心则是以屏幕中心为准,而非玩家。

楼主 dcfhft  发布于 2018-05-01 11:20:00 +0800 CST  
有一个大家可能会认识错误的点:仇恨值
在装备乌龟套,甲虫套,日耀套或血肉指虎的时候,我们会看到简介栏有“吸引敌人”之类的字样,但不要误认为它们会增加刷怪效率,它们的附加属性是增加仇恨值。
仇恨值是什么?当怪物和玩家有距离的时候,仇恨值越大,怪物就会在越远的地方开始主动攻击玩家,反之仇恨值小的话,怪物就会在离的近的情况下也不会攻击玩家,所以这和刷怪效率没有关联。
(但是,如果仇恨值大的话,处在较远的怪物就也会主动攻击玩家而不是游走在原地,这么说来也会略微增加效率,但增加的方式和那些药剂水蜡烛是不一样的)

楼主 dcfhft  发布于 2018-05-01 11:33:00 +0800 CST  
关于怪物生成的机制就讲到这里,提醒一下只看楼主的吧友,42楼和47楼还有两个部分是我用小号发的,请注意一下,关于刷怪场地的建造留到周末再继续讲解,在此期间有什么不理解的可以提出问题,我会尽量给予解答。

楼主 dcfhft  发布于 2018-05-01 11:46:00 +0800 CST  
那么如何建造一个刷怪场地呢?
为了更好的应用刷怪机制,我们可以建造出来刷怪场地,通过在场地内快速生成怪物,快速击杀来达到刷怪的目的。
首先讲述的是最简单,同时效率也很高的一种场地,因为场地范围的形状和刷怪范围一样,我个人称之为矩形场地。
如何建造这种简单的场地呢?首先要明白它的工作原理,这种场地当然很简单啦,上面也都说过了,那就不多说废话了。
(地上场地)
1.首先明确你要刷的怪物所属的环境
2.找到一个合适的地形(以地面平坦为最佳)
3.使用可穿墙的道具探明场地下方20格内有无空洞(有空洞的话怪物会刷在洞内影响效率)
4.确定你的场地的范围(以刷怪范围为准自行确定,一定要将场地的地面控制在可刷怪范围内,否则可是刷不了怪物的)
5.讲场地内的地面\空中的方块挖平坦\挖掉(如果想要美观的话可以敲掉背景墙,但自然背景墙与刷怪效率无关)
6.将其他你不想让它刷怪的区域铺设上岩浆以防刷怪(这是最简单的方式,其实造成的效率损失可以忽略不计)
7.在场地上方建造一个供你站着和保护自己的“据点”(高度的话,保证第四点括号内的要求即可)
附图以供参考






楼主 dcfhft  发布于 2018-05-05 14:36:00 +0800 CST  
普通刷怪场地的建造就说到这里。看到这里你应该能够理解透彻刷怪机制并能应用到普通的刷怪场地的建造和优化上,下面我将讲一些刷怪机制与其他机制的结合所建造的有趣(有用)装置

楼主 dcfhft  发布于 2018-05-05 21:24:00 +0800 CST  
忘了说一点
产生的敌人类型取决于许多因素,包括但不限于:
1.时间
2.天气(例如,生成愤怒的雨云和冰巨人需要雨/暴雪)
3.深度
4.地图上的相对X坐标(如海洋和其他位置)
5.目前的环境(腐化,流星,丛林等)
6.地面方块类型
7.自然背景墙(如地牢砖墙,神庙砖墙,蜘蛛洞墙等)
8.特别事件(血月,日食,入侵事件等)
9.不同端的不同版本(如pc,pe,3ds,psv,ps4,xbox等)
这些都是你建造场地时应该考虑到的条件

楼主 dcfhft  发布于 2018-05-06 00:10:00 +0800 CST  
应用一:多环境刷怪场
原作者已不可考,本贴的参考图片来自@hongzhilili(感谢)
什么叫做多环境刷怪场呢?就是只在单个场地里可以刷多个环境的怪物,但可以不是同时刷(其实也很难做到),只要在一个场地里能够刷多个环境的怪物就可以称之为多环境刷怪场。(见下图1,2)
原理:所刷怪物的所属环境还有另一个判定标准,在玩家附近的所有可刷怪区域,如果这些区域下方的地面全部是同一环境的环境方块的话(也可能允许少量其他环境方块存在),那么就会刷所属环境的怪物,而不需要达成构成环境所需的方块数量。(前提除地面周围的方块不能构成环境干扰,最好是不能构成环境的方块)
所以我们就可以在一个场地内的地面铺设多层如上所述的环境方块,然后全部虚化,当想刷对应环境的怪物时再实化相应方块,以达到刷多个环境的目的(见图三)




楼主 dcfhft  发布于 2018-05-06 01:27:00 +0800 CST  

楼主:dcfhft

字数:7323

发表时间:2018-04-29 02:19:00 +0800 CST

更新时间:2021-03-06 05:08:41 +0800 CST

评论数:474条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看