在《泰拉瑞亚》中,游戏自然不可能是一帆风顺的,会有这许许多多的怪物来干扰玩家的游戏进程,这些怪物的刷新遵循着一些机制与规则,今天小编就带大家详细的了解一下怪物的生成机制,一起来看看吧。
首先,刷怪到底是个什么过程?
在terraria中,怪物,生物和其他NPC们都会生成在一个固定距离外,并且依靠自己的AI进入玩家视线(靠近玩家)。这个过程就是生物的生成(NPC spawning),将这个过程以高效率进行就可以称之为刷怪。
怪物生成的速率,怪物生成的最大数量,生成怪物的种类都取决于时间、环境、深度(背景墙)和其他很多条件。
生成机制一:刷怪范围
当怪物生成程序运行的时候,会以玩家为中心确定一个刷怪范围,怪物会在这个范围内刷新。
这个范围是:左右62~84格,上下35~47格。反之,玩家左右62格内、84格外,上下35格内,47格外就不会进行生成怪物的程序(也就是不会刷怪)。记住这一点和视线范围没有任何关系,但可以以视线范围为参考大致划定刷怪范围。
此处奉上一张经典老图以便各位理解
因为刷怪范围与视线范围无关,所以在1920*1080分辨率下,怪物是可以生成在视线范围内的(不过大多数人的分辨率都是1440*900吧)
不过当玩家在地图的左右两边的时候,情况就不一样了。因为怪物生成的范围是以玩家为中心的,当玩家到左右两边时,怪物生成范围的边界就会在视线范围内,所以当在地图边界时,怪物就可以生成在视线范围内了。
1440*900分辨率下,全屏模式横向大概是85格,1920*1080分辨率下大概是120格。
机制二:生物消失机制
我们都知道生成机制中有个生成范围,其实也有一个消失范围,顾名思义,生物离开这个范围后将会消失(或者说处于非活跃状态)。
所有的生物(除城镇NPC和游商外)当远离玩家一定距离时都会消失。这个距离是以玩家为中心的横向左右共504格,纵向上下共283.5格(左右各252格,上下各146.75格),这个范围是1920*1080分辨率下全屏模式的屏幕面积的17.64倍。
也就是说,当一个生物(上面说的特例除外,还有BOSS)与玩家的距离大于这一范围时会消失;一次刷怪的尝试最终落在这个范围以外,那么也不会生成怪物。
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.
如何理解生成范围、消失范围和计时区域之间的关系呢?
举个例子:
A在以你为中心的可刷怪范围内生成了,但A在计时区域之外,所以过了12.5s, A就会消失。
如果A到了消失范围之外,那么A就会立刻消失,不论计时区域外的针对A的倒计时是否结束。
如果A在计时区域之内,那么A就永远不会消失,对A的计时也停止,直到A离开计时区域才会重新开始对A计时。
如果A在倒计时期间进入的计时区域,那么倒计时会暂停并清零,A离开计时区域时会重新开始倒计时。
机制三:影响刷怪的条件和生物生成过程
先说一个概念:关于刷怪—地图中每秒都会进行很多次生物生成的尝试程序,但并不是每次尝试都能成功。
有许多条件可以影响一次刷怪尝试的成功与否和刷怪的效率高低:
(熟记所有影响条件并合理利用可以最大限度增加场地效率)
1.生物不会在实体方块中生成
2.生成尝试不会在人工放置的背景墙区域内进行(意味着如果你把一片放置了人工背景墙的区域封闭起来,那么这片区域就不会刷怪)
3.当一次生成尝试落在岩浆(需要实体岩浆)上时,这次生成尝试就会被判定为失败,不会生成怪物(这与1,2条不同,前面的是生成尝试不会在那里进行,而这里是这次尝试不会生成生物,是变相的略微降低了刷怪效率)
4.生成一个生物需要比它的体积(碰撞箱)更大的区域才能正常生成。我们知道,terraria中最小生物也需要占用一格空间,所以我们就可以通过不断隔开一格高的空间来同样达到防止刷怪的目的。(示意图见下图)
注:在terraria中,生物的生成与光照无关
生物生成过程:
上图需要注意的地方:
1、固体方块和人工背景墙不会影响刷怪效率。所以可以通过填满大部分刷怪区域,只留下一个小空间来控制进行刷怪尝试的位置。
2、不论第一步随机到哪里,总是先移动到正下方的地面再刷怪(高空除外)。换句话说,不管刷怪空间多大,只需要一层地面。
3、第一步随机选择的方块是整个168x94矩形内的,包括玩家附近的安全区域。只是在之后的步骤中,如果下方的地面在安全区域中,刷怪会失败。也就是说,如果安全区域的地面正上方有太多空间,会导致刷怪失败的概率比较大从而影响效率。
4、“地面没有足够空间”是指自然地形中的小坑洼以及岩浆。
5、"*"所指的鹰身女妖是个特例,因为它并不在地面上生成,飞龙也是如此。
机制四:生成速率(spawn rate)
生物的生成速度也被生成速率所影响。
游戏中的每一帧都会根据生成速率的机制概率性生成怪物。
(速率值越大,生成速度越低,反之亦然)
每秒有60帧,所以速率值为600代表每秒有10%的几率生成一只怪物(每秒0.1只怪)
,100的值就代表每秒有45%的几率生成一只怪。(具体环境与生成速率值的对应见下一,二图,其中的max spawn后文会讲到,三图为中文翻译,将spwan rate直接转换为了生成速度—图作者@蒲氏黏盲鳗 )
正常状态下最小(快)的生成速率值为60,最大生成数量为15。
同时,可刷怪范围内怪物数量与所在环境最大生成量的占比也会影响生成速率。
当怪物数量为最大生成量的20%以下时,生成速率值会*0.6。
为最大生成量的65%以下时,生成速率值会*0.8。
为最大生成量的80%以下时,生成速率值会*0.9。
(永远不要忘了生成速率值越大,效率越低)
举个例子:当玩家所在的环境生成速率值为600,最大生成量为10时,只占用两个或更少的生成量时,生成速率值会降到360,直到刷出新的怪物。
这也就是为什么有的时候场地的怪物越多,刷怪的效率越慢的原因。
几个注意点:
NPC的存在大大降低了生物产生的速度,同时也减少了最大生物数量。 当3个或更多NPC或骷髅商人出现时,就不会生成怪物了。 但是史莱姆雨,海盗入侵,月亮事件(月球事件,南瓜月,霜月)等入侵事件会无视这个限制。
确定刷怪速率时,一些环境的刷怪速率会相互覆盖。 如腐化,地牢,陨石坑和丛林环境都是相互排斥的刷怪速率。 地牢环境拥有最高的优先级,然后是丛林,腐化,最后是陨石坑。 例如,如果陨石坑和丛林环境同时存在,这个复合环境将使用丛林的刷怪速率。(总结一下就是—多个环境重合时,将选择刷怪速率高的环境的刷怪速率作为这个复合环境的刷怪率的基准)
入侵事件(包括哥布林,雪人军团,海盗入侵和火星人入侵)和月球事件(月球事件/南瓜月/霜月)是一个特例; 他们无视任何增加刷怪速率或限制刷怪速率或生成量的物品(包括水蜡烛/战争药剂)
下图是能够改变刷怪速率的物品一览:
机制五:最大生成量
当游戏在一个区域内决定怪物的最大数量时,就会依据“最大生成量”(max spawns)这个机制。每个怪物都有自己的生成量的数值(这并不是按照有多少只怪物计算的)。
例如:蝙蝠的生成量数值为0.5,普通怪物为1,稀有怪(小boss,如冰巨人,圣骑士等)的数值通常为3,一个boss的数值为5,但雕像怪,boss召唤出的小怪(如钢铁吞噬者的激光眼,肉山的饿鬼和血蛭)不占用生成量。
注:长直类boss(如世界吞噬者,钢铁吞噬者)的每一节都会算作一个实体,如果你召唤了一个钢铁吞噬者,那么将占用80*5=400的生成量。
机制六:多人模式下的怪物生成
游戏中的每个玩家都会产生自己的敌怪物。 如果两个玩家在同一个区域,怪物的出现速度会比只有一个玩家快两倍。 但最大生成量的规则仍在使用,这意味着即使2名玩家在同一地点,也不能在现场附近收集两倍于最大数量的普通怪物。 (不要忘记,蝙蝠的生成量为1/2,一些特殊的敌人的生成量为2或更多。)
关于刷怪范围,有一点忘了提醒:
关于望远镜和狙击目镜,虽然它们能够增加视距,但是并不能像使用heros或cheatsheet mod那样看到怪物的生成(1920*1080分辨率屏幕除外),使用它们的时候,刷怪范围的中心则是以屏幕中心为准,而非玩家。
有一个大家可能会认识错误的点:仇恨值
在装备乌龟套,甲虫套,日耀套或血肉指虎的时候,我们会看到简介栏有“吸引敌人”之类的字样,但不要误认为它们会增加刷怪效率,它们的附加属性是增加仇恨值。
仇恨值是什么?当怪物和玩家有距离的时候,仇恨值越大,怪物就会在越远的地方开始主动攻击玩家,反之仇恨值小的话,怪物就会在离的近的情况下也不会攻击玩家,所以这和刷怪效率没有关联。
(但是,如果仇恨值大的话,处在较远的怪物就也会主动攻击玩家而不是游走在原地,这么说来也会略微增加效率,但增加的方式和那些药剂水蜡烛是不一样的)