SpawnControl

SpawnControl

授予游戏内实时控制怪物生成的能力,包括密度和权重

实用

 

对生物生成进行实时控制。

使用命令 "/spawncontrol"(或别名 "/spc")召唤用户界面,在其中你可以单独编辑全局、每个环境或每个环境中每种生物生成的设置。

 

你将能够调整每个环境的生物密度,以及每种生物的生成权重。

 

从 1.02 版本开始,你的设置会被保存,当你登录游戏时会自动应用。

 

 


 

以下是关于 Hytale 中生物生成的简要说明:

 

生成按环境进行,系统会定期创建“生成任务”,这些任务可能在一个随机区块中生成一个生物群(即一个预配置的大小为1或更大的生物群)。每个环境都有一个设定的“密度”,用于计算“预期 NPC 数量”,即该环境的 NPC 最大数量。“预期 NPC 数量”的计算方式如下:

expectedNPCs = segmentCount * density / 1024.0;

其中 density 是每个环境定义的上述值,segmentCount 本质上是对该环境大小的一种计算,依据加载的区块数量(如果该环境在你的世界中不存在,则 segmentCount 为 0)。如果 actualNPCs 值达到 expectedNPCs 值,系统将停止在该环境生成新的 NPC。

类似地,如果某种特定类型的实际生物数量超过 expectedNPCs 值的某个阈值,系统将开始移除该特定类型的 NPC。(如果实际数量 > (期望值*1.25 + 4),则会发生移除)

 

生成控制工具提供了一个“全局密度倍数”值,这个值并非游戏中的实际数值,而是此工具独有的。该值的作用是将每个环境的默认密度乘以你提供的倍数。请注意,这将**覆盖你已经设置的任何自定义环境密度设置**。如果你将此值设为 1.0,它将对所有环境使用游戏的默认生成密度。

该模组还暴露了一个名为“生成预算因子”的数值。生成预算因子默认是 1.0,用于计算 tick 列预算值。

tickColumnBudget = floor(spawnBudgetFactor * 20480.0);

每个 tick 内,所有生成任务都从上述可用的预算池中获取资源。最终,计算出一个“区块预算”,即 tickColumnBudget / 世界 TPS(每秒 30 次 tick),默认值为 682。单个生成任务每次尝试生成并失败时(尝试区块内的随机位置),会消耗 3 个预算,单次生成任务在放弃前最多消耗 64 个预算。如果总预算池耗尽(默认总预算为 682),系统将在该 tick 内停止任何生成尝试。