Difference between revisions of "Monster Generation"

From DRL Wiki

Jump to: navigation, search
(Updated/corrected values and reordered based on minimum depth)
(Big update for 0.10)
 
Line 3: Line 3:
 
Each monster has a minimum dlevel, a maximum dlevel, a weight, and a danger rating. Minimum level and maximum level determine whether the monster can appear on a floor at all. Weight indicates relative likelihood of appearing. Danger indicates (inversely) how many can be generated.
 
Each monster has a minimum dlevel, a maximum dlevel, a weight, and a danger rating. Minimum level and maximum level determine whether the monster can appear on a floor at all. Weight indicates relative likelihood of appearing. Danger indicates (inversely) how many can be generated.
  
The displayed minimum level is valid for ITYTD and HNTR, and it is smaller at higher difficulties (-3 for HMP and -6 for UV/N!), which means that tougher monsters start appearing earlier in the game. Other values are unaffected by difficulty.
+
The displayed minimum level is valid for ITYTD and HNTR, and it is lower at higher difficulties (-3 for HMP and -6 for UV/N!), which means that tougher monsters start appearing earlier in the game. Other values are unaffected by difficulty.
  
For the more all enemies that can normally spawn, here are the values.
+
For all enemies that can normally spawn, here are the values.
 
{| style="rules: cols; border: 2px solid darkred; border-spacing: 0; font-size: 90%; margin: 0.25em 0.5em; text-align: right"
 
{| style="rules: cols; border: 2px solid darkred; border-spacing: 0; font-size: 90%; margin: 0.25em 0.5em; text-align: right"
 
|colspan=5 style="background: darkred; color: yellow; font-size: 120%; text-align: center"|'''Monster Generation Parameters'''
 
|colspan=5 style="background: darkred; color: yellow; font-size: 120%; text-align: center"|'''Monster Generation Parameters'''
Line 106: Line 106:
 
|-
 
|-
 
|style="text-align: left"|[[Nightmare imp]]
 
|style="text-align: left"|[[Nightmare imp]]
|30
+
|30{{Rollover|*|Can spawn earlier than this in vaults on UV/N!.|?}}
 
|60
 
|60
 
|8
 
|8
 
|6
 
|6
 
|- style="background: #333;"
 
|- style="background: #333;"
 +
|style="text-align: left"|[[Nightmare soul]]
 +
|30{{Rollover|*|Does not naturally spawn by itself, but will start spawning in monster groups at this depth.|?}}
 +
|N/A
 +
|0
 +
|4
 +
|-
 
|style="text-align: left"|[[Elite former human]]
 
|style="text-align: left"|[[Elite former human]]
 
|40
 
|40
Line 116: Line 122:
 
|4
 
|4
 
|6
 
|6
|-
+
|- style="background: #333;"
 
|style="text-align: left"|[[Nightmare demon]]
 
|style="text-align: left"|[[Nightmare demon]]
|40
+
|40{{Rollover|*|Can start spawning in monster groups at floor 35, and even earlier in caves and vaults on UV/N!.|?}}
 
|N/A
 
|N/A
 
|6
 
|6
 
|8
 
|8
 +
|-
 +
|style="text-align: left"|[[Bruiser brother]]
 +
|40{{Rollover|*|Can possibly spawn much earlier than this in the Hell Noble-only levels, even in standard game depths.|?}}
 +
|N/A
 +
|6
 +
|14
 
|- style="background: #333;"
 
|- style="background: #333;"
|style="text-align: left"|[[Nightmare cacodemon]]
+
|style="text-align: left"|[[Nightmare knight]]
|51
+
|41
 
|N/A
 
|N/A
 
|6
 
|6
|10
+
|12
|-
+
|-  
 
|style="text-align: left"|[[Nightmare arachnotron]]
 
|style="text-align: left"|[[Nightmare arachnotron]]
|50
+
|50{{Rollover|*|Can start spawning as early as floor 40 in caves.|?}}
 
|N/A
 
|N/A
 
|4
 
|4
 
|12
 
|12
 
|- style="background: #333;"
 
|- style="background: #333;"
|style="text-align: left"|[[Bruiser brother]]
+
|style="text-align: left"|[[Nightmare cacodemon]]
|50
+
|51{{Rollover|*|Can spawn earlier than this in caves and vaults, especially on harder difficulties.|?}}
 
|N/A
 
|N/A
 
|6
 
|6
|14
+
|10
|-
+
|-  
 
|style="text-align: left"|[[Elite former sergeant]]
 
|style="text-align: left"|[[Elite former sergeant]]
 
|60
 
|60
Line 146: Line 158:
 
|3
 
|3
 
|8
 
|8
 +
|- style="background: #333;"
 +
|style="text-align: left"|[[Shambler]]
 +
|60{{Rollover|*|Can possibly spawn as early as floor 50 in rare Shambler-only levels on HMP+.|?}}
 +
|N/A
 +
|3
 +
|14
 +
|-
 +
|style="text-align: left"|[[Nightmare revenant]]
 +
|60
 +
|N/A
 +
|6
 +
|15
 
|- style="background: #333;"
 
|- style="background: #333;"
 
|style="text-align: left"|[[Elite former captain]]
 
|style="text-align: left"|[[Elite former captain]]
Line 152: Line 176:
 
|3
 
|3
 
|10
 
|10
|-
+
|-  
 +
|style="text-align: left"|[[Nightmare elemental]]
 +
|70{{Rollover|*|Can start spawning in monster groups at floor 60, and even earlier in caves at floor 50.|?}}
 +
|N/A
 +
|3
 +
|16
 +
|- style="background: #333;"
 
|style="text-align: left"|[[Lava elemental]]
 
|style="text-align: left"|[[Lava elemental]]
 
|70
 
|70
Line 158: Line 188:
 
|1
 
|1
 
|16
 
|16
 +
|-
 +
|style="text-align: left"|[[Cyberdemon]]
 +
|70{{Rollover|*|Can possibly spawn as early as floor 50 in rare Cyberdemon-only levels on HMP+.|?}}
 +
|N/A
 +
|1
 +
|30
 
|- style="background: #333;"
 
|- style="background: #333;"
|style="text-align: left"|[[Shambler]]
+
|style="text-align: left"|[[Nightmare mancubus]]
|80
+
|75
 
|N/A
 
|N/A
|3
+
|4
|14
+
|15
|-
+
|-  
 
|style="text-align: left"|[[Elite former commando]]
 
|style="text-align: left"|[[Elite former commando]]
|80
+
|80{{Rollover|*|Can start spawning in monster groups at floor 70.|?}}
 
|N/A
 
|N/A
 
|2
 
|2
Line 172: Line 208:
 
|- style="background: #333;"
 
|- style="background: #333;"
 
|style="text-align: left"|[[Agony elemental]]
 
|style="text-align: left"|[[Agony elemental]]
|80
+
|80{{Rollover|*|Can possibly spawn in caves as early as floor 50 on HMP+ difficulty.|?}}
 
|N/A
 
|N/A
 
|1
 
|1
 
|20
 
|20
|-
+
|-  
|style="text-align: left"|[[Cyberdemon]]
+
|style="text-align: left"|[[Nightmare arch-vile]]
 
|80
 
|80
|N/A
 
|1
 
|30
 
|- style="background: #333;"
 
|style="text-align: left"|[[Nightmare arch-vile]]
 
|90
 
 
|N/A
 
|N/A
 
|3
 
|3
Line 274: Line 304:
 
|N/A
 
|N/A
 
|2
 
|2
 +
|}
 +
 +
The following monster groups will only appear in deeper levels of [[Angel of 100]] and [[Archangel of 666]]:
 +
 +
{|style="rules: cols; border: 2px solid darkred; border-spacing: 0; font-size: 90%; margin: 0.25em 0.5em; text-align: right"
 +
|colspan=4 style="background: darkred; color: yellow; font-size: 120%; text-align: center"|'''A100-exclusive Monster Groups'''
 
|-
 
|-
 +
|style="text-align: left"|'''Monsters'''
 +
|style="text-align: left; padding-left: 1ex"|'''Minimum'''
 +
|style="text-align: left; padding-left: 1ex"|'''Maximum'''
 +
|style="text-align: left; padding-left: 1ex"|'''Weight'''
 +
|- style="background: #333;"
 +
|style="text-align: left"|4-9 × nightmare soul
 +
|30
 +
|59
 +
|4
 +
|-
 +
|style="text-align: left"|2 × baron of hell, 2-6 × nightmare imp
 +
|30
 +
|59
 +
|4
 +
|- style="background: #333;"
 
|style="text-align: left"|2 × pain elemental, 2-5 × cacodemon
 
|style="text-align: left"|2 × pain elemental, 2-5 × cacodemon
 
|30
 
|30
 
|N/A
 
|N/A
 
|4
 
|4
 +
|-
 +
|style="text-align: left"|3-5 × nightmare demon
 +
|35
 +
|49
 +
|4
 +
|- style="background: #333;"
 +
|style="text-align: left"|4-8 × nightmare demon
 +
|50
 +
|N/A
 +
|4
 +
|-
 +
|style="text-align: left"|2 × nightmare knight, 4-8 × nightmare imp
 +
|60
 +
|N/A
 +
|4
 +
|- style="background: #333;"
 +
|style="text-align: left"|2 × nightmare elemental, 4-6 × nightmare soul
 +
|60
 +
|N/A
 +
|4
 +
|-
 +
|style="text-align: left"|2 × nightmare knight, 2-3 × elite former captain, 2-3 × elite former sergeant
 +
|70
 +
|N/A
 +
|3
 +
|- style="background: #333;"
 +
|style="text-align: left"|1 × elite former commando, 2-3 × elite former captain, 2-3 × elite former sergeant
 +
|70
 +
|N/A
 +
|2
 +
|-
 +
|style="text-align: left"|3-6 × nightmare arachnotron
 +
|70
 +
|N/A
 +
|2
 +
|- style="background: #333;"
 +
|style="text-align: left"|1-3 × lava elemental, 2-3 × shambler
 +
|75
 +
|N/A
 +
|1
 +
|-
 +
|style="text-align: left"|1 × cyberdemon, 4-8 × baron of hell
 +
|80
 +
|N/A
 +
|2
 +
|- style="background: #333;"
 +
|style="text-align: left"|1 × agony elemental, 3-8 × nightmare cacodemon
 +
|85
 +
|N/A
 +
|2
 +
|-
 +
|style="text-align: left"|1 × nightmare arch-vile, 2-3 × elite former captain, 2-3 × elite former sergeant, 3-6 × elite former human
 +
|90
 +
|N/A
 +
|2
 +
|- style="background: #333;"
 +
|style="text-align: left"|1 × cyberdemon, 3-6 × bruiser brother
 +
|90
 +
|N/A
 +
|1
 +
|-
 +
|style="text-align: left"|2-4 × nightmare mancubus
 +
|95
 +
|149
 +
|2
 +
|- style="background: #333;"
 +
|style="text-align: left"|2-4 × nightmare revenant
 +
|95
 +
|149
 +
|2
 +
|-
 +
|style="text-align: left"|2 × nightmare arch-vile, 2-4 × nightmare mancubus, 2-4 × nightmare revenant
 +
|100
 +
|N/A
 +
|2
 +
|- style="background: #333;"
 +
|style="text-align: left"|2 × nightmare arch-vile, 2-5 × nightmare mancubus
 +
|150
 +
|N/A
 +
|2
 +
|-
 +
|style="text-align: left"|2 × nightmare arch-vile, 2-5 × nightmare revenant
 +
|150
 +
|N/A
 +
|2
 
|}
 
|}
  

Latest revision as of 04:36, 4 September 2025

Technical
This article discusses technical aspects of DoomRL and will be of limited interest to most players.

Each monster has a minimum dlevel, a maximum dlevel, a weight, and a danger rating. Minimum level and maximum level determine whether the monster can appear on a floor at all. Weight indicates relative likelihood of appearing. Danger indicates (inversely) how many can be generated.

The displayed minimum level is valid for ITYTD and HNTR, and it is lower at higher difficulties (-3 for HMP and -6 for UV/N!), which means that tougher monsters start appearing earlier in the game. Other values are unaffected by difficulty.

For all enemies that can normally spawn, here are the values.

Monster Generation Parameters
Monster Minimum Maximum Weight Danger
Former human 0 12 10 1
Former sergeant 2 15 10 2
Former captain 5 15 10 3
Imp 0 17 8 2
Demon 4 20 6 4
Lost soul 6 16 10 3
Hell knight 9 15 6 6
Cacodemon 10 50 6 6
Pain elemental 10 40 4 6
Former commando 12 21 6 7
Baron of hell 12 N/A 6 10
Arachnotron 13 50 4 9
Revenant 13 N/A 5 12
Mancubus 15 N/A 7 12
Arch-vile 16 N/A 4 14
Nightmare imp 30* 60 8 6
Nightmare soul 30* N/A 0 4
Elite former human 40 80 4 6
Nightmare demon 40* N/A 6 8
Bruiser brother 40* N/A 6 14
Nightmare knight 41 N/A 6 12
Nightmare arachnotron 50* N/A 4 12
Nightmare cacodemon 51* N/A 6 10
Elite former sergeant 60 90 3 8
Shambler 60* N/A 3 14
Nightmare revenant 60 N/A 6 15
Elite former captain 70 N/A 3 10
Nightmare elemental 70* N/A 3 16
Lava elemental 70 N/A 1 16
Cyberdemon 70* N/A 1 30
Nightmare mancubus 75 N/A 4 15
Elite former commando 80* N/A 2 14
Agony elemental 80* N/A 1 20
Nightmare arch-vile 80 N/A 3 20

Additionally, the are monster groups. Monsters groups have their own minimum and maximum levels and weights that are used instead of the values for the the individual monsters. The effective danger of a group is the sum of the dangers of its monsters.

Monster Groups
Monsters Minimum Maximum Weight
1 × former sergeant, 2-6 × former human 7 16 10
5-8 × imp 5 8 10
1 × hell knight, 2-6 × imp 9 12 10
4-9 × demon 10 22 4
1 × baron of hell, 4-9 × imp 13 21 10
1 × pain elemental, 3-8 × lost soul 13 25 8
1 × former commando, 2-6 × former sergeant 15 21 10
1 × baron of hell, 2-4 × hell knight 20 N/A 4
3-6 × arachnotron 20 N/A 3
2 × arch-vile, 4 × former captain, 4 × former sergeant, 3-6 × former human 20 N/A 2
2 × baron of hell, 2-3 × former captain, 2-3 × former sergeant 20 N/A 5
2 × arch-vile, 2-5 × mancubus 20 N/A 4
2 × arch-vile, 2-5 × revenant 20 N/A 4
2 × arch-vile, 3-9 × baron of hell 25 N/A 4
2 × arch-vile, 2-8 × former captain, 2-3 × mancubus 25 N/A 2

The following monster groups will only appear in deeper levels of Angel of 100 and Archangel of 666:

A100-exclusive Monster Groups
Monsters Minimum Maximum Weight
4-9 × nightmare soul 30 59 4
2 × baron of hell, 2-6 × nightmare imp 30 59 4
2 × pain elemental, 2-5 × cacodemon 30 N/A 4
3-5 × nightmare demon 35 49 4
4-8 × nightmare demon 50 N/A 4
2 × nightmare knight, 4-8 × nightmare imp 60 N/A 4
2 × nightmare elemental, 4-6 × nightmare soul 60 N/A 4
2 × nightmare knight, 2-3 × elite former captain, 2-3 × elite former sergeant 70 N/A 3
1 × elite former commando, 2-3 × elite former captain, 2-3 × elite former sergeant 70 N/A 2
3-6 × nightmare arachnotron 70 N/A 2
1-3 × lava elemental, 2-3 × shambler 75 N/A 1
1 × cyberdemon, 4-8 × baron of hell 80 N/A 2
1 × agony elemental, 3-8 × nightmare cacodemon 85 N/A 2
1 × nightmare arch-vile, 2-3 × elite former captain, 2-3 × elite former sergeant, 3-6 × elite former human 90 N/A 2
1 × cyberdemon, 3-6 × bruiser brother 90 N/A 1
2-4 × nightmare mancubus 95 149 2
2-4 × nightmare revenant 95 149 2
2 × nightmare arch-vile, 2-4 × nightmare mancubus, 2-4 × nightmare revenant 100 N/A 2
2 × nightmare arch-vile, 2-5 × nightmare mancubus 150 N/A 2
2 × nightmare arch-vile, 2-5 × nightmare revenant 150 N/A 2

Notice that monster groups are the only way for some enemies to appear on very deep levels.

Each level is given a total danger rating depending on depth and difficulty level. Monster placement usually proceeds as follows: while the total danger of enemies placed so far is less than the danger rating of the level, pick a new monster or monster group and add it (entirely) to the level. Picking a monster or group is done using the weights as relative probabilities for all the monsters and groups with a valid dlevel range. When a monster group is picked, all its ranges are resolved uniformly and independently. Each monster is added to a random empty tile; for monster groups, each monster is added separately.

The total danger level is calculated from dlevel as follows:

Difficulty Danger
I'm Too Young to Die 6 + 2.2 × dlevel
Hey, Not Too Rough 0.6 × sqrt(500 × dlevel) = 13.4 × sqrt(dlevel)
Hurt Me Plenty 20 × sqrt(dlevel)
Ultra-Violence 32 × sqrt(dlevel)
Nightmare! 40 × sqrt(devel)

In addition to these monsters, certain level features (e.g. vaults) may cause additional monsters to spawn on the level without counting against this limit.

Personal tools