home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / games / doom / design-FAQ < prev    next >
Encoding:
Internet Message Format  |  2000-09-05  |  60.2 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!micro-heart-of-gold.mit.edu!news.sgi.com!enews.sgi.com!outfeed2.news.cais.net!news.abydos.com!not-for-mail
  2. From: tneff@panix.com (Tom Neff)
  3. Newsgroups: rec.games.computer.doom.announce,rec.games.computer.doom.help,rec.answers,news.answers
  4. Subject: DOOM Level Design FAQ . . . . . . (94/09/09)
  5. Supersedes: <design_965634301@Gamers.Org>
  6. Followup-To: poster
  7. Date: 4 Sep 2000 03:45:25 -0400
  8. Organization: RGCD Support Team
  9. Lines: 1357
  10. Sender: jve@news.gamers.org
  11. Approved: doom@mantis.co.uk, news-answers-request@mit.edu
  12. Expires: 9 Oct 2000 07:45:03 GMT
  13. Message-ID: <design_968053503@Gamers.Org>
  14. NNTP-Posting-Host: thegate.gamers.org
  15. Summary: Describes techniques and tips for designing your own levels for
  16.          id Software's popular action-oriented computer game "DOOM".
  17. Xref: senator-bedfellow.mit.edu rec.games.computer.doom.announce:3344 rec.games.computer.doom.help:26291 rec.answers:60819 news.answers:191035
  18.  
  19. Archive-name: games/doom/design-FAQ
  20. Rec-games-computer-doom-announce-archive-name: design-FAQ
  21. Posting-Frequency: monthly
  22.  
  23.  --------------------------------------------------------------------
  24.   DESIGN12.FAQ -- Frequently Asked Questions about DOOM Level Design
  25.  --------------------------------------------------------------------
  26.   Version 1.2, 09 Sept 1994.      Editor: Tom Neff <tneff@panix.com>
  27.  
  28.  
  29. INTRODUCTION
  30. ------------
  31.  
  32.   This document answers questions on DOOM level design in general, not
  33. how to play the game (covered in the DOOM FAQ - see Appendix B) or how
  34. to use a particular editor (read the documentation that came with it).
  35.  
  36.   Designers should also get the Unofficial DOOM Specs (see Appendix B).
  37.  
  38.   Contributions to this document are welcome (see Appendix C).
  39.  
  40.   The main sections are:
  41.     1. EDITORS                            6. MONSTERS/THINGS
  42.     2. WALLS                              7. LEVELS AND MAPS
  43.     3. SECTORS/ROOMS/FLOORS/CEILINGS      8. GRAPHICS/SOUNDS
  44.     4. DOORS                              9. OTHER ERRORS
  45.     5. TAGS/TRIGGERS/EFFECTS
  46.  
  47.   The Appendices are:
  48.     1. THE 10 MOST COMMON DESIGN ERRORS   3. CONTRIBUTING TO THIS DOCUMENT
  49.     2. GETTING ESSENTIAL FILES            4. DESIGN SOFTWARE/REFERENCE LIST
  50.  
  51.   Questions and sections are numbered for reference, e.g., [3-5].
  52.  
  53.  
  54. 1. EDITORS
  55. ----------
  56.  
  57.   [1-1] What's the best level editor?  Where can I get Editor XYZ?
  58.  
  59.   A. Try a few out and decide for yourself.  See Appendix D for a list
  60. filenames and current versions, as found on the primary DOOM software
  61. sites listed in Appendix B.  (Editor's Note/Full Disclosure Dept.: I am
  62. on the development team for one of the popular editors [DEU], but this
  63. FAQ plays no favorites.  All the packages are of excellent quality
  64. nowadays, and well worth your time to download and try.)
  65.  
  66. -----
  67.  
  68.   [1-2] Where can I get an editor that works with Shareware DOOM?
  69.  
  70.   A. Id has asked that user written DOOM utilities, including editors,
  71. only work with the registered version of DOOM, and every major author has
  72. complied as of this writing.  Register your copy and join the fun.
  73.  
  74. -----
  75.  
  76.   [1-3] Will the DOOM editors work with DOOM II or QUAKE?
  77.  
  78.   A. The structures of DOOM II and the final (1.666) release of DOOM I
  79. are expected to be similar, but we won't know for sureuntil DOOM II is
  80. officially released in October.  (Rumors indicate some changes in
  81. mission naming may be needed.)  No known level editor will support
  82. anything having to do with the infamous "pirate copy" of DOOM II, in
  83. keeping with Id's wishes.
  84.  
  85.   QUAKE (still in early development) is going to be a completely
  86. different design, and its "maps" will have nothing to do with DOOM WADs.
  87. Id seems to be ready to encourage user-written QUAKE add-ons as they
  88. have done with DOOM, but an entirely new set of editors will have to be
  89. written when the time comes.  Today's editors are for DOOM, period.
  90.  
  91. -----
  92.  
  93.   [1-4] I heard about some editor that speeds up the shotgun or makes
  94. Imps shoot barrels; how does that work?
  95.  
  96.   A. Those are "EXE HACK" utilties, and not covered in this DOOM Level
  97. Design FAQ.  The most popular EXE hacker is DEHACKED, found on the FTP
  98. sites mentioned in Appendix B.  Lots of fun, but not our topic!
  99.  
  100.  
  101. 2. WALLS
  102. --------
  103.  
  104.   [2-1] I flagged a two-sided wall Impassable, but monsters and players
  105. can still shoot through it.  What's wrong?
  106.  
  107.   A. Lines with the 2S flag lit DO NOT stop bullets/fireballs, no matter
  108. what other flags are set.  To stop shots, you need either one-sided
  109. lines (void space) or a floor-ceiling mismatch high enough to block the
  110. line of sight.  "Impassable" only refers to motion by monsters or
  111. players.
  112.  
  113.   (Note that lines having two sidedefs but with the 2S bit OFF will
  114. stop bullets -- but not rockets or plasma.  See [2-9] below.)
  115.  
  116. -----
  117.  
  118.   [2-2] I set "Blocks Sound" on the lines surrounding a room, but monsters
  119. still seem to hear me.  What's wrong?
  120.  
  121.   A. A sound you make (punching, firing or launching, not grunting,
  122. wheezing or talking in Multiplayer) will activate every non-deaf monster
  123. that hears it.  Sound first fills your own sector, then travels across
  124. every *2S flagged* line into adjacent sectors whose floor and ceiling
  125. leave a gap (i.e., not closed doors or sealed-off lifts).  It then fills
  126. those sectors and proceeds the same way.  Sound will cross *one* line
  127. with the "Blocks sound" flag lit, but will stop at the *second* such
  128. line it encounters.
  129.  
  130.   So - place a thin "buffer sector" next to your room, with both lines
  131. flagged "Blocks Sound," and monsters on the other side of the buffer
  132. sector won't hear you.
  133.  
  134.          -- with material from Richard Krehbiel <richk@netcom.com>
  135.  
  136. -----
  137.  
  138.   [2-3] OK, I understand how sound blocking works and my monsters work
  139. properly, but why can *I* can still hear everything (monsters, shots,
  140. lifts, etc), even across "Blocks Sound" lines?
  141.  
  142.   A. Sound blocking only affects monsters.  Human players can hear
  143. everything possible (if there is a physical sound path) without regard
  144. to line flags.  Sound does attenuate with distance, e.g., a distant lift
  145. will sound faint to you, a near one loud.  (Monsters hear perfectly at
  146. any distance.)
  147.  
  148. -----
  149.  
  150.   [2-4] I wanted to make a doorway that LOOKS like a wall, by taking a
  151. passable two-sided line and giving it a Normal texture on one or both
  152. sides.  Then you could walk/shoot through it, hide behind it, etc.  But
  153. when I loaded my level and walked up to the secret wall, it looked like
  154. weird colored strings, and my PC slowed to a crawl.  What's wrong?
  155.  
  156.   A. We call this the Medusa Effect - it looks like snakes and you turn
  157. to stone. :-)  It happens because you used a *multi-patch* texture on
  158. the Normal of your passwall.  A fuller explanation of patches and
  159. textures can be found in the Unofficial Specs (see Appendix B), but
  160. briefly, each texture (like STARTAN3) is built from one or more graphic
  161. "patches" (like SW19_1 and SW19_2); and for some reason, DOOM's engine
  162. can only draw SINGLE-patch textures on passable walls.  Examples of
  163. single-patch textures (which you could use) are BROWNGRN, SKINTEK2, and
  164. ASHWALL.  Examples of multi-patch textures that won't work are STARTAN3,
  165. COMPBLUE, and WOODSKUL.  A complete list (TEXPATCH) of textures and the
  166. patches that make them up is available (see Appendix [D-4]).
  167.  
  168. -----
  169.  
  170.   [2-5] I got some strange colored dots and lines on some of my walls, but
  171. I wasn't trying to make anything secret or strange.  My PC seems to run at
  172. full speed and the walls function normally, but they look funny.  What
  173. did I do?
  174.  
  175.   A. This is Tutti Frutti effect (TFE), sometimes called "pink bug."  It
  176. happens for one of three reasons: you used a short texture (less than
  177. 128 high) on a taller wall; or you used a transparent texture (like
  178. MIDGRATE) on an Upper or Lower surface, instead of the Normal surface;
  179. or you accidentally set an X offset greater than the width of the
  180. texture applied.  (Many editors will attempt to prevent this, except
  181. that if you change the texture to a narrower one afterward the old X
  182. offset will stay.)
  183.  
  184.   The "short texture TFE" happens because textures are only *vertically*
  185. tiled on 128 pixel boundaries.  If your wall is taller than your texture
  186. and the texture is less than 128 high, DOOM fills in the extra pixels
  187. with quasi-random garbage, hence the colored tutti frutti.  You often
  188. see this when designers put "STEPx" on 20-24 high steps.
  189.  
  190.   The "upper/lower holes TFE" happens because Upper and Lower surfaces
  191. actually have *nothing* behind them, so DOOM has nothing to show through
  192. the holes; hence random garbage or tutti frutti.
  193.  
  194. -----
  195.  
  196.   [2-6] A wall in my level looks strange - it seems to flash rapidly
  197. with lots of overlapping textures and pictures from elsewhere in my
  198. viewscreen.  What did I do wrong?
  199.  
  200.   A. This is the infamous Hall Of Mirrors (HOM) effect.  You probably
  201. omitted a necessary texture: either the Normal of a one-sided line, or
  202. the Upper/Lower of a side whose upper/lower surface is exposed to air.
  203. Many editors will catch this nowadays, but you can still run into it
  204. when a lift or floor/ceiling movement exposes a surface that was
  205. "originally" covered in the editor.
  206.  
  207.   Note that there is another way to get Hall Of Mirrors, from too many
  208. lines in view: see [9-1].
  209.  
  210. -----
  211.  
  212.   [2-7] There is a place in my level where the whole screen flashes for
  213. a moment, usually in random hash but sometimes in a pattern.  If you
  214. keep walking, it goes away.  Am I hallucinating?
  215.  
  216.   A. That's the "Moire'" or "Flash Of Black" error.  It's another
  217. DOOM bug/limit, triggered by getting close to a wall in a very tall
  218. room.  The effect first kicks in at about 559 units high, and gets worse
  219. (you see it farther from the wall, and stay in it longer) as the room
  220. gets taller.  (The "pattern" you see is actually your old room's ceiling
  221. texture, repeated forever at a great distance above and below you, as
  222. though you were floating in some vast Stargate.  Cosmic, man!)
  223.  
  224.   If you don't really NEED the tall room, get it below 559 high.  (Some
  225. people make F_SKY1-ceiling exteriors very tall, for example, because
  226. they figure "why not?"  Answer: moire' error is "why not.")  If you must
  227. have it, accept the (harmless) error, or else work your way down to
  228. below 559 high with steps up (constant ceiling) before exiting the room.
  229.  
  230.   This is fixed in DOOM 1.4 and later versions.
  231.  
  232. -----
  233.  
  234.   [2-8] Some of my level's long walls behave strangely.  If you stand on
  235. the edge, or in the corner, of this *big* room I built, you can SEE the
  236. wall sort of "jump" and slide around.  If you shoot from there, the
  237. bullets sometimes stop right in front of your face!  What did I do?
  238.  
  239.   A.  This is the Long Wall Error (LWE).  Your wall is thousands of units
  240. long, right?  That gives the DOOM engine fits with round-off error
  241. when it tries to compute and display the wall's position relative to
  242. you.  The blocked shots are from the "real" wall right in front of your
  243. face!  The solution is simple: break up long lines.  Keep them under
  244. 1024.  If you choose 768 or 512 unit long "segments," you will never
  245. have a problem with X offsets in the texture tiling.
  246.  
  247. -----
  248.  
  249.   [2-9] I guess I don't understand why the "2 Sided" flag (the 0x04 bit)
  250. is needed at all!  If a line has two sides, isn't that automatically a
  251. two-sided line?  What does the flag do, and what happens if you leave it
  252. off?  (I tried turning it off, but my editor wouldn't let me, it
  253. silently put the flag back!)
  254.  
  255.   A.  The 2S flag allows light, sound and bullets to cross a line.  It
  256. does not affect the movement of players, monsters or projectiles
  257. (rockets and plasma).  It is required if one or both sides carry either
  258. no middle texture or a see-through texture like MIDGRATE.  If 2S is lit,
  259. any nonempty middle texture must be "single patch" (see [2-4] above).
  260.  
  261.   If you set up a line with two sides but the 2S flag turned off, you
  262. and your enemies will be able to walk through it and fire projectiles
  263. through it, but not see, hear or shoot through it.  It must carry an
  264. opaque texture on both sides, although this can be multi-patch.
  265. Monsters on the other side will not wake up or notice you, even if you
  266. shoot plasma at them through the wall, but once they ARE awake and "on
  267. your trail" they will follow you through the wall (but not try to shoot
  268. or throw projectiles across it, even though the latter would work,
  269. because they cannot "see" you).  This might have some uses as a "trick
  270. feature" in a level.
  271.  
  272.    Ideally, editors should not interfere with you turning off (or on)
  273. any flag you want, although their consistency checkers might notice
  274. this kind of "strangeness" and query you on it.
  275.  
  276.  
  277. 3. SECTORS/ROOMS/FLOORS/CEILINGS/STAIRS
  278. ---------------------------------------
  279.  
  280.   [3-1] Is it possible to make a two-story area, where you could walk
  281. over or under another player?  What about a floating cube?
  282.  
  283.   A. Not really - that's a limit of the DOOM engine.  Only one sector can
  284. occupy a given spot on the (2-D) map, and that sector has one floor and one
  285. ceiling height.
  286.  
  287.   You can do some fairly convincing imitations, though.  Two- or
  288. three-"story" buildings have been done, with transporters placed in the
  289. middle of the "up"/"down" staircases or lifts.  Criss-crossing mazes on
  290. two or three levels (see OCTAGON) have been done, where you jump over
  291. "trenches" while running the upper levels.
  292.  
  293.   You can also make things that LOOK like floating platforms, even
  294. though you can't go both over and under them.  Judicious use of F_SKY1,
  295. uppers and lowers does the trick.
  296.  
  297. -----
  298.  
  299.   [3-2] I set a sector's type to Light Pulsates Smoothly, but it doesn't.
  300.  
  301.   A. First, some versions of some editors got the pulsating sector type
  302. wrong.  It is type 8.  Second, the smooth pulsing goes from the initial
  303. brightness level *DOWN TO* the lowest adjacent brightness, and then back
  304. up.  If the type-8 sector is at or below the brightness of all adjacent
  305. sectors, nothing will happen.
  306.  
  307. -----
  308.  
  309.   [3-3] I made a Teleporter, but I can't get the "pentagram" floor
  310. texture to line up properly with the teleporter pad.  Aren't there X and
  311. Y offsets for floor textures?
  312.  
  313.   A.  No, floors and ceilings are tiled on a fixed 64x64 grid throughout
  314. the level, regardless of where you draw your lines.  In order to make
  315. the various patterns align properly, you need to build your ceilings,
  316. telepads, etc, *on* the 64x64 grid or some multiple thereof.  Most
  317. editors have some kind of grid overlay that can make this easier.
  318.  
  319. -----
  320.  
  321.   [3-4]  How do I make stairs?
  322.  
  323.   A.  Consult your editor's documentation: some have canned procedures
  324. for this, and some do not.  In general, stairs must be shallow enough to
  325. climb and wide and tall enough to fit through.  Remember that the HIGHER
  326. step riser's floor must be at least 56 units below the LOWER adjacent
  327. ceiling, or you won't fit.  You can only climb up 24 units at a time.
  328.  
  329. -----
  330.  
  331.   [3-5]  How tall can I make my ceiling, or how deep my floor?  Editor XYZ
  332. only lets me input values from -1000 to +1000 (or whatever), but someone
  333. told me they saw a WAD with rooms taller than that.
  334.  
  335.   A.  The only hard limit is +16383 for the ceiling and -16384 for the
  336. floor.  Many editors impose more conservative limits, but they should
  337. properly allow any value in the above range.  Under DOOM versions 1.2 and
  338. earlier, the Tall Room or "Moire'" error (see [2-7]) will crop up if the
  339. *difference* between floor and ceiling is great; but a (Floor=15000,
  340. Ceil=15100) room will play perfectly in all versions.  The only reason most
  341. designers would want to put rooms that high or low would be to take
  342. advantage of the enormous jump-down or lift raise/lower times they incur!
  343. (The author sometimes builds "delay" Deathmatch exits atop 2000-high lifts
  344. inside an elevator alcove: anyone can call for it, but it takes fifteen
  345. seconds to arrive, enough time for cowards to be "discouraged.")
  346.  
  347. -----
  348.  
  349.   [3-5]  I wanted to have a sector rise and change texture, then later
  350. lower it again.  I have the sector tagged properly and a "lower floor"
  351. switch set up with the same tag, but after I raise and match the floor,
  352. it won't lower!  What's wrong?
  353.  
  354.   A.  "Raise and match texture" appears to work by *copying* ALL sector
  355. information from the sector to be matched (the one on the right side of
  356. the activation line; see [5-6] below) to the target sector, including
  357. textures, type, light levels and -- what counts here -- tag number.  Any
  358. tag you had originally set in the map is gone.
  359.  
  360.   A workaround is to set a *different* tag number on the sector to be
  361. matched; this will then be copied to the target sector at the time of
  362. raise-and-match.  The second "lower" switch could then be tagged to this
  363. new number.  Only problem is that this means the sector adjacent to the
  364. raise-and-match activation line will also be lowered!  But you may be
  365. able to set another line somewhere in a 0-tagged sector to do a "dummy"
  366. raise and match and wipe out the extra "lower" tag number.  Oh, it gets
  367. hairy.  Experiment with it.
  368.  
  369.                      -- with material from Evan Bynum
  370.  
  371.  
  372. 4. DOORS
  373. --------
  374.  
  375.   [4-1] How do I make a door?
  376.  
  377.   A. Your editor's documentation probably covers this, including whatever
  378. specific keys, buttons, menu selections (and so on) that you need to use
  379. to do it.  But in general, for the simplest, "classic" Door, you need to
  380. have a sector lying between two other sectors.  The Door sector itself
  381. should have its Ceiling lowered to equal its Floor height.  The two "door
  382. face" lines should be two-sided, with their right (first) sides facing
  383. outward; those right sides should have no Normal texture, but an Upper
  384. texture of something "doorish" like BIGDOOR2.  The Door face lines
  385. should have a "Door" Type number like 1, and Tag of 0.
  386.   The other two ("door jamb") lines should be one-sided (void space
  387. behind them), with a Normal texture like DOORTRAK and the "Unpeg
  388. Lower" flag set.  (This holds the DOORTRAK still while the door goes up
  389. and down.)  The lowest of the adjacent sectors' ceilings must be at
  390. least 64 higher than the highest adjacent floor, or you will not be able
  391. to walk through the door.  (The rising door stops 4 below the lowest
  392. adjacent ceiling, and you are 56 high.) There are many more complicated
  393. kinds of door and door-like features, but this is the simplest.
  394.  
  395.                  -- with corrections from Scott Amspoker
  396.  
  397. -----
  398.  
  399.   [4-2] I built a door in a high-walled room, and now the door texture
  400. "repeats" all the way to the ceiling.  It's very ugly.  How do I get
  401. rid of it?
  402.  
  403.   A. Recess the door.  Add a mini-"hall" leading from your main room,
  404. with a lower ceiling height to match the texture height of your door, and
  405. place the door in that.
  406.  
  407.     |
  408.     +-+-+-------
  409.     : |d|
  410.   room  : |o|  hall
  411.     : |o|
  412.     : |r|
  413.     +-+-+-------
  414.     |
  415.  
  416. -----
  417.  
  418.   [4-3] I added a door but when I play the level, the door is already open,
  419. and it makes an opening noise but it won't close.  What gives?
  420.  
  421.   A. It's hard to get this to happen.  You may have a Tag number set to
  422. something inappropriate: for most Door types, it should be zero.  Make
  423. sure the activating lines face "outward" (right side facing the player).
  424. Most doors start out closed (floor = ceiling), but they don't have to.
  425.  
  426.   Note: Even if a door starts out partly open, it will still close all
  427. the way (floor=ceiling).
  428.  
  429. -----
  430.  
  431.   [4-4] How can I keep monsters from opening a door?
  432.  
  433.   A. One way is by requiring one of the Keys (red/blue/yellow) to open
  434. the door.  Monsters don't have keys.  This is the only simple way to
  435. keep monsters out or let them in under *your* control.  If you want to
  436. keep them out of a door, period, you could put a thin high step in front
  437. the door, or mark one of the door lines with the BLOCKMONSTERS flag.
  438. There are also some Tag-based "door-like" special linetypes which
  439. monsters do not seem to want to trigger, so you could use one of those.
  440.  
  441. -----
  442.  
  443.   [4-5] I want to make a door that only works (opens) AFTER a switch
  444. somewhere else is pressed.  Can this be done?
  445.  
  446.   A. Not "directly" -- linetypes cannot change dynamically in a map -- but
  447. you can make a terrific mock-up that does what you want.
  448.  
  449.   The trick is to put a thin door IN FRONT of the door you want to open
  450. later.  The inner and outer doors might have exactly the same Upper
  451. texture and lighting level, unless you want to make the change obvious.
  452. You can even light the "Unpeg Upper" flag on the front of the outer
  453. door.  Then, when you press your external switch elsewhere on the level,
  454. the thin outer door rises, revealing the "real" door underneath.  If you
  455. unpeg the outer front and keep your thickness down, this process will be
  456. nearly undetectable.
  457.  
  458.   To make sure the user can't activate the inner door by pressing
  459. "through" the outer one, you may want to give the outer door's front
  460. face an innocuous special linetype, like one that lowers a hidden lift
  461. somewhere.
  462.  
  463. -----
  464.  
  465.   [4-6] I set up a door (or even a secret door) in a wall, and I raised
  466. the "sill" a few units above the floor.  But now you can see right
  467. through it on the Map display as if it weren't there!  I don't want this
  468. effect, is there a workaround?
  469.  
  470.   A. DOOM has a bug where, if you look at a closed door whose
  471. floor(=ceiling) is higher than the sector floor beyond, it appears on
  472. the map like an open window.  Secret flags don't help.  What you can do
  473. is either make the whole sector behind the door higher to match the
  474. raised sill, or at least put a narrow "buffer sector" behind the door at
  475. the same height.  Then the door will become opaque on the Map again.
  476.  
  477.                    -- with material from Robert Forsman
  478.  
  479.  
  480. 5. TAGS/TRIGGERS/EFFECTS
  481. ------------------------
  482.  
  483.   [5-1] I can't get my Tags to work right.  I put the sector number I
  484. wanted into the Linedef...
  485.  
  486.   A. Hold it right there!  :-)  Tags are perhaps the most misunderstood
  487. DOOM feature.   Tags are NOT sector numbers and they are NOT line
  488. numbers!  They are *arbitrary* numbers, 1 to 32767, that are *shared* by
  489. one or more lines and sectors, as a way of identifying the sectors as a
  490. group.  It's just like being assigned a "box number" when you place a
  491. newspaper classified ad.  You say, Here's my ad, and they give you Box
  492. 78, which happened to be unused.  78 bears no relationship to you
  493. personally, it's just the place where replies to your ad will be sent.
  494. Similarly, if you set up an effect like "lights out," with a walk-over
  495. line to trigger it and a set of one or more sectors whose lights you
  496. want to go out, the actual *numbers* of the lines and sectors don't
  497. matter.  You pick an unused Tag number out of thin air -- say #7 is free
  498. -- and you plug that Tag number into *both* the trigger line (or lines)
  499. and the affected sector (or sectors).  Then later, when you walk over
  500. that line, DOOM says oh, that had Tag #7, now where are all the Tag #7
  501. sectors?  and when it finds them, whatever their actual sector numbers,
  502. it turns out their lights.
  503.  
  504. -----
  505.  
  506.   [5-2] Then what's a Platform?
  507.  
  508.   A. Originally it was Id slang for a lift, the "down wait up stay"
  509. elevator sectors.  Platforms needed tags like any other effect, but
  510. unfortunately the concepts got confused in a few minds and some design
  511. software came out that used "platform" to mean Tag.  In fact, Tags are
  512. much more flexible and applicable to many more things than just lifts.
  513. Current versions of just about everything get it right.
  514.  
  515.   "Plat" in the game has a related but different meaning: it's a data
  516. structure used to apply an effect to a sector.  If you mess up your Tags
  517. and accidentally try to lower every sector in the level at once, you'll
  518. probably bomb out to DOS with a "no more plats!" error message.
  519.  
  520. -----
  521.  
  522.   [5-3] I set a line to turn the lights out on a sector, but when I walk
  523. across it, almost ALL the lights go out in my level!  What in the world
  524. have I done now?
  525.  
  526.   A. You forgot to set the Linedef Tag number (and the affected Sectors)
  527. to something NONZERO. If DOOM sees a Tag of zero (0) on a trigger
  528. line, it will find all the sectors with the SAME (0) Tag (i.e., most of
  529. the sectors on your level) and do the action on all of them.
  530.  
  531.   There is some confusion about when and how Tags should be used.  There
  532. are only TWO kinds of trigger lines that don't require a Tag: "true"
  533. Doors (types 1, 26, 31, etc - see the Unofficial Specs) and the End Level
  534. group.  Every other kind of special linetype WILL use the Tag stored in
  535. its Linedef.
  536.  
  537. -----
  538.  
  539.   [5-4]  I have a lift in front of a door, and sometimes I can't get the
  540. door to open.  What's wrong?
  541.  
  542.   A. When two trigger lines are in front of you, DOOM always chooses
  543. the closer of the two.  What's probably happening is that your lift is
  544. so narrow that its trigger line blocks the door's.  Try setting the lift
  545. well back from the door, or using a separate wall switch for the door.
  546.  
  547.   Of course, this can be an advantage too: to keep people from pressing
  548. the "back" of a switch (in a cooperative exit, for instance), surround
  549. it with innocuous special linetypes that do something like open a door
  550. or turn the already-bright lights up.
  551.  
  552.   [5-5]  How do I make a teleporter?
  553.  
  554.   A. This is covered in a lot of tutorials and editor manuals, but
  555. briefly: You need at least one departure Line, one arrival Sector and
  556. one destination Thing.  The line can be anywhere, must be two-sided, and
  557. must have its linetype set to 39.  Its Tag number should be set to match
  558. the Tag of the arrival sector.  The sector can be anywhere, should be
  559. tall enough to accomodate a player, must share the same Tag number and
  560. must be the only Sector with that Tag (although there can be as many
  561. Lines as you like).  Inside the arrival Sector must be exactly one Thing
  562. of type 14 (Teleport exit).
  563.   With those pieces in place, you're set: a player or monster walking
  564. from Right to Left (1st side to 2nd side) across the line will be
  565. teleported onto the Thing in the destination Sector.  The Direction of
  566. the destination Thing will be the direction you face on arrival.
  567.  
  568. -----
  569.  
  570.   [5-6] I wanted to make a sector that moves and changes texture, using
  571. one of those exotic linetypes my editor tells me about.  But when I hit
  572. the switch, the sector gets the wrong texture!  How do I fix that?
  573.  
  574.   A. Most "change texture" triggers modify the tagged (target) sector
  575. floors to match the texture on *side 1 of the line where the switch is*.
  576. Put the texture you want on that side, and the tagged sector will follow
  577. suit.
  578.  
  579. -----
  580.  
  581.   [5-7] Rising staircases are confusing!  Mine do everything but what I
  582. want.  How do I fix them, and what does the Tag 999 do?
  583.  
  584.   A. Yes, they can sure be confusing, but we're fearless, so read on.
  585.  
  586.   Here's how rising stairs work.  You trigger the first (bottom) step in
  587. the expected way, with a linetype 7 or 8 (in DOOM 1.666, linetypes 100 and
  588. 127 also work) tagged to a sector.  That sector rises -- make sure it
  589. has the necessary lowers or you'll get HOM!  -- and then DOOM looks for
  590. the next sector to raise by searching for the *lowest numbered* linedef
  591. whose *first* (right) side faces onto the current sector.  If no first
  592. side faces inward, rising stops.  Otherwise the "found" neighboring
  593. sector is raised, and the search continues from there.  Tags are not used
  594. at any time.
  595.  
  596.   Now, why do Id's examples have odd tag numbers like 99 or 999 on
  597. alternating sectors?  For the very dumb reason that their nodes builder
  598. -- IDBSP, whose source was released to the DOOM user community -- actually
  599. *combines* adjacent sectors with identical characteristics!  Before
  600. rising, all the staircase steps have the same height, light levels and
  601. textures.  So, to make them "different" and prevent IDBSP from merging
  602. them, Id's level designers stuck a nonsense tag number on every other
  603. one.   The nodes builders we use these days (including several
  604. adaptations of Id's original) no longer do nasty things like combining
  605. sectors without permission, so we can skip the tagging gymnastics.
  606.  
  607. -----
  608.  
  609.   [5-8]  I set up a floor sector that's supposed to rise and fall every
  610. 5 seconds, but when I activate it nothing happens!  Or, I made a "lift"
  611. but it doesn't go up and down!  What could be wrong?
  612.  
  613.   A.  Make sure that you start "perpetual raise" floors (linetypes 53
  614. and 87) and lifts in the *UP* position.  They are designed to go DOWN
  615. from their initial position to the lowest nearby (or nearest) floor when
  616. activated, then back up to the initial position.  If you start them
  617. "lowered" in the level map, they will go nowhere.
  618.  
  619.  
  620. 6. MONSTERS/THINGS
  621. ------------------
  622.  
  623.   [6-1] I built a hallway/room that my monsters refuse to enter.  They
  624. stamp around at the entrance but that's it.
  625.  
  626.   A. Make sure your hall is wide and tall enough!  The Unofficial
  627. Specs [4-2-1] have a list of monster heights and widths.  What's more, if
  628. a hall is *just* wide enough for a monster, it's less likely to enter
  629. than if it's *plenty* wide enough.
  630.  
  631.   Also be careful about step-downs and step-ups.  Monsters will not step
  632. up/down too far onto narrow steps.  If you want a monster to go up or
  633. down more than 16, make sure there's plenty of room on both sides of the
  634. riser line.
  635.  
  636.   The actual tested measurements for all monsters are in the METRICS
  637. document; see Appendix D.
  638.  
  639.   And of course, make sure you didn't accidentally mark the entrance
  640. with BLOCKMONSTERS or something, by accident in the editor.
  641.  
  642.                     -- with material from Adam P. Harris
  643.  
  644. -----
  645.  
  646.   [6-2]  I put some demons in a room but they don't move, they just stand
  647. there and twitch, although they scream when I shoot them.  How did that
  648. happen?
  649.  
  650.   A. You probably placed them too close together when you laid out your
  651. level.  Monsters have to be separated from each other (AND from nearby
  652. walls) by at least their own width, or they freeze in place.  (If you
  653. kill all of a monster's too-close neighbors, it will usually free the
  654. monster to attack you.)
  655.  
  656.   The other possibility is that your ceiling is too low.  See the
  657. Unofficial DOOM Specs (Appendix B) for monster widths and heights.
  658.  
  659. -----
  660.  
  661.   [6-3]  There's this great "zoo room" I built with a hundred demons in
  662. it!  What a blast to mow your way through so much alien flesh.  But it's
  663. weird, like some of the monsters "flicker" in and out of view.  Should
  664. that be happening?
  665.  
  666.   A. DOOM can only keep track of 64 sprites in your view at once.  If
  667. you have more than that, some will fail to display in each frame,
  668. effectively at random.  (This includes things like torches and barrels.)
  669. The more sprite overload, the greater the chance that any given sprite
  670. will be "invisible" at a given moment.  Put 200 imps in a room and each
  671. one will be "gone" 2/3 of the time.
  672.  
  673.   The workaround is, quite simply, to design your level in a way that avoids
  674. sprite overload.  Instead of 100 troopers in a room, use 50 and keep the
  675. hanging corpses to a minimum in that area... etc.
  676.  
  677.                     -- with material from Vesselin Bontchev
  678.  
  679. -----
  680.  
  681.   [6-4]  How close to the edge of a "shelf" do I need to put my stim
  682. packs and potions so the players can get them?  How far back must I put
  683. something to keep the player's hands off of it until the right moment?
  684. Does it matter how high or low the items are?
  685.  
  686.   A.  First the height issue: In order to be grabbed, a thing must be
  687. sitting on a floor that's between your feet and your head, e.g., between
  688. 0 and 56 units above the floor the grabbing player stands on.  Above or
  689. below that and it won't be taken no matter how close to the edge.
  690.  
  691.   As for horizontal distance from the edge: On paper, your body radius
  692. is 16 units, your grabbing "arms" extend another 32 units beyond that,
  693. and gettable objects themselves have a radius of 16, so that when you
  694. bump up against an unclimbable "shelf" lower wall, you should be able to
  695. grab things centered as much as 48 units back from the edge.  But in
  696. practice I find considerable "slop" at the edges of these numbers, and
  697. also a longer reach if you run full speed into a barrier.  To be
  698. absolutely certain an item will be taken at the lightest shelf contact,
  699. place it 24 or fewer units back.  To be absolutely sure the item will
  700. NOT be taken, even with a running start at -turbo 200, place the thing
  701. 40 or more units back.  (If you try to finesse these numbers or shave
  702. them very close, beware of editors or WAD post-processors that snap
  703. Thing coordinates to an 8x8 or coarser grid!)
  704.  
  705. -----
  706.  
  707.   [6-5]  I put some Columns and Torches in a room, but they look funny,
  708. almost as though they're sticking up "into" the ceiling.  Why does that
  709. happen and what do I do about it?
  710.  
  711.   A.  Make the room taller or pick shorter Things.  Each Thing has an
  712. apparent height when its Sprite is drawn, and low ceilings do not cut off
  713. any excess; the whole thing is drawn, even if it seems to pass
  714. mysteriously into the ceiling.  Tech Columns are about 112 high, the
  715. highest example.  Other things are lower.
  716.  
  717.                    -- with material from Vesselin Bontchev
  718.  
  719.  
  720. 7.  LEVELS AND MAPS
  721. -------------------
  722.  
  723.   [7-1] When I play my level and switch to Map mode, it only shows me a
  724. little bit of the local area I'm in, even when I hit "-" a lot or "0" to
  725. Zoom Out.  The Id levels seem to work OK and some of the levels I've
  726. downloaded do too.  What am I doing wrong?
  727.  
  728.   A. The culprit is the resource called BLOCKMAP.  It is described in
  729. the Unofficial Specs [4-11].  Some editors don't build a good one.  You
  730. can usually overcome this by creating a few dummy "sectorlets" or just
  731. linedefs out at the "corners" outside of your real level map area.
  732. Otherwise, you'll have turn Follow off and scroll around the map.
  733.  
  734. -----
  735.  
  736.   [7-2] I designed a level that's about as complicated as one of the
  737. original ID levels - roughly the same number of rooms, monsters, etc.
  738. But mine plays much *slower* than the originals!  What's wrong?
  739.  
  740.   A. Remember that DOOM only loads PWADs when it needs them, so there
  741. will be some inevitable disk overhead when your level first starts, and
  742. occasionally thereafter if DOOM needs to keep going to disk to get other
  743. entries from your WAD file.  (If you have enough memory, DOOM actually
  744. improves with about 1 Megabyte of disk cache, although results vary from
  745. system to system.)
  746.  
  747.   More importantly, there is a resource called REJECT that quickly tells
  748. DOOM whether sectors can "see" each other, allowing many expensive
  749. line-of-sight checks to be skipped.  Without REJECT, DOOM must
  750. constantly check each monster to see whether it has a line of sight to
  751. your location.  On a level with a lot of monsters, this can be time
  752. consuming.
  753.  
  754.   As of this writing, some editors generate a real, usable REJECT resource
  755. when you save a level, while others need to be used in conjunction with a
  756. separate, standalone REJECT builder (like IDBSP, REJECT10 or RMB) in order
  757. to optimize playing speed.  See Appendix D.
  758.  
  759. -----
  760.  
  761.   [7-3] I have designed several mission maps, but now I'd like to combine
  762. them into a mini "episode" for distribution together.  How do I do it?
  763.  
  764.   A. You may be able to do it right in your editor; check the
  765. documentation to find out whether your software supports combining
  766. multiple PWADs into a single group file.  If not, you may have to "borrow"
  767. another editor temporarily, just long enough to do the combine.
  768.  
  769.   If you have created each of your mission maps as E1M1, and if your
  770. editor doesn't easily allow you to change a map's mission number
  771. (something just about all of them do), you can use the MOVELEV utility to
  772. change the episode and/or mission of your PWAD in place without editing
  773. it.  See Appendix D.
  774.  
  775. -----
  776.  
  777.   [7-4] I just lost two days worth of work because that new Beta Test
  778. release of NODEMAKE 2.99 [a made-up example] is buggy!  I saved my PWAD,
  779. ran NHOUND on it, and when I edited the PWAD again the lines were all
  780. crazy!  How can I get my data back?
  781.  
  782.   A.  You probably CAN'T get your data back, because you made the
  783. dangerous mistake of editing, post-processing, and playing all out of the
  784. SAME file.  That's not the way to protect your valuable design effort!
  785.  
  786.   Here is the safe way to do design work.  Have one "cycle" of files which
  787. contain nothing but editable map data for the level you're working on.  If
  788. your editor allows it, you can give these files a different extension,
  789. say, MYLEV.EDI instead of MYLEV.WAD.  Your editor may also allow for the
  790. "old" input file to be renamed as MYLEV.BAK when you save, adding
  791. another level of protection.  Then when you edit, do it with a *batch
  792. file* that runs your editor followed by any post processor, directed to
  793. another file.  So for example
  794.  
  795.     MYED.EXE %1.EDI
  796.     NODEMAKE.EXE %1.EDI %1.WAD
  797.  
  798. after which you might have as many as *three* good files: MYLEV.BAK,
  799. MYLEV.EDI, and MYLEV.WAD.  So if a test version of NODEMAKE hoses the
  800. output, you're still in business.
  801.  
  802. -----
  803.  
  804.   [7-5] Do nodes builder programs like BSP take into account any nodes I
  805. have already built in the editor or with a previous program?
  806.  
  807.   A.  No, they always build them from scratch using just the map data.
  808. You may have some control over the "depth" and/or "speed" of the BSP
  809. structure, depending on your editor's or utility's parameters; consult
  810. the documentation for details.
  811.  
  812.                     -- with material from Douglas Baker
  813.  
  814. -----
  815.  
  816.   [7-6] Is there any way to import AutoCAD or other CAD/CAM or home
  817. design program datasets into DOOM as level maps?
  818.  
  819.   A. Nobody has written a DOOM level editor that reads such files, to
  820. the best of my knowledge.  In principle, any CAD program that allows
  821. dataset export to a Text file could be used along with a suitable text
  822. editing script or program, to generate a DWD or WIF file which could
  823. then be converted to a WAD with the IDBSP package (see Appendix D), but
  824. again, nobody's done it that I know of.  One of the problems you would
  825. have, of course, is that much important information (special line and
  826. sector types, tag numbers etc) would probably be absent from the CAD
  827. dataset and have to be added later.
  828.  
  829.  
  830. 8.  GRAPHICS/SOUNDS
  831. -------------------
  832.  
  833.   [8-1] Some of these DOOM levels I download have custom graphics.  How
  834. can I do that?
  835.  
  836.   A. If you can create or find a GIF file of the right size, there is a
  837. utility called DMGRAPH (see Appendix D) that will insert it into your
  838. WAD file.  You are on your own as far as picking a Windows or DOS based
  839. graphics editor -- there are a lot of them, preferences vary widely, and
  840. if you've never made a picture before, you're probably not ready to use
  841. them in your DOOM levels.  Once you have a picture, the DMGRAPH
  842. documentation tells you more about how to use it.
  843.  
  844. -----
  845.  
  846.   [8-2] I wanted to change STARTAN3, but when I ran the DMGRAPH utility,
  847. it said "entry not found."  What's wrong?
  848.  
  849.   A. As described in the Unofficial Specs (see Appendix B), textures are
  850. built out of graphic "patches."  DMGRAPH 1.1 (the latest version at this
  851. writing) only deals with patches, which have their own names.  STARTAN3
  852. is a texture name.  A few textures are composed of exactly one "patch,"
  853. allowing you to do a full substitution, but others are built of three or
  854. five or more "patches."  A future version of DMGRAPH may (or may not)
  855. address this situation.
  856.  
  857. -----
  858.  
  859.   [8-3] I can change the wall graphics just fine, but when I try to
  860. change a floor or ceiling, DOOM either crashes or ignores my new
  861. texture.  What am I doing wrong?
  862.  
  863.   A. Not much, unfortunately.  As the DMGRAPH documentation points out,
  864. only some kinds of graphic patches can be supplied in PWAD files.
  865. Floors and ceilings ("flats") cannot be used from PWADs in any DOOM
  866. version; sprites (Imp, Shotgun, Torch etc) can be used from PWADs in
  867. DOOM 1.6 and later, but not in DOOM 1.2.  (Yes, Id once said they would
  868. allow flats to be added from PWADs in 1.6, but it didn't happen.) The
  869. only thing you can do is patch them in the *original* DOOM.WAD file.
  870. You could supply the GIFs, a copy of DMGRAPH and a batch file along with
  871. your custom level, so that the user can insert the graphics him/herself,
  872. but many users don't like having to patch their main IWAD.
  873.  
  874.   Note that the one "ceiling" you CAN change in a PWAD is the Sky
  875. graphic that's displayed "outdoors" in rooms with F_SKY1 as the ceiling
  876. texture.  But this is really a wall patch (SKY1/SKY2/SKY3, depending on
  877. which episode you're in) that's displayed as a combination wall/ceiling
  878. via a special algorithm.
  879.  
  880.          -- with material from Matt Fell and Arek Wojciechowski
  881.  
  882. -----
  883.  
  884.   [8-4] I got a utility (DMAUD) that replaces DOOM sounds, but I don't
  885. know what numbers go with what sounds, and the Unofficial Specs don't
  886. say.  What are the various sound names?
  887.  
  888.   A. Ask DMAUD: just type "dmaud -l" at the command prompt, and you'll
  889. see a list of them.
  890.  
  891. -----
  892.  
  893.   [8-5] Why can't I replace the DOOM music with the cool "Batman" theme
  894. music .WAV file I downloaded from a BBS?
  895.  
  896.   A.  Because a .WAV file is a sampled waveform -- essentially one long
  897. digitized sound effect -- and DOOM only uses this form for "noises" like
  898. door sounds, gunshots, grunts etc.  (Those you CAN replace, with Bill
  899. Neisius's DMAUD utility; see Appendix D.)  DOOM's background music is
  900. stored in .MUS format, similar to MIDI (and convertible from MIDI with
  901. the MIDI2MUS program; same Appendix) -- actually specifying instruments,
  902. notes to be played, durations etc.  There's no readily accessible way of
  903. going "backward" from a .WAV to a MIDI music sequence.  So if you want
  904. to substitute your own music, you need to find some MIDI files, or
  905. record your own with a MIDI-capable synthesizer.
  906.  
  907.             -- with material from Jered Floyd and Brad Reynolds
  908.  
  909. -----
  910.  
  911.   [8-6] Okay, I got a top of the line bitmap editor and I created some
  912. GIF pictures to use as textures, then I inserted them into a PWAD using
  913. DMGRAPH and I played my WAD.  The pictures are there, but the colors are
  914. awful!  Lots of ugly red speckles, washed out areas, nothing looks the
  915. way I expected.  How did Id get theirs looking so good, and how do I do
  916. the same?
  917.  
  918.   A.  Simple, they cheated. :-)  That is, Id uses a non-uniform palette
  919. that's optimized for the "look" they wanted their world to have.  If you
  920. extract one of their big patches out to a GIF file with DMGRAPH, then
  921. load that into your graphics editor and examine the "image palette,"
  922. you'll see what I mean: lots and lots of shades of grey, plenty of
  923. intermediate greens and browns, a few blues, some reds, few yellows, and
  924. other areas very skimpy.  This lets Phobos look terrific, but when you
  925. import your Euro Disney slides and feed them to DMGRAPH straight, it has
  926. to map colors to their nearest equivalents in the DOOM palette, with
  927. sometimes-horrendous results.
  928.  
  929.   How to cope?  Your fancy bitmap editor may or may not allow you to
  930. "coerce" work to stay within the DOOM palette; some, like Corel
  931. Photo-Paint 4&5, are designed for pro artists and always "think 24 bit."
  932. If you keep the DOOM palette loaded, though, you can still use it
  933. exclusively for new fills, lines, textures etc.  You can also use one or
  934. another freeware/shareware "image handlers" like Paint Shop Pro, which
  935. can run in the background and coerce images to the palette for you.  If
  936. you can see in advance what the graphic's going to look like, you're a
  937. lot better off.  In general you can try to use colors that have plenty
  938. of equivalents in the DOOM palette, keep things muted and somewhat low
  939. contrast, etc.  Beware when "dithering" pictures, because the results
  940. may look awful up close in play.
  941.  
  942. -----
  943.  
  944.   [8-7] I created some graphics and put them into my PWAD with DMGRAPH,
  945. but when I run my editor it spits out some funny error messages, and when
  946. I save my edited level the graphics are gone!  Or the editor preserves the
  947. graphics, but when I pass my PWAD through my favorite standalone NODES or
  948. REJECT builder, it strips away my custom graphics and music.  How can I
  949. get around this?
  950.  
  951.   A. The easiest way is to maintain a *separate* graphics/music PWAD while
  952. you develop your level.  Use only DMGRAPH/DMAUD/DMMUS to insert, remove or
  953. change graphics/sound/music into that PWAD; never open it with an editor
  954. or feed it to any other standalone map-oriented utility.  Let the PWAD you
  955. use in your editor contain *only* map data.  Then when you test your
  956. growing level, simply load *both* PWADs, map and graphics/sound/music,
  957. with the -file switch:
  958.  
  959.     doom.exe -devparm -skill 4 -file mylev.wad mygfx.wad
  960.  
  961.   Then when you are ready to release your level, combine the two PWADs
  962. into a single one using an appropriate editor or utility; see [7-3].
  963. (Also see question [7-4] which is related to this one.)
  964.  
  965. -----
  966.  
  967.   [8-8] How do I make a see-through wall like MIDGRATE?
  968.  
  969.   A.  Everywhere in your graphic that is PURE CYAN (Red=0, Green=255,
  970. Blue=255) will be rendered as transparent if a texture using your
  971. graphic patch is applied to the Normal (Middle) surface of a 2S line. To
  972. see the proof of this, extract MIDGRATE (patch name M1_1) to a .GIF file
  973. with DMGRAPH and edit it with your favorite graphics editor.  The reason
  974. this might not have been obvious is that many DOOM graphics viewers and
  975. editors politely translate "pure cyan" to BLACK for you on the display.
  976.  
  977.                     -- with material from Adam P. Harris
  978.  
  979.  
  980.  
  981. 9.  OTHER ERRORS
  982. ----------------
  983.  
  984.   [9-1] I have a level that passes all my editor's consistency checks,
  985.   and looks clean to me, but when I play it, I get strange flashing
  986. effects on a few of the walls, what I think they call "Hall of Mirrors."
  987. What's wrong?
  988.  
  989.   A. First, make sure you built a good node tree with a BSP utility.
  990. (See Appendix B for where to get them.) If you used BSP and it still
  991. happens, and you're *sure* you didn't omit any required textures, you
  992. may have hit a DOOM engine limit.
  993.  
  994.   The limit has to do with how many lines DOOM can show you at a time.
  995. If you have too many lines in sight at once (128 in DOOM 1.2, increased
  996. to 256 in DOOM versions 1.4 and later), the extra sides will not be
  997. drawn, and you will tend to see the Hall of Mirrors (HOM) effect
  998. somewhere twards the back of the room.
  999.  
  1000.   Note that there are often MORE edges visible than there are lines on
  1001.   the map!  Looking at a staircase from above, for example, will show
  1002. two edges (riser and flat) for every map line.  And an intervening
  1003. "shaft" or pillar in the middle that cuts the staircase in half will
  1004. double the number of long edge segments visible -- so you can reach the
  1005. limit more quickly than you think.
  1006.  
  1007.   If you hit this limit, find a way to simplify your room's layout or
  1008. interpose some void space (one-sided surfaces) so you can't see so many
  1009. lines at once.
  1010.  
  1011.                    -- with assistance from John Carmack,
  1012.                        and material from Robert Forsman
  1013.  
  1014. -----
  1015.  
  1016.   [9-2] I'm getting Hall of Mirrors, but I'm sure my room isn't too
  1017. complicated or anything.  My level passes all the editor's checks and I
  1018. use the best BSP node builder.  But when my crushing ceilings (or rising
  1019. platform/stairs, or lowering wall etc) are activated, the HOM appears.
  1020. What did I do wrong?
  1021.  
  1022.   A. You're missing a necessary texture just like always, but your
  1023. editor's consistency checker didn't catch it because the texture is only
  1024. needed *dynamically* -- in the initial static map state, the pillar's
  1025. lower, crushing ceiling's upper, etc, are safely "hidden" and don't
  1026. appear to need a texture.
  1027.  
  1028.   The only "solution" is to be vigilant about textures when adding a
  1029. feature like a surprise crusher, and/or keep careful bug-notes on such
  1030. things when testing out your level.
  1031.  
  1032. -----
  1033.  
  1034.   [9-3] Some of my level's walls seem to "jump around"...
  1035.  
  1036.   A.  It might be Long Wall Error.  See [2-8].
  1037.  
  1038. -----
  1039.  
  1040.   [9-4] When I playtest my level, I sometimes get "invisible barriers"
  1041. running across a room or corridor.  Either I can't get through them at
  1042. all or I can only squeeze past with great difficulty.  When I type IDDT
  1043. on the Map display, I see extra lines that aren't on my real level!  Why
  1044. does this happen?
  1045.  
  1046.   A.  These seem to be artifacts created by some Nodes builders.
  1047. Usually they occur in conjunction with very complex-shaped, "straggly"
  1048. or concave single sectors.  A curved "maze" done as one big sector may
  1049. show this effect, or a giant "crescent moon" sector.  Try breaking up
  1050. such sectors into simpler, more nearly convex pieces.  You may also want
  1051. to try feeding your level to a different Nodes builder.
  1052.  
  1053.                      -- with material from Leigh Dehaney
  1054.  
  1055.  
  1056. APPENDIX A.  THE 10 MOST COMMON DESIGN ERRORS
  1057. ---------------------------------------------
  1058.  
  1059. Some of these are show-stoppers, i.e., DOOM will crash if you try to run
  1060. the level; others will let you run DOOM but game play is screwed up;
  1061. others are just ugly; and a few are common stylistic complaints.  All
  1062. are encountered often in user-written levels, or asked about in
  1063. discussion forums, or both.  There is no particular order.
  1064.  
  1065.   [A-1] Bad Wall Effects.  This includes HOM (Hall Of Mirrors), caused
  1066. by missing textures (see [1-7]); Medusa Effect, caused by incorrect
  1067. Normal textures on 2-sided walls (see [1-5]); Tutti Frutti, caused by
  1068. short Normal or transparent Upper/Lower textures (see [1-6]); Long Wall
  1069. Error, from superlong lines; and Moire Error, caused by ceiling changes
  1070. near tall rooms (see [1-8]).
  1071.  
  1072.   [A-2] Wall Pegging.  Wall faces exposed by rising/lowering ceilings or
  1073. floors (including door side tracks) should usually have the Unpegged
  1074. Lower/Upper bits set in their Linedef.  This keeps the side textures
  1075. from "following" the adjacent rising/lowering sector.  Many, many user
  1076. level designers forget to unpeg their door tracks.  Just cosmetic, but
  1077. contributes to the sense of realism or lack thereof.
  1078.  
  1079.   [A-3] Lines/Vertexes that Cross or Coincide.  A show-stopper.  If two
  1080. or more vertexes occupy the same position, or if two or more lines cross
  1081. or lie "on top of" one another, DOOM's engine will crash trying to work
  1082. out the sector math.  Several editors are capable of checking for this;
  1083. if you get crashes, use one.
  1084.  
  1085.   [A-4] Slowdown from Monster/Two-Sided Line Glut.  Not a crash but a
  1086. playability issue.  See [6-2].  Designers should try their levels on
  1087. less powerful PC's and/or at full screen resolution to see whether some
  1088. rooms are unacceptably slow.
  1089.  
  1090.   [A-5] Unaligned Textures, both X and Y.  Just cosmetic, but important
  1091. for realism.  If your X textures are properly aligned and you split a
  1092. line or drag vertexes around, you will probably need to re-align.  A
  1093. tedious job, but some editors help automate it for you.  (But note: It's
  1094. considered polite to offset secret door textures a little bit -- say 2
  1095. pixels -- just enough so that an attentive player might notice it.)
  1096.  
  1097.   [A-6] Missing Player Starts, Insufficient Sectors.  Another
  1098. show-stopper.  Every level must have a minimum of two (2) sectors.  It
  1099. must also have a Player 1 Start if you are going to play solo; Players
  1100. 2-4 Start if you will be playing Cooperative multiplayer; and anywhere
  1101. from four (4) to ten (10) Deathmatch starts if you will be playing
  1102. Deathmatch.  Otherwise DOOM will crash.  Hint: Unless your Deathmatch
  1103. design specifically forbids it, use all 10 starts; it will make play
  1104. more interesting.
  1105.  
  1106.   [A-7] Floor/Ceiling Mismatch.  Usually caused by raising/lowering a
  1107. floor but forgetting the associated ceiling, or vice versa.  Sometimes
  1108. caused by accidentally "including" an unintended sector in a
  1109. floor/ceiling change, under editors that support multi sector "gang"
  1110. operations.  Unless the ceiling is at least 56 higher than the floor,
  1111. you either can't enter or (if you are already there, via teleport,
  1112. floor/ceiling movement or start of play) you will be stuck.  This is
  1113. sometimes an issue on stairs: the LOWER ceiling must be at least 56
  1114. higher than the HIGHER floor, or you cannot pass between two sectors.
  1115.  
  1116.   [A-8] Missing/Wrong Tag Numbers.  When tagged operations like Lights
  1117. Out or Raise Floor get the tag number wrong (in the activating Linedef),
  1118. the results are usually awful.  The whole level "rises" or crushes or
  1119. something else you don't want.  This can be tough to spot at first in
  1120. gameplay.  Ideally, editors should check for this.
  1121.  
  1122.   [A-9] Monsters Too Close To Each Other or to Walls.  See [5-2].   You
  1123. must also be careful to place Deathmatch and multi-player Start points
  1124. far enough from walls, or arriving players will be immobilized.
  1125.  
  1126.   [A-10] Dead Ends.  Designers sometimes leave out an EXIT switch, which
  1127. makes it hard to play a level in Deathmatch or as part of a larger
  1128. episode.  Also, perhaps this is a stylistic argument, but at least be
  1129. AWARE of which places (if any) on your level have "no escape" for the
  1130. unwary user who enters.  ID's original levels do have a couple of these,
  1131. but many users don't like them.
  1132.  
  1133.                     -- with assistance from John Romero
  1134.  
  1135.  
  1136. APPENDIX B.  GETTING ESSENTIAL FILES
  1137. ------------------------------------
  1138.  
  1139.   There are a number of essential files files for DOOM level designers,
  1140. particularly the basic reference Text files like the DOOM FAQ and the
  1141. Unofficial DOOM Specs; see Appendix D, [D-4] for a list.
  1142.  
  1143.   Many of these documents are widely distributed on the various DOOM
  1144. BBS's, Usenet newsgroups, game boards of online services, and FTP sites
  1145. supporting DOOM players.  Some services may use slightly different names
  1146. from the ones listed in Appendix D, and versions change over times, so
  1147. examine the directory listings carefully.
  1148.  
  1149.   Where to FTP this stuff?  Try one of the following sites:
  1150.  
  1151.     infant2.sphs.indiana.edu:/pub/doom/wad_edit
  1152.     wuarchive.wustl.edu:/pub/msdos_uploads/games/doomstuff
  1153.     ftp.uwp.edu:/pub/incoming/id
  1154.         /pub/msdos/games/id/home-brew/doom
  1155.  
  1156.  
  1157. APPENDIX C.  CONTRIBUTING TO THIS DOCUMENT
  1158. ------------------------------------------
  1159.  
  1160.   If you have a correction, contribution or suggestion, please mail it
  1161. to me, the editor, at one of these addresses:
  1162.  
  1163.     tneff@panix.com         (Internet)
  1164.     uunet!panix!tneff       (UUCP)
  1165.     >INET:tneff@panix.com   (CompuServe)
  1166.  
  1167. or any other Internet mail gateway you can reach.  I will read all
  1168. submissions and (if I use them) credit the author.
  1169.  
  1170.   Remember, this is a level design FAQ for things that users really ask
  1171. about.  It is not for editorial essays, unpublished screenplays, or wish
  1172. lists for someone's editor. :-)  If you have discovered some new and
  1173. interesting technical fact about DOOM, mail it to Matt Fell for the next
  1174. Specs.  I only want material that answers real-world design questions.
  1175.  
  1176.   I am grateful for the numerous contributions this document has already
  1177. received from generous readers.  Where their material has inspired or
  1178. improved an entry, I have mentioned them by name.  I would also like to
  1179. thank the "Doom Design Elders" for your patience and support.
  1180.  
  1181.  
  1182. APPENDIX D.  DESIGN SOFTWARE/REFERENCE LIST
  1183. ------------------------------------------------
  1184.  
  1185. These are in alphabetical order within each section.  No endorsement of
  1186. any particular product over its competitors is intended, although the
  1187. reference files in [D-4] get thumbnail evaluations.  Each section
  1188. heading is followed by the name of the directory where the files
  1189. mentioned can be found on the INFANT2.SPHS.INDIANA.EDU FTP site (see
  1190. Appendix B).
  1191.  
  1192.   [D-1] LEVEL EDITORS - /pub/doom/wad_edit/editors
  1193.  
  1194.   DCK11.ZIP - Doom Construction Kit 1.1 by Ben Morris.  A DOS-based
  1195. level editor.
  1196.  
  1197.   DE_260B4.ZIP - DoomEd 2.60b4 by David Bruni.  A Windows-based level
  1198. editor.  A preliminary, incomplete release of 3.0 (DE3ALPH8.ZIP) allows
  1199. texture previewing and some other things.
  1200.  
  1201.   DEU521.ZIP - DOOM Editing Utility 5.21, by Raphael Quinet and Brendon
  1202. Wyber.  A DOS-based level editor.  DEU521GCC.ZIP contains a GNU C
  1203. compiled version which uses a DOS extender to allow editing bigger
  1204. levels, but which will not work under Windows or OS/2.
  1205.  
  1206.   DMCAD43.ZIP - DoomCAD 4.3 by Matt Tagliaferri.  A Windows-based level
  1207. editor.
  1208.  
  1209.   EDMAP110.ZIP - EdMap 1.10 by Jeff Rabenhorst.  A DOS-based level
  1210. editor.  A newer file, EDMAP111.ZIP, upgrades to version 1.11 but
  1211. requires that 1.10 already be installed.
  1212.  
  1213.   MDE90B1.ZIP - My DOOM Editor 0.90b by Patrick Steele.  A DOS-based
  1214. level editor, last updated May 1994.
  1215.  
  1216.   ULTED.ZIP - UltEd 1.00b by Peter Ott.  An OS/2-based level editor
  1217. (preliminary, use with caution).
  1218.  
  1219.   WADED129.ZIP - WadEd 1.29 by Matthew Ayres.  A DOS-based level
  1220. editor.
  1221.  
  1222.   WADSUP11.ZIP - Wads_Up 1.1 by G. Whitehead.  A Windows-based level
  1223. editor, last updated April 1994.
  1224.  
  1225. -----
  1226.  
  1227.   [D-2] NODE/REJECT BUILDERS - /pub/doom/wad_edit/node-build
  1228.                    /pub/doom/wad_edit/misc
  1229.  
  1230.   BSPxxx.ZIP - BSP nodes builders by Colin Reed and collaborators.
  1231. There are several different versions, so a chart may help:
  1232.  
  1233.    Filename   Version    Runs on    Extended Memory?   387 needed?
  1234.    --------   -------    -------    ----------------   -----------
  1235.    BSP11TC     1.1        DOS             No              No
  1236.    BSP11W      1.1       Windows          Yes             No
  1237.    BSP12X      1.2        DOS             Yes             Yes
  1238.    BSP4OS2     1.2        OS/2            Yes             No
  1239.  
  1240.   IDBSPxxx.ZIP - Nodes+REJECT builders adapted from Id's published
  1241. "IDBSP" code by Ron Rossbach and collaborators.  Another chart:
  1242.  
  1243.    Filename   Version    Runs on    Extended Memory?   387 needed?
  1244.    --------   -------    -------    ----------------   -----------
  1245.    IBSP101D    1.01       DOS            No               No
  1246.    IBSP101L    1.01      Linux           Yes              No
  1247.    IBSP101O    1.01       OS/2           Yes              No
  1248.    IBSP102D    1.02       DOS            No               No
  1249.  
  1250.    IDBSP10     1.0        DOS            No               No
  1251.      (this version moves Things and merges Sectors - use 1.01 or better)
  1252.  
  1253.    IBSPWAT     1.0x       DOS            Yes              No
  1254.      (Steve Larsen's WATCOM build fixes some bugs)
  1255.  
  1256.   NODENAV.ZIP - NodeNav 0.8 by Frank Palazzolo.  Shows nodes rather than
  1257. building them, but useful for learning how nodes work.
  1258.  
  1259.   REJECT10.ZIP - REJECT.EXE 1.0 by L.M.Witek.  A DOS-based REJECT
  1260. builder; uses a distance based algorithm that may cause problems on some
  1261. WADs.
  1262.  
  1263.   RMB11.ZIP - Reject Map Builder 1.1 by Jens Hykkelbjerg.  A DOS-based
  1264. REJECT builder with full line of sight computation and a command file
  1265. based override/customization facility.
  1266.  
  1267.   VNB1050.ZIP - VNB 1.050 by Robert Fenske, Jr.  A DOS-based Nodes+Blockmap
  1268. builder.
  1269.  
  1270. -----
  1271.  
  1272.   [D-3] WAD MANIPULATION UTILITIES - /pub/doom/wad_edit/misc
  1273.  
  1274.   DMADDS1B.ZIP - Doom Add Sprite utility 1.0b by Bernd Kreimeier.
  1275. Allows sprites from PWADs to be added to the main IWAD.
  1276.  
  1277.   DMASE.ZIP - DOOM Audio Sound Extractor 1.2 by Bucky La Dieu.  A front
  1278. end to DMAUD (see below) that extracts all sounds from a PWAD at once.
  1279.  
  1280.   DMAUD11.ZIP - DOOM Audio Editor 1.1 by Bill Nesius.  Inserts and
  1281. extracts digitized audio (sound effects) from IWAD and PWADs.  Outputs
  1282. WAV files, inputs any kind.
  1283.  
  1284.   DMCHECK09.ZIP - DOOM Check 0.9 by Jean-Serge Gagnon.  Checks DOOM
  1285. version, file space, etc, for use in batch files.
  1286.  
  1287.   DMDUMP09.ZIP - DOOM Dump 1.0 by Steve Simpson.  Dumps PWAD data
  1288. out in readable text format.
  1289.  
  1290.   DMGRAP11.ZIP - DOOM Graphic Editor 1.1 by Bill Neisius.  Extracts,
  1291. replaces, adds and views graphics in WADs.  Inputs, outputs GIF or
  1292. PPM files.
  1293.  
  1294.   DMMUI.ZIP - DOOMusic User Interface 1.0 by Pooka.  A front end to
  1295. DMMUSIC (see below) and MIDI2MUS, to simplify putting and getting
  1296. music into and out of WADs.
  1297.  
  1298.   DMMUS10A.ZIP - DOOM Music Editor 1.0a by Bill Neisius.  Extracts,
  1299. replaces and adds music to/from IWAD and PWADs.
  1300.  
  1301.   DMPS20.ZIP - DOOM PostScript Map Generator 2.0 by James Bonfield and
  1302. Gerhard Karnik.  Produces printer-ready PS images of IWAD or PWADs.
  1303.  
  1304.   DMTEX09B.ZIP - DooMTex 0.9b by Steve McCrea.  Tools for adding new
  1305. patches and textures to PWADs.  Requires WadTool and DMGRAPH.
  1306.  
  1307.   DOOMTOOL.ZIP - Doom Tools by James Dooley.  Has a standalone tool for
  1308. combining two PWADs into a third.
  1309.  
  1310.   DVIEW200.ZIP - DOOM View 2.0 by Mr. Skibone.  Views and extracts
  1311. graphics from WADs.
  1312.  
  1313.   EWT.ZIP - WAD Extended Tools 1.0 by VeLS.  Views resources.
  1314.  
  1315.   MIDI2MUS.ZIP - MIDI to MUS Converter from Id.  Converts MIDI to
  1316. "Paul's MUS format."  Needed with DMMUSIC.
  1317.  
  1318.   MOVELEV2.ZIP - Move Level 2.0 by Steve Simpson.  Displays
  1319. and/or changes the episode and mission numbers in PWADs.
  1320.  
  1321.   RENWAD.ZIP - another ExMx changer, by ASRE.
  1322.  
  1323.   TED12.ZIP - TED 1.2 by Peter Monks.  Edits the ENDOOM resource
  1324. (colored text displayed on exit from game) in WADs.
  1325.  
  1326.   WACKERB7.ZIP - Wacker 0.7beta by Keith Wilkins.  Edits and creates new
  1327. graphic textures in WADs.
  1328.  
  1329.   WADGC2.ZIP - WAD Graphics Compiler by Stefan Gustavson.  Beta source
  1330. (Unix flavor) for graphics tools.
  1331.  
  1332.   WADHAK.ZIP - Wad Hacker 1.0 by Roger Hayes.  A Windows-based WAD
  1333. resource viewer.
  1334.  
  1335.   WT100.ZIP - WAD Tools 1.0 by Jeff Miller.  A DOS-based WAD
  1336. resource viewer/exporter/importer.
  1337.  
  1338. -----
  1339.  
  1340.   [D-4] REFERENCE FILES - /pub/doom/wad_edit/text
  1341.  
  1342.   ALLWALL2.ZIP - contains a single huge GIF showing all the wall
  1343. textures.  Someone needs to break it up into manageable pieces; it
  1344. would then be an important reference tool instead of a curiosity.
  1345. An "ALL-FLOOR" companion GIF also exists but is not as widely
  1346. distributed.
  1347.  
  1348.   DESIGNxx.ZIP - Level Design FAQ, edited by Tom Neff, i.e., this
  1349. document!  In case you found it floating in a bottle, and wanted to look
  1350. for a newer version...
  1351.  
  1352.   DMFAQ58.ZIP - The Official DOOM FAQ 5.8 by Hank Leukart.  A big
  1353. omnibus collection of info on DOOM game play, culture and origins.  Now
  1354. shipped with registered DOOM itself.  Designers have less call to use it
  1355. than you'd think, but when they need it, they need it.
  1356.  
  1357.   DMSPEC13.ZIP - The Unofficial DOOM Specs 1.3 by Matt Fell.  An
  1358. essential compilation of technical data on all aspects of the game and
  1359. level design.  Should be on every designer's desk.  Needs updated with
  1360. some DOOM 1.666 changes, so look for 1.4 soon.
  1361.  
  1362.   METRICS.ZIP - "DOOM Metrics" by Scott Amspoker.  Comprehensive summary
  1363. of DOOM sizes, distances, clearances, speeds etc, with all information
  1364. experimentally verified.  Covers more detail on this subject than the
  1365. Specs, and where they disagree, Scott is usually right.
  1366.  
  1367.   TEXPATCH.ZIP - Textures To Patches, by Gregory Lewis.  Lists texture
  1368. names on the left, with component patches and offsets on the right.
  1369. Very useful for creating substitute graphics.
  1370.  
  1371.   TEXTURES.ZIP - "Managing Textures and the Unpegged Attribute" by Scott
  1372. Amspoker.  Intensive examination of how to use textures effectively in
  1373. level design.
  1374.  
  1375.                * * * END OF FAQ * * *
  1376.