0
- Главная/
- Игры/
- DOOM (2016)/
- Читы
--------------------------------------------------------------------
DESIGN12.FAQ -- Frequently Asked Questions about DOOM Level Design
--------------------------------------------------------------------
Version 1.2, 09 Sept 1994. Editor: Tom Neff
INTRODUCTION
------------
This document answers questions on DOOM level design in general, not
how to play the game (covered in the DOOM FAQ - see Appendix B) or how
to use a particular editor (read the documentation that came with it).
Designers should also get the Unofficial DOOM Specs (see Appendix B).
Contributions to this document are welcome (see Appendix C).
The main sections are:
1. EDITORS 6. MONSTERS/THINGS
2. WALLS 7. LEVELS AND MAPS
3. SECTORS/ROOMS/FLOORS/CEILINGS 8. GRAPHICS/SOUNDS
4. DOORS 9. OTHER ERRORS
5. TAGS/TRIGGERS/EFFECTS
The Appendices are:
1. THE 10 MOST COMMON DESIGN ERRORS 3. CONTRIBUTING TO THIS DOCUMENT
2. GETTING ESSENTIAL FILES 4. DESIGN SOFTWARE/REFERENCE LIST
Questions and sections are numbered for reference, e.g., [3-5].
1. EDITORS
----------
[1-1] What's the best level editor? Where can I get Editor XYZ?
A. Try a few out and decide for yourself. See Appendix D for a list
filenames and current versions, as found on the primary DOOM software
sites listed in Appendix B. (Editor's Note/Full Disclosure Dept.: I am
on the development team for one of the popular editors [DEU], but this
FAQ plays no favorites. All the packages are of excellent quality
nowadays, and well worth your time to download and try.)
-----
[1-2] Where can I get an editor that works with Shareware DOOM?
A. Id has asked that user written DOOM utilities, including editors,
only work with the registered version of DOOM, and every major author has
complied as of this writing. Register your copy and join the fun.
-----
[1-3] Will the DOOM editors work with DOOM II or QUAKE?
A. The structures of DOOM II and the final (1.666) release of DOOM I
are expected to be similar, but we won't know for sureuntil DOOM II is
officially released in October. (Rumors indicate some changes in
mission naming may be needed.) No known level editor will support
anything having to do with the infamous "pirate copy" of DOOM II, in
keeping with Id's wishes.
QUAKE (still in early development) is going to be a completely
different design, and its "maps" will have nothing to do with DOOM WADs.
Id seems to be ready to encourage user-written QUAKE add-ons as they
have done with DOOM, but an entirely new set of editors will have to be
written when the time comes. Today's editors are for DOOM, period.
-----
[1-4] I heard about some editor that speeds up the shotgun or makes
Imps shoot barrels; how does that work?
A. Those are "EXE HACK" utilties, and not covered in this DOOM Level
Design FAQ. The most popular EXE hacker is DEHACKED, found on the FTP
sites mentioned in Appendix B. Lots of fun, but not our topic!
2. WALLS
--------
[2-1] I flagged a two-sided wall Impassable, but monsters and players
can still shoot through it. What's wrong?
A. Lines with the 2S flag lit DO NOT stop bullets/fireballs, no matter
what other flags are set. To stop shots, you need either one-sided
lines (void space) or a floor-ceiling mismatch high enough to block the
line of sight. "Impassable" only refers to motion by monsters or
players.
(Note that lines having two sidedefs but with the 2S bit OFF will
stop bullets -- but not rockets or plasma. See [2-9] below.)
-----
[2-2] I set "Blocks Sound" on the lines surrounding a room, but monsters
still seem to hear me. What's wrong?
A. A sound you make (punching, firing or launching, not grunting,
wheezing or talking in Multiplayer) will activate every non-deaf monster
that hears it. Sound first fills your own sector, then travels across
every *2S flagged* line into adjacent sectors whose floor and ceiling
leave a gap (i.e., not closed doors or sealed-off lifts). It then fills
those sectors and proceeds the same way. Sound will cross *one* line
with the "Blocks sound" flag lit, but will stop at the *second* such
line it encounters.
So - place a thin "buffer sector" next to your room, with both lines
flagged "Blocks Sound," and monsters on the other side of the buffer
sector won't hear you.
-- with material from Richard Krehbiel
-----
[2-3] OK, I understand how sound blocking works and my monsters work
properly, but why can *I* can still hear everything (monsters, shots,
lifts, etc), even across "Blocks Sound" lines?
A. Sound blocking only affects monsters. Human players can hear
everything possible (if there is a physical sound path) without regard
to line flags. Sound does attenuate with distance, e.g., a distant lift
will sound faint to you, a near one loud. (Monsters hear perfectly at
any distance.)
-----
[2-4] I wanted to make a doorway that LOOKS like a wall, by taking a
passable two-sided line and giving it a Normal texture on one or both
sides. Then you could walk/shoot through it, hide behind it, etc. But
when I loaded my level and walked up to the secret wall, it looked like
weird colored strings, and my PC slowed to a crawl. What's wrong?
A. We call this the Medusa Effect - it looks like snakes and you turn
to stone. :-) It happens because you used a *multi-patch* texture on
the Normal of your passwall. A fuller explanation of patches and
textures can be found in the Unofficial Specs (see Appendix B), but
briefly, each texture (like STARTAN3) is built from one or more graphic
"patches" (like SW19_1 and SW19_2); and for some reason, DOOM's engine
can only draw SINGLE-patch textures on passable walls. Examples of
single-patch textures (which you could use) are BROWNGRN, SKINTEK2, and
ASHWALL. Examples of multi-patch textures that won't work are STARTAN3,
COMPBLUE, and WOODSKUL. A complete list (TEXPATCH) of textures and the
patches that make them up is available (see Appendix [D-4]).
-----
[2-5] I got some strange colored dots and lines on some of my walls, but
I wasn't trying to make anything secret or strange. My PC seems to run at
full speed and the walls function normally, but they look funny. What
did I do?
A. This is Tutti Frutti effect (TFE), sometimes called "pink bug." It
happens for one of three reasons: you used a short texture (less than
128 high) on a taller wall; or you used a transparent texture (like
MIDGRATE) on an Upper or Lower surface, instead of the Normal surface;
or you accidentally set an X offset greater than the width of the
texture applied. (Many editors will attempt to prevent this, except
that if you change the texture to a narrower one afterward the old X
offset will stay.)
The "short texture TFE" happens because textures are only *vertically*
tiled on 128 pixel boundaries. If your wall is taller than your texture
and the texture is less than 128 high, DOOM fills in the extra pixels
with quasi-random garbage, hence the colored tutti frutti. You often
see this when designers put "STEPx" on 20-24 high steps.
The "upper/lower holes TFE" happens because Upper and Lower surfaces
actually have *nothing* behind them, so DOOM has nothing to show through
the holes; hence random garbage or tutti frutti.
-----
[2-6] A wall in my level looks strange - it seems to flash rapidly
with lots of overlapping textures and pictures from elsewhere in my
viewscreen. What did I do wrong?
A. This is the infamous Hall Of Mirrors (HOM) effect. You probably
omitted a necessary texture: either the Normal of a one-sided line, or
the Upper/Lower of a side whose upper/lower surface is exposed to air.
Many editors will catch this nowadays, but you can still run into it
when a lift or floor/ceiling movement exposes a surface that was
"originally" covered in the editor.
Note that there is another way to get Hall Of Mirrors, from too many
lines in view: see [9-1].
-----
[2-7] There is a place in my level where the whole screen flashes for
a moment, usually in random hash but sometimes in a pattern. If you
keep walking, it goes away. Am I hallucinating?
A. That's the "Moire'" or "Flash Of Black" error. It's another
DOOM bug/limit, triggered by getting close to a wall in a very tall
room. The effect first kicks in at about 559 units high, and gets worse
(you see it farther from the wall, and stay in it longer) as the room
gets taller. (The "pattern" you see is actually your old room's ceiling
texture, repeated forever at a great distance above and below you, as
though you were floating in some vast Stargate. Cosmic, man!)
If you don't really NEED the tall room, get it below 559 high. (Some
people make F_SKY1-ceiling exteriors very tall, for example, because
they figure "why not?" Answer: moire' error is "why not.") If you must
have it, accept the (harmless) error, or else work your way down to
below 559 high with steps up (constant ceiling) before exiting the room.
This is fixed in DOOM 1.4 and later versions.
-----
[2-8] Some of my level's long walls behave strangely. If you stand on
the edge, or in the corner, of this *big* room I built, you can SEE the
wall sort of "jump" and slide around. If you shoot from there, the
bullets sometimes stop right in front of your face! What did I do?
A. This is the Long Wall Error (LWE). Your wall is thousands of units
long, right? That gives the DOOM engine fits with round-off error
when it tries to compute and display the wall's position relative to
you. The blocked shots are from the "real" wall right in front of your
face! The solution is simple: break up long lines. Keep them under
1024. If you choose 768 or 512 unit long "segments," you will never
have a problem with X offsets in the texture tiling.
-----
[2-9] I guess I don't understand why the "2 Sided" flag (the 0x04 bit)
is needed at all! If a line has two sides, isn't that automatically a
two-sided line? What does the flag do, and what happens if you leave it
off? (I tried turning it off, but my editor wouldn't let me, it
silently put the flag back!)
A. The 2S flag allows light, sound and bullets to cross a line. It
does not affect the movement of players, monsters or projectiles
(rockets and plasma). It is required if one or both sides carry either
no middle texture or a see-through texture like MIDGRATE. If 2S is lit,
any nonempty middle texture must be "single patch" (see [2-4] above).
If you set up a line with two sides but the 2S flag turned off, you
and your enemies will be able to walk through it and fire projectiles
through it, but not see, hear or shoot through it. It must carry an
opaque texture on both sides, although this can be multi-patch.
Monsters on the other side will not wake up or notice you, even if you
shoot plasma at them through the wall, but once they ARE awake and "on
your trail" they will follow you through the wall (but not try to shoot
or throw projectiles across it, even though the latter would work,
because they cannot "see" you). This might have some uses as a "trick
feature" in a level.
Ideally, editors should not interfere with you turning off (or on)
any flag you want, although their consistency checkers might notice
this kind of "strangeness" and query you on it.
3. SECTORS/ROOMS/FLOORS/CEILINGS/STAIRS
---------------------------------------
[3-1] Is it possible to make a two-story area, where you could walk
over or under another player? What about a floating cube?
A. Not really - that's a limit of the DOOM engine. Only one sector can
occupy a given spot on the (2-D) map, and that sector has one floor and one
ceiling height.
You can do some fairly convincing imitations, though. Two- or
three-"story" buildings have been done, with transporters placed in the
middle of the "up"/"down" staircases or lifts. Criss-crossing mazes on
two or three levels (see OCTAGON) have been done, where you jump over
"trenches" while running the upper levels.
You can also make things that LOOK like floating platforms, even
though you can't go both over and under them. Judicious use of F_SKY1,
uppers and lowers does the trick.
-----
[3-2] I set a sector's type to Light Pulsates Smoothly, but it doesn't.
A. First, some versions of some editors got the pulsating sector type
wrong. It is type 8. Second, the smooth pulsing goes from the initial
brightness level *DOWN TO* the lowest adjacent brightness, and then back
up. If the type-8 sector is at or below the brightness of all adjacent
sectors, nothing will happen.
-----
[3-3] I made a Teleporter, but I can't get the "pentagram" floor
texture to line up properly with the teleporter pad. Aren't there X and
Y offsets for floor textures?
A. No, floors and ceilings are tiled on a fixed 64x64 grid throughout
the level, regardless of where you draw your lines. In order to make
the various patterns align properly, you need to build your ceilings,
telepads, etc, *on* the 64x64 grid or some multiple thereof. Most
editors have some kind of grid overlay that can make this easier.
-----
[3-4] How do I make stairs?
A. Consult your editor's documentation: some have canned procedures
for this, and some do not. In general, stairs must be shallow enough to
climb and wide and tall enough to fit through. Remember that the HIGHER
step riser's floor must be at least 56 units below the LOWER adjacent
ceiling, or you won't fit. You can only climb up 24 units at a time.
-----
[3-5] How tall can I make my ceiling, or how deep my floor? Editor XYZ
only lets me input values from -1000 to +1000 (or whatever), but someone
told me they saw a WAD with rooms taller than that.
A. The only hard limit is +16383 for the ceiling and -16384 for the
floor. Many editors impose more conservative limits, but they should
properly allow any value in the above range. Under DOOM versions 1.2 and
earlier, the Tall Room or "Moire'" error (see [2-7]) will crop up if the
*difference* between floor and ceiling is great; but a (Floor=15000,
Ceil=15100) room will play perfectly in all versions. The only reason most
designers would want to put rooms that high or low would be to take
advantage of the enormous jump-down or lift raise/lower times they incur!
(The author sometimes builds "delay" Deathmatch exits atop 2000-high lifts
inside an elevator alcove: anyone can call for it, but it takes fifteen
seconds to arrive, enough time for cowards to be "discouraged.")
-----
[3-5] I wanted to have a sector rise and change texture, then later
lower it again. I have the sector tagged properly and a "lower floor"
switch set up with the same tag, but after I raise and match the floor,
it won't lower! What's wrong?
A. "Raise and match texture" appears to work by *copying* ALL sector
information from the sector to be matched (the one on the right side of
the activation line; see [5-6] below) to the target sector, including
textures, type, light levels and -- what counts here -- tag number. Any
tag you had originally set in the map is gone.
A workaround is to set a *different* tag number on the sector to be
matched; this will then be copied to the target sector at the time of
raise-and-match. The second "lower" switch could then be tagged to this
new number. Only problem is that this means the sector adjacent to the
raise-and-match activation line will also be lowered! But you may be
able to set another line somewhere in a 0-tagged sector to do a "dummy"
raise and match and wipe out the extra "lower" tag number. Oh, it gets
hairy. Experiment with it.
-- with material from Evan Bynum
4. DOORS
--------
[4-1] How do I make a door?
A. Your editor's documentation probably covers this, including whatever
specific keys, buttons, menu selections (and so on) that you need to use
to do it. But in general, for the simplest, "classic" Door, you need to
have a sector lying between two other sectors. The Door sector itself
should have its Ceiling lowered to equal its Floor height. The two "door
face" lines should be two-sided, with their right (first) sides facing
outward; those right sides should have no Normal texture, but an Upper
texture of something "doorish" like BIGDOOR2. The Door face lines
should have a "Door" Type number like 1, and Tag of 0.
The other two ("door jamb") lines should be one-sided (void space
behind them), with a Normal texture like DOORTRAK and the "Unpeg
Lower" flag set. (This holds the DOORTRAK still while the door goes up
and down.) The lowest of the adjacent sectors' ceilings must be at
least 64 higher than the highest adjacent floor, or you will not be able
to walk through the door. (The rising door stops 4 below the lowest
adjacent ceiling, and you are 56 high.) There are many more complicated
kinds of door and door-like features, but this is the simplest.
-- with corrections from Scott Amspoker
-----
[4-2] I built a door in a high-walled room, and now the door texture
"repeats" all the way to the ceiling. It's very ugly. How do I get
rid of it?
A. Recess the door. Add a mini-"hall" leading from your main room,
with a lower ceiling height to match the texture height of your door, and
place the door in that.
|
+-+-+-------
: |d|
room : |o| hall
: |o|
: |r|
+-+-+-------
|
-----
[4-3] I added a door but when I play the level, the door is already open,
and it makes an opening noise but it won't close. What gives?
A. It's hard to get this to happen. You may have a Tag number set to
something inappropriate: for most Door types, it should be zero. Make
sure the activating lines face "outward" (right side facing the player).
Most doors start out closed (floor = ceiling), but they don't have to.
Note: Even if a door starts out partly open, it will still close all
the way (floor=ceiling).
-----
[4-4] How can I keep monsters from opening a door?
A. One way is by requiring one of the Keys (red/blue/yellow) to open
the door. Monsters don't have keys. This is the only simple way to
keep monsters out or let them in under *your* control. If you want to
keep them out of a door, period, you could put a thin high step in front
the door, or mark one of the door lines with the BLOCKMONSTERS flag.
There are also some Tag-based "door-like" special linetypes which
monsters do not seem to want to trigger, so you could use one of those.
-----
[4-5] I want to make a door that only works (opens) AFTER a switch
somewhere else is pressed. Can this be done?
A. Not "directly" -- linetypes cannot change dynamically in a map -- but
you can make a terrific mock-up that does what you want.
The trick is to put a thin door IN FRONT of the door you want to open
later. The inner and outer doors might have exactly the same Upper
texture and lighting level, unless you want to make the change obvious.
You can even light the "Unpeg Upper" flag on the front of the outer
door. Then, when you press your external switch elsewhere on the level,
the thin outer door rises, revealing the "real" door underneath. If you
unpeg the outer front and keep your thickness down, this process will be
nearly undetectable.
To make sure the user can't activate the inner door by pressing
"through" the outer one, you may want to give the outer door's front
face an innocuous special linetype, like one that lowers a hidden lift
somewhere.
-----
[4-6] I set up a door (or even a secret door) in a wall, and I raised
the "sill" a few units above the floor. But now you can see right
through it on the Map display as if it weren't there! I don't want this
effect, is there a workaround?
A. DOOM has a bug where, if you look at a closed door whose
floor(=ceiling) is higher than the sector floor beyond, it appears on
the map like an open window. Secret flags don't help. What you can do
is either make the whole sector behind the door higher to match the
raised sill, or at least put a narrow "buffer sector" behind the door at
the same height. Then the door will become opaque on the Map again.
-- with material from Robert Forsman
5. TAGS/TRIGGERS/EFFECTS
------------------------
[5-1] I can't get my Tags to work right. I put the sector number I
wanted into the Linedef...
A. Hold it right there! :-) Tags are perhaps the most misunderstood
DOOM feature. Tags are NOT sector numbers and they are NOT line
numbers! They are *arbitrary* numbers, 1 to 32767, that are *shared* by
one or more lines and sectors, as a way of identifying the sectors as a
group. It's just like being assigned a "box number" when you place a
newspaper classified ad. You say, Here's my ad, and they give you Box
78, which happened to be unused. 78 bears no relationship to you
personally, it's just the place where replies to your ad will be sent.
Similarly, if you set up an effect like "lights out," with a walk-over
line to trigger it and a set of one or more sectors whose lights you
want to go out, the actual *numbers* of the lines and sectors don't
matter. You pick an unused Tag number out of thin air -- say #7 is free
-- and you plug that Tag number into *both* the trigger line (or lines)
and the affected sector (or sectors). Then later, when you walk over
that line, DOOM says oh, that had Tag #7, now where are all the Tag #7
sectors? and when it finds them, whatever their actual sector numbers,
it turns out their lights.
-----
[5-2] Then what's a Platform?
A. Originally it was Id slang for a lift, the "down wait up stay"
elevator sectors. Platforms needed tags like any other effect, but
unfortunately the concepts got confused in a few minds and some design
software came out that used "platform" to mean Tag. In fact, Tags are
much more flexible and applicable to many more things than just lifts.
Current versions of just about everything get it right.
"Plat" in the game has a related but different meaning: it's a data
structure used to apply an effect to a sector. If you mess up your Tags
and accidentally try to lower every sector in the level at once, you'll
probably bomb out to DOS with a "no more plats!" error message.
-----
[5-3] I set a line to turn the lights out on a sector, but when I walk
across it, almost ALL the lights go out in my level! What in the world
have I done now?
A. You forgot to set the Linedef Tag number (and the affected Sectors)
to something NONZERO. If DOOM sees a Tag of zero (0) on a trigger
line, it will find all the sectors with the SAME (0) Tag (i.e., most of
the sectors on your level) and do the action on all of them.
There is some confusion about when and how Tags should be used. There
are only TWO kinds of trigger lines that don't require a Tag: "true"
Doors (types 1, 26, 31, etc - see the Unofficial Specs) and the End Level
group. Every other kind of special linetype WILL use the Tag stored in
its Linedef.
-----
[5-4] I have a lift in front of a door, and sometimes I can't get the
door to open. What's wrong?
A. When two trigger lines are in front of you, DOOM always chooses
the closer of the two. What's probably happening is that your lift is
so narrow that its trigger line blocks the door's. Try setting the lift
well back from the door, or using a separate wall switch for the door.
Of course, this can be an advantage too: to keep people from pressing
the "back" of a switch (in a cooperative exit, for instance), surround
it with innocuous special linetypes that do something like open a door
or turn the already-bright lights up.
[5-5] How do I make a teleporter?
A. This is covered in a lot of tutorials and editor manuals, but
briefly: You need at least one departure Line, one arrival Sector and
one destination Thing. The line can be anywhere, must be two-sided, and
must have its linetype set to 39. Its Tag number should be set to match
the Tag of the arrival sector. The sector can be anywhere, should be
tall enough to accomodate a player, must share the same Tag number and
must be the only Sector with that Tag (although there can be as many
Lines as you like). Inside the arrival Sector must be exactly one Thing
of type 14 (Teleport exit).
With those pieces in place, you're set: a player or monster walking
from Right to Left (1st side to 2nd side) across the line will be
teleported onto the Thing in the destination Sector. The Direction of
the destination Thing will be the direction you face on arrival.
-----
[5-6] I wanted to make a sector that moves and changes texture, using
one of those exotic linetypes my editor tells me about. But when I hit
the switch, the sector gets the wrong texture! How do I fix that?
A. Most "change texture" triggers modify the tagged (target) sector
floors to match the texture on *side 1 of the line where the switch is*.
Put the texture you want on that side, and the tagged sector will follow
suit.
-----
[5-7] Rising staircases are confusing! Mine do everything but what I
want. How do I fix them, and what does the Tag 999 do?
A. Yes, they can sure be confusing, but we're fearless, so read on.
Here's how rising stairs work. You trigger the first (bottom) step in
the expected way, with a linetype 7 or 8 (in DOOM 1.666, linetypes 100 and
127 also work) tagged to a sector. That sector rises -- make sure it
has the necessary lowers or you'll get HOM! -- and then DOOM looks for
the next sector to raise by searching for the *lowest numbered* linedef
whose *first* (right) side faces onto the current sector. If no first
side faces inward, rising stops. Otherwise the "found" neighboring
sector is raised, and the search continues from there. Tags are not used
at any time.
Now, why do Id's examples have odd tag numbers like 99 or 999 on
alternating sectors? For the very dumb reason that their nodes builder
-- IDBSP, whose source was released to the DOOM user community -- actually
*combines* adjacent sectors with identical characteristics! Before
rising, all the staircase steps have the same height, light levels and
textures. So, to make them "different" and prevent IDBSP from merging
them, Id's level designers stuck a nonsense tag number on every other
one. The nodes builders we use these days (including several
adaptations of Id's original) no longer do nasty things like combining
sectors without permission, so we can skip the tagging gymnastics.
-----
[5-8] I set up a floor sector that's supposed to rise and fall every
5 seconds, but when I activate it nothing happens! Or, I made a "lift"
but it doesn't go up and down! What could be wrong?
A. Make sure that you start "perpetual raise" floors (linetypes 53
and 87) and lifts in the *UP* position. They are designed to go DOWN
from their initial position to the lowest nearby (or nearest) floor when
activated, then back up to the initial position. If you start them
"lowered" in the level map, they will go nowhere.
6. MONSTERS/THINGS
------------------
[6-1] I built a hallway/room that my monsters refuse to enter. They
stamp around at the entrance but that's it.
A. Make sure your hall is wide and tall enough! The Unofficial
Specs [4-2-1] have a list of monster heights and widths. What's more, if
a hall is *just* wide enough for a monster, it's less likely to enter
than if it's *plenty* wide enough.
Also be careful about step-downs and step-ups. Monsters will not step
up/down too far onto narrow steps. If you want a monster to go up or
down more than 16, make sure there's plenty of room on both sides of the
riser line.
The actual tested measurements for all monsters are in the METRICS
document; see Appendix D.
And of course, make sure you didn't accidentally mark the entrance
with BLOCKMONSTERS or something, by accident in the editor.
-- with material from Adam P. Harris
-----
[6-2] I put some demons in a room but they don't move, they just stand
there and twitch, although they scream when I shoot them. How did that
happen?
A. You probably placed them too close together when you laid out your
level. Monsters have to be separated from each other (AND from nearby
walls) by at least their own width, or they freeze in place. (If you
kill all of a monster's too-close neighbors, it will usually free the
monster to attack you.)
The other possibility is that your ceiling is too low. See the
Unofficial DOOM Specs (Appendix B) for monster widths and heights.
-----
[6-3] There's this great "zoo room" I built with a hundred demons in
it! What a blast to mow your way through so much alien flesh. But it's
weird, like some of the monsters "flicker" in and out of view. Should
that be happening?
A. DOOM can only keep track of 64 sprites in your view at once. If
you have more than that, some will fail to display in each frame,
effectively at random. (This includes things like torches and barrels.)
The more sprite overload, the greater the chance that any given sprite
will be "invisible" at a given moment. Put 200 imps in a room and each
one will be "gone" 2/3 of the time.
The workaround is, quite simply, to design your level in a way that avoids
sprite overload. Instead of 100 troopers in a room, use 50 and keep the
hanging corpses to a minimum in that area... etc.
-- with material from Vesselin Bontchev
-----
[6-4] How close to the edge of a "shelf" do I need to put my stim
packs and potions so the players can get them? How far back must I put
something to keep the player's hands off of it until the right moment?
Does it matter how high or low the items are?
A. First the height issue: In order to be grabbed, a thing must be
sitting on a floor that's between your feet and your head, e.g., between
0 and 56 units above the floor the grabbing player stands on. Above or
below that and it won't be taken no matter how close to the edge.
As for horizontal distance from the edge: On paper, your body radius
is 16 units, your grabbing "arms" extend another 32 units beyond that,
and gettable objects themselves have a radius of 16, so that when you
bump up against an unclimbable "shelf" lower wall, you should be able to
grab things centered as much as 48 units back from the edge. But in
practice I find considerable "slop" at the edges of these numbers, and
also a longer reach if you run full speed into a barrier. To be
absolutely certain an item will be taken at the lightest shelf contact,
place it 24 or fewer units back. To be absolutely sure the item will
NOT be taken, even with a running start at -turbo 200, place the thing
40 or more units back. (If you try to finesse these numbers or shave
them very close, beware of editors or WAD post-processors that snap
Thing coordinates to an 8x8 or coarser grid!)
-----
[6-5] I put some Columns and Torches in a room, but they look funny,
almost as though they're sticking up "into" the ceiling. Why does that
happen and what do I do about it?
A. Make the room taller or pick shorter Things. Each Thing has an
apparent height when its Sprite is drawn, and low ceilings do not cut off
any excess; the whole thing is drawn, even if it seems to pass
mysteriously into the ceiling. Tech Columns are about 112 high, the
highest example. Other things are lower.
-- with material from Vesselin Bontchev
7. LEVELS AND MAPS
-------------------
[7-1] When I play my level and switch to Map mode, it only shows me a
little bit of the local area I'm in, even when I hit "-" a lot or "0" to
Zoom Out. The Id levels seem to work OK and some of the levels I've
downloaded do too. What am I doing wrong?
A. The culprit is the resource called BLOCKMAP. It is described in
the Unofficial Specs [4-11]. Some editors don't build a good one. You
can usually overcome this by creating a few dummy "sectorlets" or just
linedefs out at the "corners" outside of your real level map area.
Otherwise, you'll have turn Follow off and scroll around the map.
-----
[7-2] I designed a level that's about as complicated as one of the
original ID levels - roughly the same number of rooms, monsters, etc.
But mine plays much *slower* than the originals! What's wrong?
A. Remember that DOOM only loads PWADs when it needs them, so there
will be some inevitable disk overhead when your level first starts, and
occasionally thereafter if DOOM needs to keep going to disk to get other
entries from your WAD file. (If you have enough memory, DOOM actually
improves with about 1 Megabyte of disk cache, although results vary from
system to system.)
More importantly, there is a resource called REJECT that quickly tells
DOOM whether sectors can "see" each other, allowing many expensive
line-of-sight checks to be skipped. Without REJECT, DOOM must
constantly check each monster to see whether it has a line of sight to
your location. On a level with a lot of monsters, this can be time
consuming.
As of this writing, some editors generate a real, usable REJECT resource
when you save a level, while others need to be used in conjunction with a
separate, standalone REJECT builder (like IDBSP, REJECT10 or RMB) in order
to optimize playing speed. See Appendix D.
-----
[7-3] I have designed several mission maps, but now I'd like to combine
them into a mini "episode" for distribution together. How do I do it?
A. You may be able to do it right in your editor; check the
documentation to find out whether your software supports combining
multiple PWADs into a single group file. If not, you may have to "borrow"
another editor temporarily, just long enough to do the combine.
If you have created each of your mission maps as E1M1, and if your
editor doesn't easily allow you to change a map's mission number
(something just about all of them do), you can use the MOVELEV utility to
change the episode and/or mission of your PWAD in place without editing
it. See Appendix D.
-----
[7-4] I just lost two days worth of work because that new Beta Test
release of NODEMAKE 2.99 [a made-up example] is buggy! I saved my PWAD,
ran NHOUND on it, and when I edited the PWAD again the lines were all
crazy! How can I get my data back?
A. You probably CAN'T get your data back, because you made the
dangerous mistake of editing, post-processing, and playing all out of the
SAME file. That's not the way to protect your valuable design effort!
Here is the safe way to do design work. Have one "cycle" of files which
contain nothing but editable map data for the level you're working on. If
your editor allows it, you can give these files a different extension,
say, MYLEV.EDI instead of MYLEV.WAD. Your editor may also allow for the
"old" input file to be renamed as MYLEV.BAK when you save, adding
another level of protection. Then when you edit, do it with a *batch
file* that runs your editor followed by any post processor, directed to
another file. So for example
MYED.EXE %1.EDI
NODEMAKE.EXE %1.EDI %1.WAD
after which you might have as many as *three* good files: MYLEV.BAK,
MYLEV.EDI, and MYLEV.WAD. So if a test version of NODEMAKE hoses the
output, you're still in business.
-----
[7-5] Do nodes builder programs like BSP take into account any nodes I
have already built in the editor or with a previous program?
A. No, they always build them from scratch using just the map data.
You may have some control over the "depth" and/or "speed" of the BSP
structure, depending on your editor's or utility's parameters; consult
the documentation for details.
-- with material from Douglas Baker
-----
[7-6] Is there any way to import AutoCAD or other CAD/CAM or home
design program datasets into DOOM as level maps?
A. Nobody has written a DOOM level editor that reads such files, to
the best of my knowledge. In principle, any CAD program that allows
dataset export to a Text file could be used along with a suitable text
editing script or program, to generate a DWD or WIF file which could
then be converted to a WAD with the IDBSP package (see Appendix D), but
again, nobody's done it that I know of. One of the problems you would
have, of course, is that much important information (special line and
sector types, tag numbers etc) would probably be absent from the CAD
dataset and have to be added later.
8. GRAPHICS/SOUNDS
-------------------
[8-1] Some of these DOOM levels I download have custom graphics. How
can I do that?
A. If you can create or find a GIF file of the right size, there is a
utility called DMGRAPH (see Appendix D) that will insert it into your
WAD file. You are on your own as far as picking a Windows or DOS based
graphics editor -- there are a lot of them, preferences vary widely, and
if you've never made a picture before, you're probably not ready to use
them in your DOOM levels. Once you have a picture, the DMGRAPH
documentation tells you more about how to use it.
-----
[8-2] I wanted to change STARTAN3, but when I ran the DMGRAPH utility,
it said "entry not found." What's wrong?
A. As described in the Unofficial Specs (see Appendix B), textures are
built out of graphic "patches." DMGRAPH 1.1 (the latest version at this
writing) only deals with patches, which have their own names. STARTAN3
is a texture name. A few textures are composed of exactly one "patch,"
allowing you to do a full substitution, but others are built of three or
five or more "patches." A future version of DMGRAPH may (or may not)
address this situation.
-----
[8-3] I can change the wall graphics just fine, but when I try to
change a floor or ceiling, DOOM either crashes or ignores my new
texture. What am I doing wrong?
A. Not much, unfortunately. As the DMGRAPH documentation points out,
only some kinds of graphic patches can be supplied in PWAD files.
Floors and ceilings ("flats") cannot be used from PWADs in any DOOM
version; sprites (Imp, Shotgun, Torch etc) can be used from PWADs in
DOOM 1.6 and later, but not in DOOM 1.2. (Yes, Id once said they would
allow flats to be added from PWADs in 1.6, but it didn't happen.) The
only thing you can do is patch them in the *original* DOOM.WAD file.
You could supply the GIFs, a copy of DMGRAPH and a batch file along with
your custom level, so that the user can insert the graphics him/herself,
but many users don't like having to patch their main IWAD.
Note that the one "ceiling" you CAN change in a PWAD is the Sky
graphic that's displayed "outdoors" in rooms with F_SKY1 as the ceiling
texture. But this is really a wall patch (SKY1/SKY2/SKY3, depending on
which episode you're in) that's displayed as a combination wall/ceiling
via a special algorithm.
-- with material from Matt Fell and Arek Wojciechowski
-----
[8-4] I got a utility (DMAUD) that replaces DOOM sounds, but I don't
know what numbers go with what sounds, and the Unofficial Specs don't
say. What are the various sound names?
A. Ask DMAUD: just type "dmaud -l" at the command prompt, and you'll
see a list of them.
-----
[8-5] Why can't I replace the DOOM music with the cool "Batman" theme
music .WAV file I downloaded from a BBS?
A. Because a .WAV file is a sampled waveform -- essentially one long
digitized sound effect -- and DOOM only uses this form for "noises" like
door sounds, gunshots, grunts etc. (Those you CAN replace, with Bill
Neisius's DMAUD utility; see Appendix D.) DOOM's background music is
stored in .MUS format, similar to MIDI (and convertible from MIDI with
the MIDI2MUS program; same Appendix) -- actually specifying instruments,
notes to be played, durations etc. There's no readily accessible way of
going "backward" from a .WAV to a MIDI music sequence. So if you want
to substitute your own music, you need to find some MIDI files, or
record your own with a MIDI-capable synthesizer.
-- with material from Jered Floyd and Brad Reynolds
-----
[8-6] Okay, I got a top of the line bitmap editor and I created some
GIF pictures to use as textures, then I inserted them into a PWAD using
DMGRAPH and I played my WAD. The pictures are there, but the colors are
awful! Lots of ugly red speckles, washed out areas, nothing looks the
way I expected. How did Id get theirs looking so good, and how do I do
the same?
A. Simple, they cheated. :-) That is, Id uses a non-uniform palette
that's optimized for the "look" they wanted their world to have. If you
extract one of their big patches out to a GIF file with DMGRAPH, then
load that into your graphics editor and examine the "image palette,"
you'll see what I mean: lots and lots of shades of grey, plenty of
intermediate greens and browns, a few blues, some reds, few yellows, and
other areas very skimpy. This lets Phobos look terrific, but when you
import your Euro Disney slides and feed them to DMGRAPH straight, it has
to map colors to their nearest equivalents in the DOOM palette, with
sometimes-horrendous results.
How to cope? Your fancy bitmap editor may or may not allow you to
"coerce" work to stay within the DOOM palette; some, like Corel
Photo-Paint 4&5, are designed for pro artists and always "think 24 bit."
If you keep the DOOM palette loaded, though, you can still use it
exclusively for new fills, lines, textures etc. You can also use one or
another freeware/shareware "image handlers" like Paint Shop Pro, which
can run in the background and coerce images to the palette for you. If
you can see in advance what the graphic's going to look like, you're a
lot better off. In general you can try to use colors that have plenty
of equivalents in the DOOM palette, keep things muted and somewhat low
contrast, etc. Beware when "dithering" pictures, because the results
may look awful up close in play.
-----
[8-7] I created some graphics and put them into my PWAD with DMGRAPH,
but when I run my editor it spits out some funny error messages, and when
I save my edited level the graphics are gone! Or the editor preserves the
graphics, but when I pass my PWAD through my favorite standalone NODES or
REJECT builder, it strips away my custom graphics and music. How can I
get around this?
A. The easiest way is to maintain a *separate* graphics/music PWAD while
you develop your level. Use only DMGRAPH/DMAUD/DMMUS to insert, remove or
change graphics/sound/music into that PWAD; never open it with an editor
or feed it to any other standalone map-oriented utility. Let the PWAD you
use in your editor contain *only* map data. Then when you test your
growing level, simply load *both* PWADs, map and graphics/sound/music,
with the -file switch:
doom.exe -devparm -skill 4 -file mylev.wad mygfx.wad
Then when you are ready to release your level, combine the two PWADs
into a single one using an appropriate editor or utility; see [7-3].
(Also see question [7-4] which is related to this one.)
-----
[8-8] How do I make a see-through wall like MIDGRATE?
A. Everywhere in your graphic that is PURE CYAN (Red=0, Green=255,
Blue=255) will be rendered as transparent if a texture using your
graphic patch is applied to the Normal (Middle) surface of a 2S line. To
see the proof of this, extract MIDGRATE (patch name M1_1) to a .GIF file
with DMGRAPH and edit it with your favorite graphics editor. The reason
this might not have been obvious is that many DOOM graphics viewers and
editors politely translate "pure cyan" to BLACK for you on the display.
-- with material from Adam P. Harris
9. OTHER ERRORS
----------------
[9-1] I have a level that passes all my editor's consistency checks,
and looks clean to me, but when I play it, I get strange flashing
effects on a few of the walls, what I think they call "Hall of Mirrors."
What's wrong?
A. First, make sure you built a good node tree with a BSP utility.
(See Appendix B for where to get them.) If you used BSP and it still
happens, and you're *sure* you didn't omit any required textures, you
may have hit a DOOM engine limit.
The limit has to do with how many lines DOOM can show you at a time.
If you have too many lines in sight at once (128 in DOOM 1.2, increased
to 256 in DOOM versions 1.4 and later), the extra sides will not be
drawn, and you will tend to see the Hall of Mirrors (HOM) effect
somewhere twards the back of the room.
Note that there are often MORE edges visible than there are lines on
the map! Looking at a staircase from above, for example, will show
two edges (riser and flat) for every map line. And an intervening
"shaft" or pillar in the middle that cuts the staircase in half will
double the number of long edge segments visible -- so you can reach the
limit more quickly than you think.
If you hit this limit, find a way to simplify your room's layout or
interpose some void space (one-sided surfaces) so you can't see so many
lines at once.
-- with assistance from John Carmack,
and material from Robert Forsman
-----
[9-2] I'm getting Hall of Mirrors, but I'm sure my room isn't too
complicated or anything. My level passes all the editor's checks and I
use the best BSP node builder. But when my crushing ceilings (or rising
platform/stairs, or lowering wall etc) are activated, the HOM appears.
What did I do wrong?
A. You're missing a necessary texture just like always, but your
editor's consistency checker didn't catch it because the texture is only
needed *dynamically* -- in the initial static map state, the pillar's
lower, crushing ceiling's upper, etc, are safely "hidden" and don't
appear to need a texture.
The only "solution" is to be vigilant about textures when adding a
feature like a surprise crusher, and/or keep careful bug-notes on such
things when testing out your level.
-----
[9-3] Some of my level's walls seem to "jump around"...
A. It might be Long Wall Error. See [2-8].
-----
[9-4] When I playtest my level, I sometimes get "invisible barriers"
running across a room or corridor. Either I can't get through them at
all or I can only squeeze past with great difficulty. When I type IDDT
on the Map display, I see extra lines that aren't on my real level! Why
does this happen?
A. These seem to be artifacts created by some Nodes builders.
Usually they occur in conjunction with very complex-shaped, "straggly"
or concave single sectors. A curved "maze" done as one big sector may
show this effect, or a giant "crescent moon" sector. Try breaking up
such sectors into simpler, more nearly convex pieces. You may also want
to try feeding your level to a different Nodes builder.
-- with material from Leigh Dehaney
APPENDIX A. THE 10 MOST COMMON DESIGN ERRORS
---------------------------------------------
Some of these are show-stoppers, i.e., DOOM will crash if you try to run
the level; others will let you run DOOM but game play is screwed up;
others are just ugly; and a few are common stylistic complaints. All
are encountered often in user-written levels, or asked about in
discussion forums, or both. There is no particular order.
[A-1] Bad Wall Effects. This includes HOM (Hall Of Mirrors), caused
by missing textures (see [1-7]); Medusa Effect, caused by incorrect
Normal textures on 2-sided walls (see [1-5]); Tutti Frutti, caused by
short Normal or transparent Upper/Lower textures (see [1-6]); Long Wall
Error, from superlong lines; and Moire Error, caused by ceiling changes
near tall rooms (see [1-8]).
[A-2] Wall Pegging. Wall faces exposed by rising/lowering ceilings or
floors (including door side tracks) should usually have the Unpegged
Lower/Upper bits set in their Linedef. This keeps the side textures
from "following" the adjacent rising/lowering sector. Many, many user
level designers forget to unpeg their door tracks. Just cosmetic, but
contributes to the sense of realism or lack thereof.
[A-3] Lines/Vertexes that Cross or Coincide. A show-stopper. If two
or more vertexes occupy the same position, or if two or more lines cross
or lie "on top of" one another, DOOM's engine will crash trying to work
out the sector math. Several editors are capable of checking for this;
if you get crashes, use one.
[A-4] Slowdown from Monster/Two-Sided Line Glut. Not a crash but a
playability issue. See [6-2]. Designers should try their levels on
less powerful PC's and/or at full screen resolution to see whether some
rooms are unacceptably slow.
[A-5] Unaligned Textures, both X and Y. Just cosmetic, but important
for realism. If your X textures are properly aligned and you split a
line or drag vertexes around, you will probably need to re-align. A
tedious job, but some editors help automate it for you. (But note: It's
considered polite to offset secret door textures a little bit -- say 2
pixels -- just enough so that an attentive player might notice it.)
[A-6] Missing Player Starts, Insufficient Sectors. Another
show-stopper. Every level must have a minimum of two (2) sectors. It
must also have a Player 1 Start if you are going to play solo; Players
2-4 Start if you will be playing Cooperative multiplayer; and anywhere
from four (4) to ten (10) Deathmatch starts if you will be playing
Deathmatch. Otherwise DOOM will crash. Hint: Unless your Deathmatch
design specifically forbids it, use all 10 starts; it will make play
more interesting.
[A-7] Floor/Ceiling Mismatch. Usually caused by raising/lowering a
floor but forgetting the associated ceiling, or vice versa. Sometimes
caused by accidentally "including" an unintended sector in a
floor/ceiling change, under editors that support multi sector "gang"
operations. Unless the ceiling is at least 56 higher than the floor,
you either can't enter or (if you are already there, via teleport,
floor/ceiling movement or start of play) you will be stuck. This is
sometimes an issue on stairs: the LOWER ceiling must be at least 56
higher than the HIGHER floor, or you cannot pass between two sectors.
[A-8] Missing/Wrong Tag Numbers. When tagged operations like Lights
Out or Raise Floor get the tag number wrong (in the activating Linedef),
the results are usually awful. The whole level "rises" or crushes or
something else you don't want. This can be tough to spot at first in
gameplay. Ideally, editors should check for this.
[A-9] Monsters Too Close To Each Other or to Walls. See [5-2]. You
must also be careful to place Deathmatch and multi-player Start points
far enough from walls, or arriving players will be immobilized.
[A-10] Dead Ends. Designers sometimes leave out an EXIT switch, which
makes it hard to play a level in Deathmatch or as part of a larger
episode. Also, perhaps this is a stylistic argument, but at least be
AWARE of which places (if any) on your level have "no escape" for the
unwary user who enters. ID's original levels do have a couple of these,
but many users don't like them.
-- with assistance from John Romero
APPENDIX B. GETTING ESSENTIAL FILES
------------------------------------
There are a number of essential files files for DOOM level designers,
particularly the basic reference Text files like the DOOM FAQ and the
Unofficial DOOM Specs; see Appendix D, [D-4] for a list.
Many of these documents are widely distributed on the various DOOM
BBS's, Usenet newsgroups, game boards of online services, and FTP sites
supporting DOOM players. Some services may use slightly different names
from the ones listed in Appendix D, and versions change over times, so
examine the directory listings carefully.
Where to FTP this stuff? Try one of the following sites:
infant2.sphs.indiana.edu:/pub/doom/wad_edit
wuarchive.wustl.edu:/pub/msdos_uploads/games/doomstuff
ftp.uwp.edu:/pub/incoming/id
/pub/msdos/games/id/home-brew/doom
APPENDIX C. CONTRIBUTING TO THIS DOCUMENT
------------------------------------------
If you have a correction, contribution or suggestion, please mail it
to me, the editor, at one of these addresses:
tneff@panix.com (Internet)
uunet!panix!tneff (UUCP)
>INET:tneff@panix.com (CompuServe)
or any other Internet mail gateway you can reach. I will read all
submissions and (if I use them) credit the author.
Remember, this is a level design FAQ for things that users really ask
about. It is not for editorial essays, unpublished screenplays, or wish
lists for someone's editor. :-) If you have discovered some new and
interesting technical fact about DOOM, mail it to Matt Fell for the next
Specs. I only want material that answers real-world design questions.
I am grateful for the numerous contributions this document has already
received from generous readers. Where their material has inspired or
improved an entry, I have mentioned them by name. I would also like to
thank the "Doom Design Elders" for your patience and support.
APPENDIX D. DESIGN SOFTWARE/REFERENCE LIST
------------------------------------------------
These are in alphabetical order within each section. No endorsement of
any particular product over its competitors is intended, although the
reference files in [D-4] get thumbnail evaluations. Each section
heading is followed by the name of the directory where the files
mentioned can be found on the INFANT2.SPHS.INDIANA.EDU FTP site (see
Appendix B).
[D-1] LEVEL EDITORS - /pub/doom/wad_edit/editors
DCK11.ZIP - Doom Construction Kit 1.1 by Ben Morris. A DOS-based
level editor.
DE_260B4.ZIP - DoomEd 2.60b4 by David Bruni. A Windows-based level
editor. A preliminary, incomplete release of 3.0 (DE3ALPH8.ZIP) allows
texture previewing and some other things.
DEU521.ZIP - DOOM Editing Utility 5.21, by Raphael Quinet and Brendon
Wyber. A DOS-based level editor. DEU521GCC.ZIP contains a GNU C
compiled version which uses a DOS extender to allow editing bigger
levels, but which will not work under Windows or OS/2.
DMCAD43.ZIP - DoomCAD 4.3 by Matt Tagliaferri. A Windows-based level
editor.
EDMAP110.ZIP - EdMap 1.10 by Jeff Rabenhorst. A DOS-based level
editor. A newer file, EDMAP111.ZIP, upgrades to version 1.11 but
requires that 1.10 already be installed.
MDE90B1.ZIP - My DOOM Editor 0.90b by Patrick Steele. A DOS-based
level editor, last updated May 1994.
ULTED.ZIP - UltEd 1.00b by Peter Ott. An OS/2-based level editor
(preliminary, use with caution).
WADED129.ZIP - WadEd 1.29 by Matthew Ayres. A DOS-based level
editor.
WADSUP11.ZIP - Wads_Up 1.1 by G. Whitehead. A Windows-based level
editor, last updated April 1994.
-----
[D-2] NODE/REJECT BUILDERS - /pub/doom/wad_edit/node-build
/pub/doom/wad_edit/misc
BSPxxx.ZIP - BSP nodes builders by Colin Reed and collaborators.
There are several different versions, so a chart may help:
Filename Version Runs on Extended Memory? 387 needed?
-------- ------- ------- ---------------- -----------
BSP11TC 1.1 DOS No No
BSP11W 1.1 Windows Yes No
BSP12X 1.2 DOS Yes Yes
BSP4OS2 1.2 OS/2 Yes No
IDBSPxxx.ZIP - Nodes+REJECT builders adapted from Id's published
"IDBSP" code by Ron Rossbach and collaborators. Another chart:
Filename Version Runs on Extended Memory? 387 needed?
-------- ------- ------- ---------------- -----------
IBSP101D 1.01 DOS No No
IBSP101L 1.01 Linux Yes No
IBSP101O 1.01 OS/2 Yes No
IBSP102D 1.02 DOS No No
IDBSP10 1.0 DOS No No
(this version moves Things and merges Sectors - use 1.01 or better)
IBSPWAT 1.0x DOS Yes No
(Steve Larsen's WATCOM build fixes some bugs)
NODENAV.ZIP - NodeNav 0.8 by Frank Palazzolo. Shows nodes rather than
building them, but useful for learning how nodes work.
REJECT10.ZIP - REJECT.EXE 1.0 by L.M.Witek. A DOS-based REJECT
builder; uses a distance based algorithm that may cause problems on some
WADs.
RMB11.ZIP - Reject Map Builder 1.1 by Jens Hykkelbjerg. A DOS-based
REJECT builder with full line of sight computation and a command file
based override/customization facility.
VNB1050.ZIP - VNB 1.050 by Robert Fenske, Jr. A DOS-based Nodes+Blockmap
builder.
-----
[D-3] WAD MANIPULATION UTILITIES - /pub/doom/wad_edit/misc
DMADDS1B.ZIP - Doom Add Sprite utility 1.0b by Bernd Kreimeier.
Allows sprites from PWADs to be added to the main IWAD.
DMASE.ZIP - DOOM Audio Sound Extractor 1.2 by Bucky La Dieu. A front
end to DMAUD (see below) that extracts all sounds from a PWAD at once.
DMAUD11.ZIP - DOOM Audio Editor 1.1 by Bill Nesius. Inserts and
extracts digitized audio (sound effects) from IWAD and PWADs. Outputs
WAV files, inputs any kind.
DMCHECK09.ZIP - DOOM Check 0.9 by Jean-Serge Gagnon. Checks DOOM
version, file space, etc, for use in batch files.
DMDUMP09.ZIP - DOOM Dump 1.0 by Steve Simpson. Dumps PWAD data
out in readable text format.
DMGRAP11.ZIP - DOOM Graphic Editor 1.1 by Bill Neisius. Extracts,
replaces, adds and views graphics in WADs. Inputs, outputs GIF or
PPM files.
DMMUI.ZIP - DOOMusic User Interface 1.0 by Pooka. A front end to
DMMUSIC (see below) and MIDI2MUS, to simplify putting and getting
music into and out of WADs.
DMMUS10A.ZIP - DOOM Music Editor 1.0a by Bill Neisius. Extracts,
replaces and adds music to/from IWAD and PWADs.
DMPS20.ZIP - DOOM PostScript Map Generator 2.0 by James Bonfield and
Gerhard Karnik. Produces printer-ready PS images of IWAD or PWADs.
DMTEX09B.ZIP - DooMTex 0.9b by Steve McCrea. Tools for adding new
patches and textures to PWADs. Requires WadTool and DMGRAPH.
DOOMTOOL.ZIP - Doom Tools by James Dooley. Has a standalone tool for
combining two PWADs into a third.
DVIEW200.ZIP - DOOM View 2.0 by Mr. Skibone. Views and extracts
graphics from WADs.
EWT.ZIP - WAD Extended Tools 1.0 by VeLS. Views resources.
MIDI2MUS.ZIP - MIDI to MUS Converter from Id. Converts MIDI to
"Paul's MUS format." Needed with DMMUSIC.
MOVELEV2.ZIP - Move Level 2.0 by Steve Simpson. Displays
and/or changes the episode and mission numbers in PWADs.
RENWAD.ZIP - another ExMx changer, by ASRE.
TED12.ZIP - TED 1.2 by Peter Monks. Edits the ENDOOM resource
(colored text displayed on exit from game) in WADs.
WACKERB7.ZIP - Wacker 0.7beta by Keith Wilkins. Edits and creates new
graphic textures in WADs.
WADGC2.ZIP - WAD Graphics Compiler by Stefan Gustavson. Beta source
(Unix flavor) for graphics tools.
WADHAK.ZIP - Wad Hacker 1.0 by Roger Hayes. A Windows-based WAD
resource viewer.
WT100.ZIP - WAD Tools 1.0 by Jeff Miller. A DOS-based WAD
resource viewer/exporter/importer.
-----
[D-4] REFERENCE FILES - /pub/doom/wad_edit/text
ALLWALL2.ZIP - contains a single huge GIF showing all the wall
textures. Someone needs to break it up into manageable pieces; it
would then be an important reference tool instead of a curiosity.
An "ALL-FLOOR" companion GIF also exists but is not as widely
distributed.
DESIGNxx.ZIP - Level Design FAQ, edited by Tom Neff, i.e., this
document! In case you found it floating in a bottle, and wanted to look
for a newer version...
DMFAQ58.ZIP - The Official DOOM FAQ 5.8 by Hank Leukart. A big
omnibus collection of info on DOOM game play, culture and origins. Now
shipped with registered DOOM itself. Designers have less call to use it
than you'd think, but when they need it, they need it.
DMSPEC13.ZIP - The Unofficial DOOM Specs 1.3 by Matt Fell. An
essential compilation of technical data on all aspects of the game and
level design. Should be on every designer's desk. Needs updated with
some DOOM 1.666 changes, so look for 1.4 soon.
METRICS.ZIP - "DOOM Metrics" by Scott Amspoker. Comprehensive summary
of DOOM sizes, distances, clearances, speeds etc, with all information
experimentally verified. Covers more detail on this subject than the
Specs, and where they disagree, Scott is usually right.
TEXPATCH.ZIP - Textures To Patches, by Gregory Lewis. Lists texture
names on the left, with component patches and offsets on the right.
Very useful for creating substitute graphics.
TEXTURES.ZIP - "Managing Textures and the Unpegged Attribute" by Scott
Amspoker. Intensive examination of how to use textures effectively in
level design.
* * * END OF FAQ * * *
DESIGN12.FAQ -- Frequently Asked Questions about DOOM Level Design
--------------------------------------------------------------------
Version 1.2, 09 Sept 1994. Editor: Tom Neff
INTRODUCTION
------------
This document answers questions on DOOM level design in general, not
how to play the game (covered in the DOOM FAQ - see Appendix B) or how
to use a particular editor (read the documentation that came with it).
Designers should also get the Unofficial DOOM Specs (see Appendix B).
Contributions to this document are welcome (see Appendix C).
The main sections are:
1. EDITORS 6. MONSTERS/THINGS
2. WALLS 7. LEVELS AND MAPS
3. SECTORS/ROOMS/FLOORS/CEILINGS 8. GRAPHICS/SOUNDS
4. DOORS 9. OTHER ERRORS
5. TAGS/TRIGGERS/EFFECTS
The Appendices are:
1. THE 10 MOST COMMON DESIGN ERRORS 3. CONTRIBUTING TO THIS DOCUMENT
2. GETTING ESSENTIAL FILES 4. DESIGN SOFTWARE/REFERENCE LIST
Questions and sections are numbered for reference, e.g., [3-5].
1. EDITORS
----------
[1-1] What's the best level editor? Where can I get Editor XYZ?
A. Try a few out and decide for yourself. See Appendix D for a list
filenames and current versions, as found on the primary DOOM software
sites listed in Appendix B. (Editor's Note/Full Disclosure Dept.: I am
on the development team for one of the popular editors [DEU], but this
FAQ plays no favorites. All the packages are of excellent quality
nowadays, and well worth your time to download and try.)
-----
[1-2] Where can I get an editor that works with Shareware DOOM?
A. Id has asked that user written DOOM utilities, including editors,
only work with the registered version of DOOM, and every major author has
complied as of this writing. Register your copy and join the fun.
-----
[1-3] Will the DOOM editors work with DOOM II or QUAKE?
A. The structures of DOOM II and the final (1.666) release of DOOM I
are expected to be similar, but we won't know for sureuntil DOOM II is
officially released in October. (Rumors indicate some changes in
mission naming may be needed.) No known level editor will support
anything having to do with the infamous "pirate copy" of DOOM II, in
keeping with Id's wishes.
QUAKE (still in early development) is going to be a completely
different design, and its "maps" will have nothing to do with DOOM WADs.
Id seems to be ready to encourage user-written QUAKE add-ons as they
have done with DOOM, but an entirely new set of editors will have to be
written when the time comes. Today's editors are for DOOM, period.
-----
[1-4] I heard about some editor that speeds up the shotgun or makes
Imps shoot barrels; how does that work?
A. Those are "EXE HACK" utilties, and not covered in this DOOM Level
Design FAQ. The most popular EXE hacker is DEHACKED, found on the FTP
sites mentioned in Appendix B. Lots of fun, but not our topic!
2. WALLS
--------
[2-1] I flagged a two-sided wall Impassable, but monsters and players
can still shoot through it. What's wrong?
A. Lines with the 2S flag lit DO NOT stop bullets/fireballs, no matter
what other flags are set. To stop shots, you need either one-sided
lines (void space) or a floor-ceiling mismatch high enough to block the
line of sight. "Impassable" only refers to motion by monsters or
players.
(Note that lines having two sidedefs but with the 2S bit OFF will
stop bullets -- but not rockets or plasma. See [2-9] below.)
-----
[2-2] I set "Blocks Sound" on the lines surrounding a room, but monsters
still seem to hear me. What's wrong?
A. A sound you make (punching, firing or launching, not grunting,
wheezing or talking in Multiplayer) will activate every non-deaf monster
that hears it. Sound first fills your own sector, then travels across
every *2S flagged* line into adjacent sectors whose floor and ceiling
leave a gap (i.e., not closed doors or sealed-off lifts). It then fills
those sectors and proceeds the same way. Sound will cross *one* line
with the "Blocks sound" flag lit, but will stop at the *second* such
line it encounters.
So - place a thin "buffer sector" next to your room, with both lines
flagged "Blocks Sound," and monsters on the other side of the buffer
sector won't hear you.
-- with material from Richard Krehbiel
-----
[2-3] OK, I understand how sound blocking works and my monsters work
properly, but why can *I* can still hear everything (monsters, shots,
lifts, etc), even across "Blocks Sound" lines?
A. Sound blocking only affects monsters. Human players can hear
everything possible (if there is a physical sound path) without regard
to line flags. Sound does attenuate with distance, e.g., a distant lift
will sound faint to you, a near one loud. (Monsters hear perfectly at
any distance.)
-----
[2-4] I wanted to make a doorway that LOOKS like a wall, by taking a
passable two-sided line and giving it a Normal texture on one or both
sides. Then you could walk/shoot through it, hide behind it, etc. But
when I loaded my level and walked up to the secret wall, it looked like
weird colored strings, and my PC slowed to a crawl. What's wrong?
A. We call this the Medusa Effect - it looks like snakes and you turn
to stone. :-) It happens because you used a *multi-patch* texture on
the Normal of your passwall. A fuller explanation of patches and
textures can be found in the Unofficial Specs (see Appendix B), but
briefly, each texture (like STARTAN3) is built from one or more graphic
"patches" (like SW19_1 and SW19_2); and for some reason, DOOM's engine
can only draw SINGLE-patch textures on passable walls. Examples of
single-patch textures (which you could use) are BROWNGRN, SKINTEK2, and
ASHWALL. Examples of multi-patch textures that won't work are STARTAN3,
COMPBLUE, and WOODSKUL. A complete list (TEXPATCH) of textures and the
patches that make them up is available (see Appendix [D-4]).
-----
[2-5] I got some strange colored dots and lines on some of my walls, but
I wasn't trying to make anything secret or strange. My PC seems to run at
full speed and the walls function normally, but they look funny. What
did I do?
A. This is Tutti Frutti effect (TFE), sometimes called "pink bug." It
happens for one of three reasons: you used a short texture (less than
128 high) on a taller wall; or you used a transparent texture (like
MIDGRATE) on an Upper or Lower surface, instead of the Normal surface;
or you accidentally set an X offset greater than the width of the
texture applied. (Many editors will attempt to prevent this, except
that if you change the texture to a narrower one afterward the old X
offset will stay.)
The "short texture TFE" happens because textures are only *vertically*
tiled on 128 pixel boundaries. If your wall is taller than your texture
and the texture is less than 128 high, DOOM fills in the extra pixels
with quasi-random garbage, hence the colored tutti frutti. You often
see this when designers put "STEPx" on 20-24 high steps.
The "upper/lower holes TFE" happens because Upper and Lower surfaces
actually have *nothing* behind them, so DOOM has nothing to show through
the holes; hence random garbage or tutti frutti.
-----
[2-6] A wall in my level looks strange - it seems to flash rapidly
with lots of overlapping textures and pictures from elsewhere in my
viewscreen. What did I do wrong?
A. This is the infamous Hall Of Mirrors (HOM) effect. You probably
omitted a necessary texture: either the Normal of a one-sided line, or
the Upper/Lower of a side whose upper/lower surface is exposed to air.
Many editors will catch this nowadays, but you can still run into it
when a lift or floor/ceiling movement exposes a surface that was
"originally" covered in the editor.
Note that there is another way to get Hall Of Mirrors, from too many
lines in view: see [9-1].
-----
[2-7] There is a place in my level where the whole screen flashes for
a moment, usually in random hash but sometimes in a pattern. If you
keep walking, it goes away. Am I hallucinating?
A. That's the "Moire'" or "Flash Of Black" error. It's another
DOOM bug/limit, triggered by getting close to a wall in a very tall
room. The effect first kicks in at about 559 units high, and gets worse
(you see it farther from the wall, and stay in it longer) as the room
gets taller. (The "pattern" you see is actually your old room's ceiling
texture, repeated forever at a great distance above and below you, as
though you were floating in some vast Stargate. Cosmic, man!)
If you don't really NEED the tall room, get it below 559 high. (Some
people make F_SKY1-ceiling exteriors very tall, for example, because
they figure "why not?" Answer: moire' error is "why not.") If you must
have it, accept the (harmless) error, or else work your way down to
below 559 high with steps up (constant ceiling) before exiting the room.
This is fixed in DOOM 1.4 and later versions.
-----
[2-8] Some of my level's long walls behave strangely. If you stand on
the edge, or in the corner, of this *big* room I built, you can SEE the
wall sort of "jump" and slide around. If you shoot from there, the
bullets sometimes stop right in front of your face! What did I do?
A. This is the Long Wall Error (LWE). Your wall is thousands of units
long, right? That gives the DOOM engine fits with round-off error
when it tries to compute and display the wall's position relative to
you. The blocked shots are from the "real" wall right in front of your
face! The solution is simple: break up long lines. Keep them under
1024. If you choose 768 or 512 unit long "segments," you will never
have a problem with X offsets in the texture tiling.
-----
[2-9] I guess I don't understand why the "2 Sided" flag (the 0x04 bit)
is needed at all! If a line has two sides, isn't that automatically a
two-sided line? What does the flag do, and what happens if you leave it
off? (I tried turning it off, but my editor wouldn't let me, it
silently put the flag back!)
A. The 2S flag allows light, sound and bullets to cross a line. It
does not affect the movement of players, monsters or projectiles
(rockets and plasma). It is required if one or both sides carry either
no middle texture or a see-through texture like MIDGRATE. If 2S is lit,
any nonempty middle texture must be "single patch" (see [2-4] above).
If you set up a line with two sides but the 2S flag turned off, you
and your enemies will be able to walk through it and fire projectiles
through it, but not see, hear or shoot through it. It must carry an
opaque texture on both sides, although this can be multi-patch.
Monsters on the other side will not wake up or notice you, even if you
shoot plasma at them through the wall, but once they ARE awake and "on
your trail" they will follow you through the wall (but not try to shoot
or throw projectiles across it, even though the latter would work,
because they cannot "see" you). This might have some uses as a "trick
feature" in a level.
Ideally, editors should not interfere with you turning off (or on)
any flag you want, although their consistency checkers might notice
this kind of "strangeness" and query you on it.
3. SECTORS/ROOMS/FLOORS/CEILINGS/STAIRS
---------------------------------------
[3-1] Is it possible to make a two-story area, where you could walk
over or under another player? What about a floating cube?
A. Not really - that's a limit of the DOOM engine. Only one sector can
occupy a given spot on the (2-D) map, and that sector has one floor and one
ceiling height.
You can do some fairly convincing imitations, though. Two- or
three-"story" buildings have been done, with transporters placed in the
middle of the "up"/"down" staircases or lifts. Criss-crossing mazes on
two or three levels (see OCTAGON) have been done, where you jump over
"trenches" while running the upper levels.
You can also make things that LOOK like floating platforms, even
though you can't go both over and under them. Judicious use of F_SKY1,
uppers and lowers does the trick.
-----
[3-2] I set a sector's type to Light Pulsates Smoothly, but it doesn't.
A. First, some versions of some editors got the pulsating sector type
wrong. It is type 8. Second, the smooth pulsing goes from the initial
brightness level *DOWN TO* the lowest adjacent brightness, and then back
up. If the type-8 sector is at or below the brightness of all adjacent
sectors, nothing will happen.
-----
[3-3] I made a Teleporter, but I can't get the "pentagram" floor
texture to line up properly with the teleporter pad. Aren't there X and
Y offsets for floor textures?
A. No, floors and ceilings are tiled on a fixed 64x64 grid throughout
the level, regardless of where you draw your lines. In order to make
the various patterns align properly, you need to build your ceilings,
telepads, etc, *on* the 64x64 grid or some multiple thereof. Most
editors have some kind of grid overlay that can make this easier.
-----
[3-4] How do I make stairs?
A. Consult your editor's documentation: some have canned procedures
for this, and some do not. In general, stairs must be shallow enough to
climb and wide and tall enough to fit through. Remember that the HIGHER
step riser's floor must be at least 56 units below the LOWER adjacent
ceiling, or you won't fit. You can only climb up 24 units at a time.
-----
[3-5] How tall can I make my ceiling, or how deep my floor? Editor XYZ
only lets me input values from -1000 to +1000 (or whatever), but someone
told me they saw a WAD with rooms taller than that.
A. The only hard limit is +16383 for the ceiling and -16384 for the
floor. Many editors impose more conservative limits, but they should
properly allow any value in the above range. Under DOOM versions 1.2 and
earlier, the Tall Room or "Moire'" error (see [2-7]) will crop up if the
*difference* between floor and ceiling is great; but a (Floor=15000,
Ceil=15100) room will play perfectly in all versions. The only reason most
designers would want to put rooms that high or low would be to take
advantage of the enormous jump-down or lift raise/lower times they incur!
(The author sometimes builds "delay" Deathmatch exits atop 2000-high lifts
inside an elevator alcove: anyone can call for it, but it takes fifteen
seconds to arrive, enough time for cowards to be "discouraged.")
-----
[3-5] I wanted to have a sector rise and change texture, then later
lower it again. I have the sector tagged properly and a "lower floor"
switch set up with the same tag, but after I raise and match the floor,
it won't lower! What's wrong?
A. "Raise and match texture" appears to work by *copying* ALL sector
information from the sector to be matched (the one on the right side of
the activation line; see [5-6] below) to the target sector, including
textures, type, light levels and -- what counts here -- tag number. Any
tag you had originally set in the map is gone.
A workaround is to set a *different* tag number on the sector to be
matched; this will then be copied to the target sector at the time of
raise-and-match. The second "lower" switch could then be tagged to this
new number. Only problem is that this means the sector adjacent to the
raise-and-match activation line will also be lowered! But you may be
able to set another line somewhere in a 0-tagged sector to do a "dummy"
raise and match and wipe out the extra "lower" tag number. Oh, it gets
hairy. Experiment with it.
-- with material from Evan Bynum
4. DOORS
--------
[4-1] How do I make a door?
A. Your editor's documentation probably covers this, including whatever
specific keys, buttons, menu selections (and so on) that you need to use
to do it. But in general, for the simplest, "classic" Door, you need to
have a sector lying between two other sectors. The Door sector itself
should have its Ceiling lowered to equal its Floor height. The two "door
face" lines should be two-sided, with their right (first) sides facing
outward; those right sides should have no Normal texture, but an Upper
texture of something "doorish" like BIGDOOR2. The Door face lines
should have a "Door" Type number like 1, and Tag of 0.
The other two ("door jamb") lines should be one-sided (void space
behind them), with a Normal texture like DOORTRAK and the "Unpeg
Lower" flag set. (This holds the DOORTRAK still while the door goes up
and down.) The lowest of the adjacent sectors' ceilings must be at
least 64 higher than the highest adjacent floor, or you will not be able
to walk through the door. (The rising door stops 4 below the lowest
adjacent ceiling, and you are 56 high.) There are many more complicated
kinds of door and door-like features, but this is the simplest.
-- with corrections from Scott Amspoker
-----
[4-2] I built a door in a high-walled room, and now the door texture
"repeats" all the way to the ceiling. It's very ugly. How do I get
rid of it?
A. Recess the door. Add a mini-"hall" leading from your main room,
with a lower ceiling height to match the texture height of your door, and
place the door in that.
|
+-+-+-------
: |d|
room : |o| hall
: |o|
: |r|
+-+-+-------
|
-----
[4-3] I added a door but when I play the level, the door is already open,
and it makes an opening noise but it won't close. What gives?
A. It's hard to get this to happen. You may have a Tag number set to
something inappropriate: for most Door types, it should be zero. Make
sure the activating lines face "outward" (right side facing the player).
Most doors start out closed (floor = ceiling), but they don't have to.
Note: Even if a door starts out partly open, it will still close all
the way (floor=ceiling).
-----
[4-4] How can I keep monsters from opening a door?
A. One way is by requiring one of the Keys (red/blue/yellow) to open
the door. Monsters don't have keys. This is the only simple way to
keep monsters out or let them in under *your* control. If you want to
keep them out of a door, period, you could put a thin high step in front
the door, or mark one of the door lines with the BLOCKMONSTERS flag.
There are also some Tag-based "door-like" special linetypes which
monsters do not seem to want to trigger, so you could use one of those.
-----
[4-5] I want to make a door that only works (opens) AFTER a switch
somewhere else is pressed. Can this be done?
A. Not "directly" -- linetypes cannot change dynamically in a map -- but
you can make a terrific mock-up that does what you want.
The trick is to put a thin door IN FRONT of the door you want to open
later. The inner and outer doors might have exactly the same Upper
texture and lighting level, unless you want to make the change obvious.
You can even light the "Unpeg Upper" flag on the front of the outer
door. Then, when you press your external switch elsewhere on the level,
the thin outer door rises, revealing the "real" door underneath. If you
unpeg the outer front and keep your thickness down, this process will be
nearly undetectable.
To make sure the user can't activate the inner door by pressing
"through" the outer one, you may want to give the outer door's front
face an innocuous special linetype, like one that lowers a hidden lift
somewhere.
-----
[4-6] I set up a door (or even a secret door) in a wall, and I raised
the "sill" a few units above the floor. But now you can see right
through it on the Map display as if it weren't there! I don't want this
effect, is there a workaround?
A. DOOM has a bug where, if you look at a closed door whose
floor(=ceiling) is higher than the sector floor beyond, it appears on
the map like an open window. Secret flags don't help. What you can do
is either make the whole sector behind the door higher to match the
raised sill, or at least put a narrow "buffer sector" behind the door at
the same height. Then the door will become opaque on the Map again.
-- with material from Robert Forsman
5. TAGS/TRIGGERS/EFFECTS
------------------------
[5-1] I can't get my Tags to work right. I put the sector number I
wanted into the Linedef...
A. Hold it right there! :-) Tags are perhaps the most misunderstood
DOOM feature. Tags are NOT sector numbers and they are NOT line
numbers! They are *arbitrary* numbers, 1 to 32767, that are *shared* by
one or more lines and sectors, as a way of identifying the sectors as a
group. It's just like being assigned a "box number" when you place a
newspaper classified ad. You say, Here's my ad, and they give you Box
78, which happened to be unused. 78 bears no relationship to you
personally, it's just the place where replies to your ad will be sent.
Similarly, if you set up an effect like "lights out," with a walk-over
line to trigger it and a set of one or more sectors whose lights you
want to go out, the actual *numbers* of the lines and sectors don't
matter. You pick an unused Tag number out of thin air -- say #7 is free
-- and you plug that Tag number into *both* the trigger line (or lines)
and the affected sector (or sectors). Then later, when you walk over
that line, DOOM says oh, that had Tag #7, now where are all the Tag #7
sectors? and when it finds them, whatever their actual sector numbers,
it turns out their lights.
-----
[5-2] Then what's a Platform?
A. Originally it was Id slang for a lift, the "down wait up stay"
elevator sectors. Platforms needed tags like any other effect, but
unfortunately the concepts got confused in a few minds and some design
software came out that used "platform" to mean Tag. In fact, Tags are
much more flexible and applicable to many more things than just lifts.
Current versions of just about everything get it right.
"Plat" in the game has a related but different meaning: it's a data
structure used to apply an effect to a sector. If you mess up your Tags
and accidentally try to lower every sector in the level at once, you'll
probably bomb out to DOS with a "no more plats!" error message.
-----
[5-3] I set a line to turn the lights out on a sector, but when I walk
across it, almost ALL the lights go out in my level! What in the world
have I done now?
A. You forgot to set the Linedef Tag number (and the affected Sectors)
to something NONZERO. If DOOM sees a Tag of zero (0) on a trigger
line, it will find all the sectors with the SAME (0) Tag (i.e., most of
the sectors on your level) and do the action on all of them.
There is some confusion about when and how Tags should be used. There
are only TWO kinds of trigger lines that don't require a Tag: "true"
Doors (types 1, 26, 31, etc - see the Unofficial Specs) and the End Level
group. Every other kind of special linetype WILL use the Tag stored in
its Linedef.
-----
[5-4] I have a lift in front of a door, and sometimes I can't get the
door to open. What's wrong?
A. When two trigger lines are in front of you, DOOM always chooses
the closer of the two. What's probably happening is that your lift is
so narrow that its trigger line blocks the door's. Try setting the lift
well back from the door, or using a separate wall switch for the door.
Of course, this can be an advantage too: to keep people from pressing
the "back" of a switch (in a cooperative exit, for instance), surround
it with innocuous special linetypes that do something like open a door
or turn the already-bright lights up.
[5-5] How do I make a teleporter?
A. This is covered in a lot of tutorials and editor manuals, but
briefly: You need at least one departure Line, one arrival Sector and
one destination Thing. The line can be anywhere, must be two-sided, and
must have its linetype set to 39. Its Tag number should be set to match
the Tag of the arrival sector. The sector can be anywhere, should be
tall enough to accomodate a player, must share the same Tag number and
must be the only Sector with that Tag (although there can be as many
Lines as you like). Inside the arrival Sector must be exactly one Thing
of type 14 (Teleport exit).
With those pieces in place, you're set: a player or monster walking
from Right to Left (1st side to 2nd side) across the line will be
teleported onto the Thing in the destination Sector. The Direction of
the destination Thing will be the direction you face on arrival.
-----
[5-6] I wanted to make a sector that moves and changes texture, using
one of those exotic linetypes my editor tells me about. But when I hit
the switch, the sector gets the wrong texture! How do I fix that?
A. Most "change texture" triggers modify the tagged (target) sector
floors to match the texture on *side 1 of the line where the switch is*.
Put the texture you want on that side, and the tagged sector will follow
suit.
-----
[5-7] Rising staircases are confusing! Mine do everything but what I
want. How do I fix them, and what does the Tag 999 do?
A. Yes, they can sure be confusing, but we're fearless, so read on.
Here's how rising stairs work. You trigger the first (bottom) step in
the expected way, with a linetype 7 or 8 (in DOOM 1.666, linetypes 100 and
127 also work) tagged to a sector. That sector rises -- make sure it
has the necessary lowers or you'll get HOM! -- and then DOOM looks for
the next sector to raise by searching for the *lowest numbered* linedef
whose *first* (right) side faces onto the current sector. If no first
side faces inward, rising stops. Otherwise the "found" neighboring
sector is raised, and the search continues from there. Tags are not used
at any time.
Now, why do Id's examples have odd tag numbers like 99 or 999 on
alternating sectors? For the very dumb reason that their nodes builder
-- IDBSP, whose source was released to the DOOM user community -- actually
*combines* adjacent sectors with identical characteristics! Before
rising, all the staircase steps have the same height, light levels and
textures. So, to make them "different" and prevent IDBSP from merging
them, Id's level designers stuck a nonsense tag number on every other
one. The nodes builders we use these days (including several
adaptations of Id's original) no longer do nasty things like combining
sectors without permission, so we can skip the tagging gymnastics.
-----
[5-8] I set up a floor sector that's supposed to rise and fall every
5 seconds, but when I activate it nothing happens! Or, I made a "lift"
but it doesn't go up and down! What could be wrong?
A. Make sure that you start "perpetual raise" floors (linetypes 53
and 87) and lifts in the *UP* position. They are designed to go DOWN
from their initial position to the lowest nearby (or nearest) floor when
activated, then back up to the initial position. If you start them
"lowered" in the level map, they will go nowhere.
6. MONSTERS/THINGS
------------------
[6-1] I built a hallway/room that my monsters refuse to enter. They
stamp around at the entrance but that's it.
A. Make sure your hall is wide and tall enough! The Unofficial
Specs [4-2-1] have a list of monster heights and widths. What's more, if
a hall is *just* wide enough for a monster, it's less likely to enter
than if it's *plenty* wide enough.
Also be careful about step-downs and step-ups. Monsters will not step
up/down too far onto narrow steps. If you want a monster to go up or
down more than 16, make sure there's plenty of room on both sides of the
riser line.
The actual tested measurements for all monsters are in the METRICS
document; see Appendix D.
And of course, make sure you didn't accidentally mark the entrance
with BLOCKMONSTERS or something, by accident in the editor.
-- with material from Adam P. Harris
-----
[6-2] I put some demons in a room but they don't move, they just stand
there and twitch, although they scream when I shoot them. How did that
happen?
A. You probably placed them too close together when you laid out your
level. Monsters have to be separated from each other (AND from nearby
walls) by at least their own width, or they freeze in place. (If you
kill all of a monster's too-close neighbors, it will usually free the
monster to attack you.)
The other possibility is that your ceiling is too low. See the
Unofficial DOOM Specs (Appendix B) for monster widths and heights.
-----
[6-3] There's this great "zoo room" I built with a hundred demons in
it! What a blast to mow your way through so much alien flesh. But it's
weird, like some of the monsters "flicker" in and out of view. Should
that be happening?
A. DOOM can only keep track of 64 sprites in your view at once. If
you have more than that, some will fail to display in each frame,
effectively at random. (This includes things like torches and barrels.)
The more sprite overload, the greater the chance that any given sprite
will be "invisible" at a given moment. Put 200 imps in a room and each
one will be "gone" 2/3 of the time.
The workaround is, quite simply, to design your level in a way that avoids
sprite overload. Instead of 100 troopers in a room, use 50 and keep the
hanging corpses to a minimum in that area... etc.
-- with material from Vesselin Bontchev
-----
[6-4] How close to the edge of a "shelf" do I need to put my stim
packs and potions so the players can get them? How far back must I put
something to keep the player's hands off of it until the right moment?
Does it matter how high or low the items are?
A. First the height issue: In order to be grabbed, a thing must be
sitting on a floor that's between your feet and your head, e.g., between
0 and 56 units above the floor the grabbing player stands on. Above or
below that and it won't be taken no matter how close to the edge.
As for horizontal distance from the edge: On paper, your body radius
is 16 units, your grabbing "arms" extend another 32 units beyond that,
and gettable objects themselves have a radius of 16, so that when you
bump up against an unclimbable "shelf" lower wall, you should be able to
grab things centered as much as 48 units back from the edge. But in
practice I find considerable "slop" at the edges of these numbers, and
also a longer reach if you run full speed into a barrier. To be
absolutely certain an item will be taken at the lightest shelf contact,
place it 24 or fewer units back. To be absolutely sure the item will
NOT be taken, even with a running start at -turbo 200, place the thing
40 or more units back. (If you try to finesse these numbers or shave
them very close, beware of editors or WAD post-processors that snap
Thing coordinates to an 8x8 or coarser grid!)
-----
[6-5] I put some Columns and Torches in a room, but they look funny,
almost as though they're sticking up "into" the ceiling. Why does that
happen and what do I do about it?
A. Make the room taller or pick shorter Things. Each Thing has an
apparent height when its Sprite is drawn, and low ceilings do not cut off
any excess; the whole thing is drawn, even if it seems to pass
mysteriously into the ceiling. Tech Columns are about 112 high, the
highest example. Other things are lower.
-- with material from Vesselin Bontchev
7. LEVELS AND MAPS
-------------------
[7-1] When I play my level and switch to Map mode, it only shows me a
little bit of the local area I'm in, even when I hit "-" a lot or "0" to
Zoom Out. The Id levels seem to work OK and some of the levels I've
downloaded do too. What am I doing wrong?
A. The culprit is the resource called BLOCKMAP. It is described in
the Unofficial Specs [4-11]. Some editors don't build a good one. You
can usually overcome this by creating a few dummy "sectorlets" or just
linedefs out at the "corners" outside of your real level map area.
Otherwise, you'll have turn Follow off and scroll around the map.
-----
[7-2] I designed a level that's about as complicated as one of the
original ID levels - roughly the same number of rooms, monsters, etc.
But mine plays much *slower* than the originals! What's wrong?
A. Remember that DOOM only loads PWADs when it needs them, so there
will be some inevitable disk overhead when your level first starts, and
occasionally thereafter if DOOM needs to keep going to disk to get other
entries from your WAD file. (If you have enough memory, DOOM actually
improves with about 1 Megabyte of disk cache, although results vary from
system to system.)
More importantly, there is a resource called REJECT that quickly tells
DOOM whether sectors can "see" each other, allowing many expensive
line-of-sight checks to be skipped. Without REJECT, DOOM must
constantly check each monster to see whether it has a line of sight to
your location. On a level with a lot of monsters, this can be time
consuming.
As of this writing, some editors generate a real, usable REJECT resource
when you save a level, while others need to be used in conjunction with a
separate, standalone REJECT builder (like IDBSP, REJECT10 or RMB) in order
to optimize playing speed. See Appendix D.
-----
[7-3] I have designed several mission maps, but now I'd like to combine
them into a mini "episode" for distribution together. How do I do it?
A. You may be able to do it right in your editor; check the
documentation to find out whether your software supports combining
multiple PWADs into a single group file. If not, you may have to "borrow"
another editor temporarily, just long enough to do the combine.
If you have created each of your mission maps as E1M1, and if your
editor doesn't easily allow you to change a map's mission number
(something just about all of them do), you can use the MOVELEV utility to
change the episode and/or mission of your PWAD in place without editing
it. See Appendix D.
-----
[7-4] I just lost two days worth of work because that new Beta Test
release of NODEMAKE 2.99 [a made-up example] is buggy! I saved my PWAD,
ran NHOUND on it, and when I edited the PWAD again the lines were all
crazy! How can I get my data back?
A. You probably CAN'T get your data back, because you made the
dangerous mistake of editing, post-processing, and playing all out of the
SAME file. That's not the way to protect your valuable design effort!
Here is the safe way to do design work. Have one "cycle" of files which
contain nothing but editable map data for the level you're working on. If
your editor allows it, you can give these files a different extension,
say, MYLEV.EDI instead of MYLEV.WAD. Your editor may also allow for the
"old" input file to be renamed as MYLEV.BAK when you save, adding
another level of protection. Then when you edit, do it with a *batch
file* that runs your editor followed by any post processor, directed to
another file. So for example
MYED.EXE %1.EDI
NODEMAKE.EXE %1.EDI %1.WAD
after which you might have as many as *three* good files: MYLEV.BAK,
MYLEV.EDI, and MYLEV.WAD. So if a test version of NODEMAKE hoses the
output, you're still in business.
-----
[7-5] Do nodes builder programs like BSP take into account any nodes I
have already built in the editor or with a previous program?
A. No, they always build them from scratch using just the map data.
You may have some control over the "depth" and/or "speed" of the BSP
structure, depending on your editor's or utility's parameters; consult
the documentation for details.
-- with material from Douglas Baker
-----
[7-6] Is there any way to import AutoCAD or other CAD/CAM or home
design program datasets into DOOM as level maps?
A. Nobody has written a DOOM level editor that reads such files, to
the best of my knowledge. In principle, any CAD program that allows
dataset export to a Text file could be used along with a suitable text
editing script or program, to generate a DWD or WIF file which could
then be converted to a WAD with the IDBSP package (see Appendix D), but
again, nobody's done it that I know of. One of the problems you would
have, of course, is that much important information (special line and
sector types, tag numbers etc) would probably be absent from the CAD
dataset and have to be added later.
8. GRAPHICS/SOUNDS
-------------------
[8-1] Some of these DOOM levels I download have custom graphics. How
can I do that?
A. If you can create or find a GIF file of the right size, there is a
utility called DMGRAPH (see Appendix D) that will insert it into your
WAD file. You are on your own as far as picking a Windows or DOS based
graphics editor -- there are a lot of them, preferences vary widely, and
if you've never made a picture before, you're probably not ready to use
them in your DOOM levels. Once you have a picture, the DMGRAPH
documentation tells you more about how to use it.
-----
[8-2] I wanted to change STARTAN3, but when I ran the DMGRAPH utility,
it said "entry not found." What's wrong?
A. As described in the Unofficial Specs (see Appendix B), textures are
built out of graphic "patches." DMGRAPH 1.1 (the latest version at this
writing) only deals with patches, which have their own names. STARTAN3
is a texture name. A few textures are composed of exactly one "patch,"
allowing you to do a full substitution, but others are built of three or
five or more "patches." A future version of DMGRAPH may (or may not)
address this situation.
-----
[8-3] I can change the wall graphics just fine, but when I try to
change a floor or ceiling, DOOM either crashes or ignores my new
texture. What am I doing wrong?
A. Not much, unfortunately. As the DMGRAPH documentation points out,
only some kinds of graphic patches can be supplied in PWAD files.
Floors and ceilings ("flats") cannot be used from PWADs in any DOOM
version; sprites (Imp, Shotgun, Torch etc) can be used from PWADs in
DOOM 1.6 and later, but not in DOOM 1.2. (Yes, Id once said they would
allow flats to be added from PWADs in 1.6, but it didn't happen.) The
only thing you can do is patch them in the *original* DOOM.WAD file.
You could supply the GIFs, a copy of DMGRAPH and a batch file along with
your custom level, so that the user can insert the graphics him/herself,
but many users don't like having to patch their main IWAD.
Note that the one "ceiling" you CAN change in a PWAD is the Sky
graphic that's displayed "outdoors" in rooms with F_SKY1 as the ceiling
texture. But this is really a wall patch (SKY1/SKY2/SKY3, depending on
which episode you're in) that's displayed as a combination wall/ceiling
via a special algorithm.
-- with material from Matt Fell and Arek Wojciechowski
-----
[8-4] I got a utility (DMAUD) that replaces DOOM sounds, but I don't
know what numbers go with what sounds, and the Unofficial Specs don't
say. What are the various sound names?
A. Ask DMAUD: just type "dmaud -l" at the command prompt, and you'll
see a list of them.
-----
[8-5] Why can't I replace the DOOM music with the cool "Batman" theme
music .WAV file I downloaded from a BBS?
A. Because a .WAV file is a sampled waveform -- essentially one long
digitized sound effect -- and DOOM only uses this form for "noises" like
door sounds, gunshots, grunts etc. (Those you CAN replace, with Bill
Neisius's DMAUD utility; see Appendix D.) DOOM's background music is
stored in .MUS format, similar to MIDI (and convertible from MIDI with
the MIDI2MUS program; same Appendix) -- actually specifying instruments,
notes to be played, durations etc. There's no readily accessible way of
going "backward" from a .WAV to a MIDI music sequence. So if you want
to substitute your own music, you need to find some MIDI files, or
record your own with a MIDI-capable synthesizer.
-- with material from Jered Floyd and Brad Reynolds
-----
[8-6] Okay, I got a top of the line bitmap editor and I created some
GIF pictures to use as textures, then I inserted them into a PWAD using
DMGRAPH and I played my WAD. The pictures are there, but the colors are
awful! Lots of ugly red speckles, washed out areas, nothing looks the
way I expected. How did Id get theirs looking so good, and how do I do
the same?
A. Simple, they cheated. :-) That is, Id uses a non-uniform palette
that's optimized for the "look" they wanted their world to have. If you
extract one of their big patches out to a GIF file with DMGRAPH, then
load that into your graphics editor and examine the "image palette,"
you'll see what I mean: lots and lots of shades of grey, plenty of
intermediate greens and browns, a few blues, some reds, few yellows, and
other areas very skimpy. This lets Phobos look terrific, but when you
import your Euro Disney slides and feed them to DMGRAPH straight, it has
to map colors to their nearest equivalents in the DOOM palette, with
sometimes-horrendous results.
How to cope? Your fancy bitmap editor may or may not allow you to
"coerce" work to stay within the DOOM palette; some, like Corel
Photo-Paint 4&5, are designed for pro artists and always "think 24 bit."
If you keep the DOOM palette loaded, though, you can still use it
exclusively for new fills, lines, textures etc. You can also use one or
another freeware/shareware "image handlers" like Paint Shop Pro, which
can run in the background and coerce images to the palette for you. If
you can see in advance what the graphic's going to look like, you're a
lot better off. In general you can try to use colors that have plenty
of equivalents in the DOOM palette, keep things muted and somewhat low
contrast, etc. Beware when "dithering" pictures, because the results
may look awful up close in play.
-----
[8-7] I created some graphics and put them into my PWAD with DMGRAPH,
but when I run my editor it spits out some funny error messages, and when
I save my edited level the graphics are gone! Or the editor preserves the
graphics, but when I pass my PWAD through my favorite standalone NODES or
REJECT builder, it strips away my custom graphics and music. How can I
get around this?
A. The easiest way is to maintain a *separate* graphics/music PWAD while
you develop your level. Use only DMGRAPH/DMAUD/DMMUS to insert, remove or
change graphics/sound/music into that PWAD; never open it with an editor
or feed it to any other standalone map-oriented utility. Let the PWAD you
use in your editor contain *only* map data. Then when you test your
growing level, simply load *both* PWADs, map and graphics/sound/music,
with the -file switch:
doom.exe -devparm -skill 4 -file mylev.wad mygfx.wad
Then when you are ready to release your level, combine the two PWADs
into a single one using an appropriate editor or utility; see [7-3].
(Also see question [7-4] which is related to this one.)
-----
[8-8] How do I make a see-through wall like MIDGRATE?
A. Everywhere in your graphic that is PURE CYAN (Red=0, Green=255,
Blue=255) will be rendered as transparent if a texture using your
graphic patch is applied to the Normal (Middle) surface of a 2S line. To
see the proof of this, extract MIDGRATE (patch name M1_1) to a .GIF file
with DMGRAPH and edit it with your favorite graphics editor. The reason
this might not have been obvious is that many DOOM graphics viewers and
editors politely translate "pure cyan" to BLACK for you on the display.
-- with material from Adam P. Harris
9. OTHER ERRORS
----------------
[9-1] I have a level that passes all my editor's consistency checks,
and looks clean to me, but when I play it, I get strange flashing
effects on a few of the walls, what I think they call "Hall of Mirrors."
What's wrong?
A. First, make sure you built a good node tree with a BSP utility.
(See Appendix B for where to get them.) If you used BSP and it still
happens, and you're *sure* you didn't omit any required textures, you
may have hit a DOOM engine limit.
The limit has to do with how many lines DOOM can show you at a time.
If you have too many lines in sight at once (128 in DOOM 1.2, increased
to 256 in DOOM versions 1.4 and later), the extra sides will not be
drawn, and you will tend to see the Hall of Mirrors (HOM) effect
somewhere twards the back of the room.
Note that there are often MORE edges visible than there are lines on
the map! Looking at a staircase from above, for example, will show
two edges (riser and flat) for every map line. And an intervening
"shaft" or pillar in the middle that cuts the staircase in half will
double the number of long edge segments visible -- so you can reach the
limit more quickly than you think.
If you hit this limit, find a way to simplify your room's layout or
interpose some void space (one-sided surfaces) so you can't see so many
lines at once.
-- with assistance from John Carmack,
and material from Robert Forsman
-----
[9-2] I'm getting Hall of Mirrors, but I'm sure my room isn't too
complicated or anything. My level passes all the editor's checks and I
use the best BSP node builder. But when my crushing ceilings (or rising
platform/stairs, or lowering wall etc) are activated, the HOM appears.
What did I do wrong?
A. You're missing a necessary texture just like always, but your
editor's consistency checker didn't catch it because the texture is only
needed *dynamically* -- in the initial static map state, the pillar's
lower, crushing ceiling's upper, etc, are safely "hidden" and don't
appear to need a texture.
The only "solution" is to be vigilant about textures when adding a
feature like a surprise crusher, and/or keep careful bug-notes on such
things when testing out your level.
-----
[9-3] Some of my level's walls seem to "jump around"...
A. It might be Long Wall Error. See [2-8].
-----
[9-4] When I playtest my level, I sometimes get "invisible barriers"
running across a room or corridor. Either I can't get through them at
all or I can only squeeze past with great difficulty. When I type IDDT
on the Map display, I see extra lines that aren't on my real level! Why
does this happen?
A. These seem to be artifacts created by some Nodes builders.
Usually they occur in conjunction with very complex-shaped, "straggly"
or concave single sectors. A curved "maze" done as one big sector may
show this effect, or a giant "crescent moon" sector. Try breaking up
such sectors into simpler, more nearly convex pieces. You may also want
to try feeding your level to a different Nodes builder.
-- with material from Leigh Dehaney
APPENDIX A. THE 10 MOST COMMON DESIGN ERRORS
---------------------------------------------
Some of these are show-stoppers, i.e., DOOM will crash if you try to run
the level; others will let you run DOOM but game play is screwed up;
others are just ugly; and a few are common stylistic complaints. All
are encountered often in user-written levels, or asked about in
discussion forums, or both. There is no particular order.
[A-1] Bad Wall Effects. This includes HOM (Hall Of Mirrors), caused
by missing textures (see [1-7]); Medusa Effect, caused by incorrect
Normal textures on 2-sided walls (see [1-5]); Tutti Frutti, caused by
short Normal or transparent Upper/Lower textures (see [1-6]); Long Wall
Error, from superlong lines; and Moire Error, caused by ceiling changes
near tall rooms (see [1-8]).
[A-2] Wall Pegging. Wall faces exposed by rising/lowering ceilings or
floors (including door side tracks) should usually have the Unpegged
Lower/Upper bits set in their Linedef. This keeps the side textures
from "following" the adjacent rising/lowering sector. Many, many user
level designers forget to unpeg their door tracks. Just cosmetic, but
contributes to the sense of realism or lack thereof.
[A-3] Lines/Vertexes that Cross or Coincide. A show-stopper. If two
or more vertexes occupy the same position, or if two or more lines cross
or lie "on top of" one another, DOOM's engine will crash trying to work
out the sector math. Several editors are capable of checking for this;
if you get crashes, use one.
[A-4] Slowdown from Monster/Two-Sided Line Glut. Not a crash but a
playability issue. See [6-2]. Designers should try their levels on
less powerful PC's and/or at full screen resolution to see whether some
rooms are unacceptably slow.
[A-5] Unaligned Textures, both X and Y. Just cosmetic, but important
for realism. If your X textures are properly aligned and you split a
line or drag vertexes around, you will probably need to re-align. A
tedious job, but some editors help automate it for you. (But note: It's
considered polite to offset secret door textures a little bit -- say 2
pixels -- just enough so that an attentive player might notice it.)
[A-6] Missing Player Starts, Insufficient Sectors. Another
show-stopper. Every level must have a minimum of two (2) sectors. It
must also have a Player 1 Start if you are going to play solo; Players
2-4 Start if you will be playing Cooperative multiplayer; and anywhere
from four (4) to ten (10) Deathmatch starts if you will be playing
Deathmatch. Otherwise DOOM will crash. Hint: Unless your Deathmatch
design specifically forbids it, use all 10 starts; it will make play
more interesting.
[A-7] Floor/Ceiling Mismatch. Usually caused by raising/lowering a
floor but forgetting the associated ceiling, or vice versa. Sometimes
caused by accidentally "including" an unintended sector in a
floor/ceiling change, under editors that support multi sector "gang"
operations. Unless the ceiling is at least 56 higher than the floor,
you either can't enter or (if you are already there, via teleport,
floor/ceiling movement or start of play) you will be stuck. This is
sometimes an issue on stairs: the LOWER ceiling must be at least 56
higher than the HIGHER floor, or you cannot pass between two sectors.
[A-8] Missing/Wrong Tag Numbers. When tagged operations like Lights
Out or Raise Floor get the tag number wrong (in the activating Linedef),
the results are usually awful. The whole level "rises" or crushes or
something else you don't want. This can be tough to spot at first in
gameplay. Ideally, editors should check for this.
[A-9] Monsters Too Close To Each Other or to Walls. See [5-2]. You
must also be careful to place Deathmatch and multi-player Start points
far enough from walls, or arriving players will be immobilized.
[A-10] Dead Ends. Designers sometimes leave out an EXIT switch, which
makes it hard to play a level in Deathmatch or as part of a larger
episode. Also, perhaps this is a stylistic argument, but at least be
AWARE of which places (if any) on your level have "no escape" for the
unwary user who enters. ID's original levels do have a couple of these,
but many users don't like them.
-- with assistance from John Romero
APPENDIX B. GETTING ESSENTIAL FILES
------------------------------------
There are a number of essential files files for DOOM level designers,
particularly the basic reference Text files like the DOOM FAQ and the
Unofficial DOOM Specs; see Appendix D, [D-4] for a list.
Many of these documents are widely distributed on the various DOOM
BBS's, Usenet newsgroups, game boards of online services, and FTP sites
supporting DOOM players. Some services may use slightly different names
from the ones listed in Appendix D, and versions change over times, so
examine the directory listings carefully.
Where to FTP this stuff? Try one of the following sites:
infant2.sphs.indiana.edu:/pub/doom/wad_edit
wuarchive.wustl.edu:/pub/msdos_uploads/games/doomstuff
ftp.uwp.edu:/pub/incoming/id
/pub/msdos/games/id/home-brew/doom
APPENDIX C. CONTRIBUTING TO THIS DOCUMENT
------------------------------------------
If you have a correction, contribution or suggestion, please mail it
to me, the editor, at one of these addresses:
tneff@panix.com (Internet)
uunet!panix!tneff (UUCP)
>INET:tneff@panix.com (CompuServe)
or any other Internet mail gateway you can reach. I will read all
submissions and (if I use them) credit the author.
Remember, this is a level design FAQ for things that users really ask
about. It is not for editorial essays, unpublished screenplays, or wish
lists for someone's editor. :-) If you have discovered some new and
interesting technical fact about DOOM, mail it to Matt Fell for the next
Specs. I only want material that answers real-world design questions.
I am grateful for the numerous contributions this document has already
received from generous readers. Where their material has inspired or
improved an entry, I have mentioned them by name. I would also like to
thank the "Doom Design Elders" for your patience and support.
APPENDIX D. DESIGN SOFTWARE/REFERENCE LIST
------------------------------------------------
These are in alphabetical order within each section. No endorsement of
any particular product over its competitors is intended, although the
reference files in [D-4] get thumbnail evaluations. Each section
heading is followed by the name of the directory where the files
mentioned can be found on the INFANT2.SPHS.INDIANA.EDU FTP site (see
Appendix B).
[D-1] LEVEL EDITORS - /pub/doom/wad_edit/editors
DCK11.ZIP - Doom Construction Kit 1.1 by Ben Morris. A DOS-based
level editor.
DE_260B4.ZIP - DoomEd 2.60b4 by David Bruni. A Windows-based level
editor. A preliminary, incomplete release of 3.0 (DE3ALPH8.ZIP) allows
texture previewing and some other things.
DEU521.ZIP - DOOM Editing Utility 5.21, by Raphael Quinet and Brendon
Wyber. A DOS-based level editor. DEU521GCC.ZIP contains a GNU C
compiled version which uses a DOS extender to allow editing bigger
levels, but which will not work under Windows or OS/2.
DMCAD43.ZIP - DoomCAD 4.3 by Matt Tagliaferri. A Windows-based level
editor.
EDMAP110.ZIP - EdMap 1.10 by Jeff Rabenhorst. A DOS-based level
editor. A newer file, EDMAP111.ZIP, upgrades to version 1.11 but
requires that 1.10 already be installed.
MDE90B1.ZIP - My DOOM Editor 0.90b by Patrick Steele. A DOS-based
level editor, last updated May 1994.
ULTED.ZIP - UltEd 1.00b by Peter Ott. An OS/2-based level editor
(preliminary, use with caution).
WADED129.ZIP - WadEd 1.29 by Matthew Ayres. A DOS-based level
editor.
WADSUP11.ZIP - Wads_Up 1.1 by G. Whitehead. A Windows-based level
editor, last updated April 1994.
-----
[D-2] NODE/REJECT BUILDERS - /pub/doom/wad_edit/node-build
/pub/doom/wad_edit/misc
BSPxxx.ZIP - BSP nodes builders by Colin Reed and collaborators.
There are several different versions, so a chart may help:
Filename Version Runs on Extended Memory? 387 needed?
-------- ------- ------- ---------------- -----------
BSP11TC 1.1 DOS No No
BSP11W 1.1 Windows Yes No
BSP12X 1.2 DOS Yes Yes
BSP4OS2 1.2 OS/2 Yes No
IDBSPxxx.ZIP - Nodes+REJECT builders adapted from Id's published
"IDBSP" code by Ron Rossbach and collaborators. Another chart:
Filename Version Runs on Extended Memory? 387 needed?
-------- ------- ------- ---------------- -----------
IBSP101D 1.01 DOS No No
IBSP101L 1.01 Linux Yes No
IBSP101O 1.01 OS/2 Yes No
IBSP102D 1.02 DOS No No
IDBSP10 1.0 DOS No No
(this version moves Things and merges Sectors - use 1.01 or better)
IBSPWAT 1.0x DOS Yes No
(Steve Larsen's WATCOM build fixes some bugs)
NODENAV.ZIP - NodeNav 0.8 by Frank Palazzolo. Shows nodes rather than
building them, but useful for learning how nodes work.
REJECT10.ZIP - REJECT.EXE 1.0 by L.M.Witek. A DOS-based REJECT
builder; uses a distance based algorithm that may cause problems on some
WADs.
RMB11.ZIP - Reject Map Builder 1.1 by Jens Hykkelbjerg. A DOS-based
REJECT builder with full line of sight computation and a command file
based override/customization facility.
VNB1050.ZIP - VNB 1.050 by Robert Fenske, Jr. A DOS-based Nodes+Blockmap
builder.
-----
[D-3] WAD MANIPULATION UTILITIES - /pub/doom/wad_edit/misc
DMADDS1B.ZIP - Doom Add Sprite utility 1.0b by Bernd Kreimeier.
Allows sprites from PWADs to be added to the main IWAD.
DMASE.ZIP - DOOM Audio Sound Extractor 1.2 by Bucky La Dieu. A front
end to DMAUD (see below) that extracts all sounds from a PWAD at once.
DMAUD11.ZIP - DOOM Audio Editor 1.1 by Bill Nesius. Inserts and
extracts digitized audio (sound effects) from IWAD and PWADs. Outputs
WAV files, inputs any kind.
DMCHECK09.ZIP - DOOM Check 0.9 by Jean-Serge Gagnon. Checks DOOM
version, file space, etc, for use in batch files.
DMDUMP09.ZIP - DOOM Dump 1.0 by Steve Simpson. Dumps PWAD data
out in readable text format.
DMGRAP11.ZIP - DOOM Graphic Editor 1.1 by Bill Neisius. Extracts,
replaces, adds and views graphics in WADs. Inputs, outputs GIF or
PPM files.
DMMUI.ZIP - DOOMusic User Interface 1.0 by Pooka. A front end to
DMMUSIC (see below) and MIDI2MUS, to simplify putting and getting
music into and out of WADs.
DMMUS10A.ZIP - DOOM Music Editor 1.0a by Bill Neisius. Extracts,
replaces and adds music to/from IWAD and PWADs.
DMPS20.ZIP - DOOM PostScript Map Generator 2.0 by James Bonfield and
Gerhard Karnik. Produces printer-ready PS images of IWAD or PWADs.
DMTEX09B.ZIP - DooMTex 0.9b by Steve McCrea. Tools for adding new
patches and textures to PWADs. Requires WadTool and DMGRAPH.
DOOMTOOL.ZIP - Doom Tools by James Dooley. Has a standalone tool for
combining two PWADs into a third.
DVIEW200.ZIP - DOOM View 2.0 by Mr. Skibone. Views and extracts
graphics from WADs.
EWT.ZIP - WAD Extended Tools 1.0 by VeLS. Views resources.
MIDI2MUS.ZIP - MIDI to MUS Converter from Id. Converts MIDI to
"Paul's MUS format." Needed with DMMUSIC.
MOVELEV2.ZIP - Move Level 2.0 by Steve Simpson. Displays
and/or changes the episode and mission numbers in PWADs.
RENWAD.ZIP - another ExMx changer, by ASRE.
TED12.ZIP - TED 1.2 by Peter Monks. Edits the ENDOOM resource
(colored text displayed on exit from game) in WADs.
WACKERB7.ZIP - Wacker 0.7beta by Keith Wilkins. Edits and creates new
graphic textures in WADs.
WADGC2.ZIP - WAD Graphics Compiler by Stefan Gustavson. Beta source
(Unix flavor) for graphics tools.
WADHAK.ZIP - Wad Hacker 1.0 by Roger Hayes. A Windows-based WAD
resource viewer.
WT100.ZIP - WAD Tools 1.0 by Jeff Miller. A DOS-based WAD
resource viewer/exporter/importer.
-----
[D-4] REFERENCE FILES - /pub/doom/wad_edit/text
ALLWALL2.ZIP - contains a single huge GIF showing all the wall
textures. Someone needs to break it up into manageable pieces; it
would then be an important reference tool instead of a curiosity.
An "ALL-FLOOR" companion GIF also exists but is not as widely
distributed.
DESIGNxx.ZIP - Level Design FAQ, edited by Tom Neff, i.e., this
document! In case you found it floating in a bottle, and wanted to look
for a newer version...
DMFAQ58.ZIP - The Official DOOM FAQ 5.8 by Hank Leukart. A big
omnibus collection of info on DOOM game play, culture and origins. Now
shipped with registered DOOM itself. Designers have less call to use it
than you'd think, but when they need it, they need it.
DMSPEC13.ZIP - The Unofficial DOOM Specs 1.3 by Matt Fell. An
essential compilation of technical data on all aspects of the game and
level design. Should be on every designer's desk. Needs updated with
some DOOM 1.666 changes, so look for 1.4 soon.
METRICS.ZIP - "DOOM Metrics" by Scott Amspoker. Comprehensive summary
of DOOM sizes, distances, clearances, speeds etc, with all information
experimentally verified. Covers more detail on this subject than the
Specs, and where they disagree, Scott is usually right.
TEXPATCH.ZIP - Textures To Patches, by Gregory Lewis. Lists texture
names on the left, with component patches and offsets on the right.
Very useful for creating substitute graphics.
TEXTURES.ZIP - "Managing Textures and the Unpegged Attribute" by Scott
Amspoker. Intensive examination of how to use textures effectively in
level design.
* * * END OF FAQ * * *