Threat, Intensity, Pacing (stages), Mini-Patrols and Roaming Enemies Spawning Deconstructed - r/Vermintide (2024)

This is pretty much an extra write-up following RwAoNrDdOsM's 5-year old VT2 Intervention Systems + Other Relevant Systems post, with additional information (i love spending 3 hours digging for one number!!!!!!!!!!).

To keep things relatively simple and relatable (while not overlapping too much), I've decided to talk about Threat Level, Intensity, Pacing and Ambience (roaming enemies) as these are both important to gameplay while being very intriguing.

Taken from RwAoNrDdOsM's post,

Threat value is a value that determines how many active enemies there are and how much of a threat they are to a player. Active enemies generally include patrols when they are in combat, Blightstormer’s Vortexes, any alerted enemies and any horde enemies. Enemies are generally deactivated when they can’t find a target (doesn’t apply to horde enemies) and when an enemy is killed.

If your threat level is high enough, no horde will be spawned until it is below the requirement.

https://preview.redd.it/07z56f496bed1.png?width=859&format=png&auto=webp&s=2e50fe81acbb857ae2f668cafb650342fa073070

Threat Values help designers (and us onslaught modders) estimate how "dangerous" a horde will be via assigning a number to every breed without needing to call 3 friends over and test it out. Albeit, this is a poor metric now (personally) due to how much the game has changed since 5 years ago, where your only super armour weapon was the pickaxe, a Chaos Warrior would take on-average a minute to kill, THP was on the level 25 row and Battle Wizard was considered a crutch.

Threat value interacts with two different systems, the first being the aforementioned delay_horde_threat_value, the second being delay_specials_threat_value, the third being delay_mini_patrol_threat_value.

delay_horde_threat_valuedelay_specials_threat_valuedelay_mini_patrol_threat_value
Recruit404035
Veteran505040
Champion606050
Legend6060N/A (presumed 50)
Cataclysm80100080
Cataclysm 21001000100
Cataclysm 31001000100
VersusN/A6050

delay_horde_threat_value and delay_specials_threat_value are both self-explanatory, stop horde/specials from spawning if the current Threat Level exceeds this value, while delay_mini_patrol_threat_value requires more information on "mini-patrols". But we'll get to that soon after we talk about Intensity.

Taken from RwAoNrDdOsM's post,

Intensity is a value applied to each player. It is used for going into different pacing states and its functions. Intensity is added when you take damage, when you are disabled (pounced) by a gutter runner, if you are downed, when you kill an enemy.

Intensity is split into three more systems:

  • Individual Intensity
  • Total Intensity (Sum of all alive player's intensity, divided by the number of alive players)
  • Peak Intensity Threshold

With Individual Intensity affecting Total Intensity; Total Intensity & Peak Intensity Threshold affecting Pacing. In the grand scheme of things, we only care about the former two.

There are several settings that Fatshark uses to tweak Intensity. Constant values are italic-ized-errrr and bolded whatever.

decay_delayThe number of seconds before Intensity starts to be reduced./
decay_per_secondThe amount of intensity reduced per second./
intensity_add_knockdownThe amount of intensity added per downed teammate./
intensity_add_nearby_killThe amount of intensity added per kill.1 / (The distance between the player and the killed enemy) 1*
intensity_add_per_percent_dmg_takenThe amount of intensity added per damage taken(Percent of total heath lost) (Intensity added per percent damage taken) * 100*
intensity_add_pounced_downThe amount of intensity added per disabled teammate (i.e. everytime the ! icon shows up)/
max_intensityThe maximum amount of intensity. Applies to both individuals and total intensity./

INDIVIDUAL & TOTAL INTENSITY VALUES

decay_delaydecay_per_secondintensity_add_knockdownintensity_add_nearby_killintensity_add_per_percent_dmg_takenintensity_add_pounced_downmax_intensity
Recruit32501110100
Veteran325011.510100
Champion32501110100
Legend425010.510100
Cataclysm625010.210100
Cataclysm 2625010.210100
Cataclysm 3625010.210100
Versus325010.910100

PEAK INTENSITY THRESHOLD VALUES

peak_intensity_threshold
Recruit45
Veteran50
Champion55
Legend70
Cataclysm80
Cataclysm 290
Cataclysm 390
Versus70

Now that we've defined Threat and Intensity, let's go back to mini-patrols.

Mini-Patrols, despite being called a "mini" patrol, are not actually patrols but are similar. They are pre-determined small horde compositions.

  • If the timer has expired and total intensity is within 1 and 15 and the maximum number of enemies still hasn't been hit, it spawns a mini_patrol. It also changes the state to "spawning" and updates the timer for the next mini patrol to 5s. Otherwise, it updates the timer for the next mini patrol to 2s.
  • If the state is "spawning" and the timer has expired, it changes the state to "running" and updates the timer for the next mini patrol to 20s.
  • If the state is "running" and there are less than three skaven_clan_rat and less than or equal to one skaven_storm_vermin, or the timer has expired, it changes the state to "waiting" and updates the timer for the next mini patrol to 15-20s.

tl;dr It checks every 2s to spawn a mini_patrol. If the check passes, spawn a mini_patrol with a frequency of 40 - 45s.

Congratulations, you have survived a massive difficulty jump. There's more.

Taken from RwAoNrDdOsM's post,

Pacing is the system that controls Specials Pacing, hordes and roaming enemies.

For the sake of simplicity, we'll only be focusing on the different stages of pacing.

1ST STAGE: PACING BUILD UP

  • When you exit the Safe Zone (area at the start of the map before you meet any enemies), Pacing will proceed to the 1st stage.
  • In this stage, hordes/specials/ambience can spawn.
  • Pacing will advance into 2nd stage if the Total Intensity is above the Peak Intensity Threshold.

2ND STAGE: PACING SUSTAIN PEAK

  • In this stage, hordes/specials/ambience can spawn.
  • This stage lasts for 3-5s.

3RD STAGE: PACING PEAK FADE

  • In this stage, hordes/specials CANNOT spawn. Ambience CAN spawn.
  • Pacing will advance into 4th stage if the Total Intensity is below 32.5.

4TH STAGE: PACING RELAX

  • In this stage, hordes/specials CANNOT spawn. Ambience CAN spawn.
  • Pacing will advance into 1st stage if relax_duration timer runs out OR if Total Intensity is 0 OR if a player is caught rushing.

RELAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX DURATION

relax_duration
Recruit50 - 70
Veteran35 - 45
Champion35 - 45
Legend25 - 35
Cataclysm25 - 35
Cataclysm 225 - 35
Cataclysm 325 - 35
Versus20 - 35

This is possibly the most annoying, most convoluted and most mysterious system within the game. Whatever the f*ck Fatshark cooked, they cooked something hot and spicy. Extra thanks to Osmium for teaching me all of these, as 3/4 of this section is just our discord dms, but rephrased. If we go all nitty-gritty detailed, then there's going to be a lot of technical jargon to be explained, so pardon for the generalization.

At the very start of a run, a random seed is generated and every "SpawnZone" is defined (manually btw, holy sh*t). There are the following types of possible zones.

  • Default
  • Default light
  • Skaven
  • Skaven light
  • Chaos
  • Chaos light
  • Beastmen
  • Skaven Beastmen
  • Chaos Beastmen

On load in, the game assigns factions and conflict directors for each zone. And any time the team crosses into a new zone, a new conflict director is loaded. This is why sometimes a Chaos horde can be coming at you, and then the team moves to a new area and the final wave can be Skaven or vice versa.

When players approach a spawn zone, it does a check of "how much stuff is alive? Do I need to spawn more? If yes, what do I need to spawn?" . It figures out what spawn zone it is and spawns a corresponding BreedPack (list of enemies), and it repeatedly spawns that breed pack until it achieves a goal "density area_density_coefficient" and then it stops.

However, in this context, we need to define what "density" is. In this case, "density" is proportional to the total number of spawned BreedPacks. There is no "space" or area dependence.

This is how Fatshark makes some regions harder and others easier. An example being the beach section of The Pit (my BTMP group calls it Normandy), or the toilet hole dropdown in Convocation of Decay.

Yet, they need to guarantee that a zone won't be too hard for a player, but the game won't know that until the team gets to the new spawn zone since there is no way to know ahead of time what the horde timers or intensity or threat levels will be when the team reaches a new spawn zone.

Thus, they have something called a "clamp", checking if they spawned too many elites and replacing them with others if they did. For my fellow modded comrades, this is why you fight a Total Warhammer Skaven army then walk into an empty room.

The third system is EnemyRecycler, which periodically checks if the game spawns too many enemies such that it causes excessive frame dips, while also despawning far-away enemies at a max rate of 6 per frame to free up space for more enemies.

All of these combined allows Fatshark to control the flow of gameplay. Threat and Intensity keeps players from being too overwhelmed by enemies, while Pacing stages and Ambience gives gameplay the rising tension and eventual climax. This took me 2 hours, please help, I am sick.

Go here if you want to see hordes explained, As again, feel free to ask any questions in the comments, and I'll try to answer them.

Threat, Intensity, Pacing (stages), Mini-Patrols and Roaming Enemies Spawning Deconstructed - r/Vermintide (2024)

References

Top Articles
Latest Posts
Article information

Author: Kareem Mueller DO

Last Updated:

Views: 6786

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Kareem Mueller DO

Birthday: 1997-01-04

Address: Apt. 156 12935 Runolfsdottir Mission, Greenfort, MN 74384-6749

Phone: +16704982844747

Job: Corporate Administration Planner

Hobby: Mountain biking, Jewelry making, Stone skipping, Lacemaking, Knife making, Scrapbooking, Letterboxing

Introduction: My name is Kareem Mueller DO, I am a vivacious, super, thoughtful, excited, handsome, beautiful, combative person who loves writing and wants to share my knowledge and understanding with you.