This archive contains the Doom Things Analyzer version 1.03,
plus as a bonus, a utility to find secrets in Doom levels.
DOOM THINGS ANALYZER
Programmed by Yonatan Donner
What is the Doom Things Analyzer?
The Doom Things Analyzer, or DMTHA in short, is a tool to quickly analyze
any Doom, Ultimate Doom, Doom II or Final Doom level including external ones
from a THINGS point of view.
DMTHA reads all of the things in any level in any wad file and generates a
report in one of five selectable detail levels about the level, how much
health and armor it has in total, how much ammo of every kind and total
strength of the ammo, how many monsters of every kind etc..
The Command Line
The case is insensitive, so you don't have to use capitals.
Usage: DMTHA <wadname> [switches]
<wadname> - the name of the WAD file to analyze
/Mmapname - analyze only one map - the map called mapname. For example:
DMTHA DOOM2.WAD /MMAP29 will analyze only level 29 of Doom2.
The default is to analyze all levels in the WAD file.
/A - ignore ammo taken from monsters. By default, DMTHA considers
every sergeant you kill as four additional shells, since that
is the ammo you get when you take his shotgun. The same with
other monsters who drop ammo. Using this switch prevents DMTHA
from considering these monsters as more ammo.
/Dx - use detail level x from 1-5 (default = 3)
Using this switch you can select the detail level you wish
DMTHA to use when analyzing.
The differences between detail levels are:
1 - only general map information. How many things are in the
map and how many monsters there are in the map.
2 - also the total strength of monsters hitpoints, total damage
of the ammo considering the available weapons, total health
and total armor in the level.
3 - also the specific ammo amounts. How many bullets, shells,
rockets and cells are in the level. Also health and ammo
vs. monsters rations to help calculate difficulties. This is
the default detail level.
4 - also the monster counts. How many monsters of every kind
are in the level. Also weapons counts: which weapons are in
the level and how many. Also miscellaneous items: how many
invulnerabilities, partial invisibilities etc. are in the
level. Keys: what keys are in the level.
5 - going down to specifics in ammo, health and armor. Not only
how many bullets there are in the level but how they are
divided to boxes and clips. The same about all kinds of
ammo and health and armor.
/Fx - find item x and report coordinates
The search feature. DMTHA will find the item you want to search
for and report it's x and y coordinates, and it's number. Then
you can go directly to the item using a level editor and know
where it is. See later in this text file for a list of items
and their numbers.
/I - ignore startup health and ammo for complete health and ammo
calculations. By default, DMTHA adds 100 health to the total
health and 50 ammo since that's how you begin a level (from
scratch). If you don't want that, however, use this switch.
/N - take netgames only items into account too
By default, DMTHA ignores items that appear only in netgames.
Using this switch, DMTHA will take these into account too.
/Px - consider pain elementals as additional x lost souls (default = 2)
Since painelementals don't have an attack of their own but only
generate lost souls, DMTHA considers them as some additional
lost souls. The default value is 2 but it can be changed using
/Rfilename - output results into filename
This switch creates a report file with the analysis. You can
also achieve that effect by redirecting, for example:
DMTHA PLUTONIA.WAD /MMAP32 > GO2IT.TXT
/S - use all skills, not only UV/NM
By default DMTHA only takes into account items that appear in
the two highest skill levels, Ultra Violence and Nightmare.
Using this switch DMTHA will also consider items that appear
on lower skills but not on these skills.
/U - don't ignore ammo for weapons that aren't in the level
By default DMTHA ignores ammo for weapons that are not present
in the level, for example if there are 300 cells in the level
but no plasma gun or BFG, DMTHA will ignore them. Using this
switch DMTHA will take them into account too.
There are two numbers DMTHA gives you in detail level 3 and up about the
level's difficulty: the healthwise difficulty and the ammowise difficulty.
The healthwise difficulty is the ratio of the monsters vs. the total
health in the level. I don't know how to implement armor, so it's just
ignored for now. Maybe I'll make armor count too in future versions. Anyway,
the higher the number, the harder the level is for you to survive in. The
ammowise difficulty is the ratio of the monsters vs. the total ammo in the
level. The higher the number, the harder it is not to run out of ammo. Not
always, though, since many times many monsters kill each other, and many can
be killed using the berserk/chainsaw (see Doom2 level 8 for a great example of
a miscalculated difficulty, both healthwise and ammowise).
I hope these difficulty estimates can help.
Here are the improvements in DMTHA from the various versions:
0.95 - initial version
0.96 - fixed input/output problem
made output a lot more readable
0.97 - added switches support
added /A switch
added /S switch
added /N switch
added /U switch
added /Mmapname switch
0.98 - fixed case problem: switches and mapnames don't have to be uppercase now
wad name now appears without full path and without varying case
0.99 - added /P switch for painelementals
added very important /D switch for varying detail levels
fixed some display bugs
changed items to be written only if they are actually on the map
added /R switch for report file
fixed another small display problem
1.00 - added /F find feature
no serious bugs found/reported, ready for first release
1.01 - added difficulty health/ammo calculations to detail level 3 and up
1.02 - added startup health & ammo to difficulty calculation
1.03 - added /I switch
Automatically create a lmp, finishing that level on Ultra-Violence with 100%
kills and secrets, for that level. Just kidding! I have no ideas right now ;-)
If you have any ideas for further improvement, please mail me at
<firstname.lastname@example.org> and let me know them.
These are the thing types for use with the /F switch.
84 SS Soldier
65 Heavy Weapons Dude
3006 Lost Soul
71 Pain Elemental
69 Hell Knight
3003 Baron of Hell
82 Super Shotgun
2003 Rocket Launcher
2004 Plasma Gun
2007 10 Bullets
2008 4 Shells
2010 1 Rocket
2047 20 Cells
2048 50 Bullets
2049 20 Shells
2046 5 Rockets
17 100 Cells
2014 1% Health
2015 1% Armor
2018 100% Armor
2019 200% Armor
2024 Partial Invisibility
2025 Radiation Suit
2026 Computer Automap
2045 Light Amp Goggles
5 Blue Key (card)
40 Blue Key (skull)
13 Red Key (card)
38 Red Key (skull)
6 Yellow Key (card)
39 Yellow Key (skull)
The excellent information sources I used to program DMTHA are:
The Unofficial Doom specs v1.666 by Matt Fell
The Unofficial Doom FAQ v6.666 by Hank Leukart
Thanks go to the writers of the above-mentioned information sources, id
Software for these wonderful games and of course Andreas "Anthe" Kren (who
thought of the /f idea), Peo Sjoblom and Richard J. Sham for testing and many
If you have anything to say about DMTHA, please don't hesitate to mail me.
I have no more ideas for further improvements but I'm not sure yet if I
might have some in the future, so there may be future versions.