THE UNOFFICIAL

DUKE NUKEM 3D

EDITING
FAQ
[need ASCII logo here - anyone?]


Release v0.2 - Request For Comments II
Last Updated: May 20, 1996
Written by: Klaus Breuer (sz0759@rrze.uni-erlangen.de)

                            Chapter 1

                       Happy lawyer dept.


1.1  Disclaimer


This FAQ is to aid in informing the public about creating
additional levels for the Game Duke Nukem 3D, by 3D Realms. In no
way should this promote your killing yourself, killing others, or
killing in any other fashion. Also, it should not promote the
building of real-world death-traps :)
Additionally, Klaus Breuer claims NO responsibility regarding ANY
illegal activity concerning this FAQ, or indirectly related to
this FAQ. The information contained in this FAQ only reflects 3D
Realms indirectly, and questioning 3D Realms regarding any
information in this FAQ is not recommended.


1.2  Trademark information


All specific names included herein are trademarks and are so
acknowledged:
3D Realms, Duke Nukem, IBM, Microsoft and MS-DOS.  Any trademarks
not mentioned here are still hypothetically acknowledged.


1.3  Copyright notice


This article is Copyright 1996 by Klaus Breuer. All rights
reserved.
You are granted the following rights:

   1.  To make copies of this work in original form, so long as

        1.1.  the copies are exact and complete;

        1.2.  the copies include the copyright notice and these
              paragraphs in their entirety;

        1.3.  the copies give obvious credit to the author, Klaus
              Breuer;

        1.4.  the copies are in electronic form.

   2.  To distribute this work, or copies made under the
       provisions above, so long as

        2.1.  this is the original work and not a derivative
              form;

        2.2.  you do not charge a fee for copying or for
              distribution;

        2.3.  you ensure that the distributed form includes the
              copyright notice, this paragraph, the disclaimer of
              warranty in their entirety and credit to the
              author;

        2.4.  the distributed form is not in an electronic
              magazine or within computer software (prior
              explicit permission may be obtained from Klaus
              Breuer);

        2.5.  the distributed form is the NEWEST version of the
              article to the best of the knowledge of the
              distributor;

        2.6.  the distributed form is electronic.

You may not distribute this work by any non-electronic media,
including but not limited to books, newsletters, magazines,
manuals, catalogs, and speech.  You may not distribute this work
in electronic magazines or within computer software without prior
written explicit permission.
These rights are temporary and revocable upon written, oral, or
other notice by Klaus Breuer. This copyright notice shall be
governed by the laws of the Federal Republic of Germany.

If you would like additional rights beyond those granted above,
write to the author at "sz0759@rrze.uni-erlangen.de" on the
Internet.


                            Chapter 2

                          Introduction


2.1  *A word from Klaus Breuer*


Well, here's the v0.2 version of the FAQ, still released as an
RFC (Request For Comments) - so let's hear your comments :)
Since this is only v0.2, there will be lots of gaps, omissions,
errors and -gasp- typos.

I've added quite a few how-tos, I'll add to the editor handling
in the next release.


2.2  *About the "UnOfficial" DUKE NUKEM 3D EDITING FAQ*


Welcome to the release v0.2 of the "UnOfficial" DUKE NUKEM 3D
EDITING FAQ.

What does that mean?  Version 0.2 is the second RFC release,
"UnOfficial" means absolutely nothing, DUKE NUKEM 3D is the name
of the game, Editing is what the FAQ is all about and FAQs are
[F]requently [A]sked [Q]uestions.

Here's how revision classification works.  If a new version of
the FAQ only has a small amount of information changed or added,
the version number is increased by 0.1. This is called a "minor
revision."
If a new version of the FAQ has a substantial amount of new
information changed or added, the version number is increased by
0.5. This is called a "standard revision."
If a new version of the FAQ has a huge amount of added or changed
information, major parts of the FAQ are rearranged, or major
parts of the FAQ are rewritten, then the version number is
increased by 1.0. This is called a "major revision."

Currently we're still in the 0.x stage, meaning a very
preliminary FAQ. As soon as we have amassed sufficient info in
here, I'll update the version number to 1.0.

You may be wondering why chapter headings are enclosed in either
[]'s, ()'s, or **'s. The definition of these is as follows:

[]             Chapters enclosed in brackets mean that the
               information contained in the chapter has not been
               updated in this or the previous FAQ.

()             Chapters enclosed in parenthesis mean that the
               information contained in the chapter has not been
               updated since the previous FAQ.

**             Chapters enclosed in asterisks means that the
               information contained in the chapter is new or has
               been updated for the current version of the FAQ
               you are reading.

If chapter headings are not enclosed in one of the above ways, it
means that it doesn't contain any information yet - ## please
help fill in the gaps!
Also, feel free to suggestion additional topics and questions,
even (especially?) if you don't know the answers to them.

Also, ##'s are at times found in the text - these denote
questions I urgently need help on, and any feedback is especially
appreciated.


2.3  *Getting the "UnOfficial" DN3DE FAQ*


The "UnOfficial" DN3DE FAQ is posted every month (or earlier if a
new version is released) on the following Usenet groups:

(1) comp.sys.ibm.pc.games.action
(2) alt.games.duke3d

The "Subject:" line of the post will be "'UnOfficial' DN3D
EDITING FAQ v??.??" where "??.??" is the version number of the
FAQ.

New releases of the "UnOfficial" DN3D EDITING FAQ will be
uploaded to internet ftp sites as soon as I find suitable sites.

The file name of the upload will be "dnefaq??.faq" where "??" is
the version number of the FAQ.

ATTENTION: ALL BBSes, Compuserve, America Online, GEnie, and all
other information services.  PLEASE conform to the naming
standard of the "UnOfficial" DN3D EDITING FAQ when placing this
file on your system.


2.4  (Adding to the FAQ)


If you want something added to the FAQ, please send E-mail to
"sz0759@rrze.uni-erlangen.de" (no quotes), explaining what your
addition is.
It will be reviewed, and if accepted, added to the next FAQ
version. In the E-mail, please supply your name and E-mail
address.
Please note that all submissions to the FAQ become the property
of the author (Klaus Breuer) and that they may or may not be
acknowleged.

By submitting to the FAQ, you grant permission for use of your
submission in any future publications of the FAQ in any media.
The author reserves the right to omit information from a
submission or delete the submission entirely.


2.5  (The DN3D EDITING mailing list)


## There is no such list yet, but hopefully somebody will pop up
who will run one...


2.6  (Acknowledgments)


I'd like to thank 3D Realms for bringing out such an astonishing
game! After two years, we finally seem to have a DOOM killer :)

ALPHABETICAL ORDER:

Thomas Mueller  (tsmuelle@cip.informatik.uni-erlangen.de)
               He found out lots of basic workings like
               Teleoprters, Swimming Pools, etc and put me on the
               right track in regard to sector tags.

THANK YOU! If, for some reason, I did miss you, PLEASE send me
e-mail!

Finally, I'd like to thank everyone who reads this FAQ, you are
what the FAQ is for!


2.7  (Accurate information)


An attempt has been made to make the information in this FAQ as
accurate as possible. Unfortunately, due to the fact that the
game was recently released, and updates, add-ons, and new
information are being worked on each second, it's hard to keep
up.

2.8  *Help with new levels*


If you are building a new level and are experiencing trouble,
feel free to contact me about it. Chances are that you are not
the only one with this problem, and I can add it to the FAQ.

Also, your particular difficulty could be an interesting side-
effect of something else, and others might want to hear about it
as well.

However, *please* read the FAQ fully before asking me about
anything :)


                            Chapter 3

                     Preliminary information


3.1  Intended audience for this chapter


3.2  The basics


3.3  What a map consists of


3.4  BUILD basics: the BUILD.EXE editor


3.5  2D mode


3.5.1  Creating a new sector

3.5.2  Creating an internal sector

3.5.3  Erasing a sector


3.6  3D mode
                            

                          Chapter 4

                 Planning and designing a level


4.1  Before starting


4.2  Pros and cons of using real-world maps


4.3  *Typical mistakes to avoid*


This section contains, in no particular order, common errors
which you should avoid:

4.3.1  *Crossed lines*

By this I mean bounding lines from the same sector crossing each
other. While the game will aloow this, it usually looks bad.

4.3.2  *Overlaying lines*

Overlaying lines very often leads to mysterious graphics glitches
(a door texture suddenly spilling onto the floor is a typical
example).
Rather place the lines very close to each other (using Grid lock
off).


                            Chapter 5

            A walkthrough to creating a simple level


5.0.1  Some thoughts on good level design


5.1  Creating a new map


5.2  The grid


5.3  Creating a room


5.4  Changing the floor and ceiling heights


5.5  Changing the look of walls (textures)


5.6  Adding another room


5.7  Adding a pedestal (inner sectors)


5.8  Sprites and objects


5.9  The enemy appears


5.10  Player starting points


5.11  Save-n-go


                            Chapter 6

                            How to...


6.1  *The basics*


6.1.1  *Abbreviations*

In order to easily describe tags and the like, I use some
abbreviations:

[x,y]          The tags of a sprite or wall: x is the hi-tag, y
               the lo-tag.
               Example: [0,34] describes a hi-tag of 0 and a lo-
               tag of 34.

(x)            Tile number (refers to sprites, too).
               Example: (621) is the camera sprite.

S              Sector effector tag
               Example: S [100,256] means to insert a Sector
               effector with the hi-tag 100 and the lo-tag 256.

A              Activator tag

T              Touchplate tag

L              Locked activator tag

M              Music and SFX tag

L+             Locator tag

C              Cycler tag

D              Master switch tag

R              Respawn tag

Sp             Speed tag

Bomb           A sprite with the tile number 1247 (yellow
               gasbottle), x-shrunken as narrow as possible. It
               is intangible to the player, but blows up when
               triggered.


6.1.2  Tags

6.1.3  Windows

6.1.4  A doorway

6.1.5  Angled surfaces

6.1.6  Glass panes

6.1.7  *Secret places*

To mark a sector secret, just tag it [0,32767]. A player will be
credited for finding it as soon as the sector is entered.


6.2  *Advanced editing*


6.2.1  *Cameras*

You can place cameras around the map, which will relay an image
to one or more viewscreens.

6.2.1.1  *Setup*

The security network consists of three objects:

Channels       A channel transports the video data from the
               camera(s) to the viewscreens. It is just a number.
               ## I haven't tested this thoroughly, but it seems
               that the channel has to be a three-digit number.

Cameras        (621) [Channel,Mobility]
               They have to be sprites, and can be placed
               anywhere in a room, facing in any direction. Using
               the lo-tag, you can even set the camera mobility:
               higher numbers allow the camera to move through a
               wider arc.
               Some example numbers:
               0
               Immobile
               128
               Very jerky (too short) - not recommended
               256
               Normal panning

Viewscreens    (502) [Channel,0]
               Viewscreens have to be sprites, too.

6.2.1.2  *Notes*

    *  If several cameras share a channel, the viewscreen
       connected to this channel can cycle through all connected
       camera views.

    *  It is advisable to hide the viewscreen behind armored
       glass, to cause the well-known purple circles when it's
       being shot at.

6.2.2  *Blastable walls (user control)*

Such walls can be blown up by detonating something close to them
(a pipebomb, RPG, etc).

6.2.2.1  *Setup*

    *  First build the wall with the hole already in it (usually
       consisting of several sectors with angled floors and
       ceilings).

    *  In each of these sectors, place an S [Channel,13].
       On the wall to be blasted, place a (possible semi-
       transparent) crack [Channel,0] (546-549), facing the
       player. Fire extinguishers (916) can be used, too.

    *  If you want, place bombs on both sides of the wall for
       realism [Channel,DelayUntilExplosion]. A delay of 8 is
       very short, while 2000 takes ages before it explodes.

6.2.2.2  *Notes*

    *  A wall with a crack on each side will blow ok, but the
       other crack will remain hanging in mid-air.

    *  Blastable walls retain no bullet holes until they blow.

    *  Usually, the angled floor and ceiling of the individual
       sectors will line up ok, forming a solid wall. ##
       Sometimes, however, they don't fit, creating triangular
       holes in the (as yet unblasted) wall. Anybody know why?

6.2.2.3  *Tips*

    *  Use texture 852 (blasted concrete) on the inside of the
       hole.

    *  Carefully align the wall textures. Especially the sideways
       alignment is important, as the wall looks real bad if this
       is not done properly.

6.2.3  *Blastable walls (triggered)

The work just like user-controlled blastable walls, except that
they can only be blown by program control, not by the user.
They are triggered by a T [0,Channel], and you can even add a
time-delay from the moment T is activated to the explosion of the
wall.

6.2.3.1  *Setup*

    *  First build the hole just as outlined above.
       However, you won't need to place a crack.

    *  In just one of the hole sectors, add a D [Delay,Channel].
       Delay ranges from 0 to 255, 255 being longest.

    *  Place at least a bomb [Channel, Delay] in the same sector
       as D. Delay ranges from 8 (blow right away) to over 2000
       (take ages, can be used for nasty traps) with typical
       values being 8,16 or 32.
       For realism, place some of these on both sides of the wall
       as well.

    *  Place a T [0,Channel] in any sector. It will go off as
       soon as the player enters the sector.

6.2.3.2  *Notes*

    *  You can blow several walls open simultaneously, but don't
       use different delays - the world shakes, but the holes
       only appear when the highest-numbered D blows.

6.2.4  Mirrors

6.2.5  *Light switches*

Light switches turn the light in one or more sectors on and off
('on' is very bright, 'off' is the original light level).

6.2.5.1  *Setup*

    *  Place a switch (eg 164) [0,Channel] sprite anywhere.

    *  The sectors to light up need an S [Channel,12].

6.2.5.2  *Notes*

    *  You can use several switches on the same channel, they
       operate simultaneously.

    *  Switches work just fine if used on their own - perhaps
       this could be used by players to communicate?

6.2.6  *Doors*

Ignoring simple doorways, real doors come in several flavours,
consisting of one or more moving sectors and some tags.
Note that all tags must be inside the door sector(s), not right
on the edge (turn off grid locking ond place it real close to the
edge, if necessary).

6.2.6.1  *Standard hinged*

A hinged door opens by rotation 90 degrees sideways.
The door sector [0,23] contains three tags:

S              [11,Channel]
               The location of the sector effector defines the
               rotation axis, the direction the rotation
               direction:
               up
               counterclockwise turn
               down
               clockwise turn

Sp             [0,Speed]
               Speed ranges from 8 (very slow) to over 1000 (real
               fast). ## I think you can leave this sector away
               for a default speed, but I'm not sure about this.

M              [Sound2,Sound1]
               Sound1 is the sound number to play when the door
               is opened, Sound2 when it's closed. Usually, these
               sounds will be the same.

*Notes*

    *  The doors floor texture doesn't rotate, but the ceiling
       one does.

    *  Make sure that the door doesn't rotate out of its original
       sector (for example, into a room with a higher ceiling) as
       the graphics will mess up. Thus the sector containing the
       door sector has to be large enough.

    *  You can open/close several doors simultaneously (building
       double doors, for example) by allocating each door the
       same channel.

6.2.6.2  *DOOM-type door*

This door opens by remote control (a switch) by raising the
ceiling from the floor, delays a moment, and lowers the ceiling
onto the floor again, closing the passageway.

*Setup*

    *  Switches (132) [0,Channel] can be placed anywhere. Must be
       sprites.

    *  The door sector [0,20] contains 4 tags:
       M   [ClosedSound,MovingSound] (eg 0,167)
       Sp  [0,Speed] (eg 0,88)
       S   [OpenDelayTime,Channel]
       A   [0,Channel]

*Notes*

    *  Switches can be hidden by letting the sprites face the
       wall and adding another sprite facing the player on top of
       it (as done in the toilet of E1L2 with the blowdryer).

    *  If the door is half-open at game start, it will close
       automatically.

    *  Don't make OpenDelayTime (the time to wait after closing
       the door again) too short! A door with a value of 128 will
       close real quick. If the time passes before the door has
       fully opened, it will malfunction (could be used by
       design, though).

6.2.6.3  *Sliding sideways*

This door works by moving/shrinking a sector sideways. A perfect
example of this can be found in E1L3 (Death Row), just to the
right of your starting point.
Building this door is easier to do than to explain, so bear with
me :) As soon as I have a better idea as to what exactly is
happening, I'll be able to explain this better...

Let's assume the door slides from the right into the left wall
when opening. We build the door in stages:

* The Entrance Sector, which contains the doorway.
First, we assign a sector (eg, connecting two rooms) which we'll
call the Entrance Sector. We're actually moving a sector
containing a one-sided wall, so the whole visible height will
move. This means that a sliding door is typically found in a low
passage, connecting two higher rooms.

* The Moving Sector.
Insode the Entrance Sector, insert two points below each other on
the left wall. From these, you now build a sector extending into
the Entrance Sector (in effect, the Entrance Sector will split
into an U-shaped Entrance Sector and a narrow moving sector)
[0,25].

* The door.
The door is actually made up of one-sided walls: insert two
points on the left wall inside the Moving Sector and pull them to
the right, creating the door itself.
You'll actually want to insert three points, creating a pointed
door which doesn't cover the Moving Sector completely but leaves
two wedge-shaped pieces open into which we'll add some tags:

* The tags.
S [Channel,15], facing right
M [DoneSound,MovingSound]

* The left wall
Insert two points on the left wall of the Entrance Sector: one
above the Moving Sector (call it P1) and one below it (call it
P2).
Now take the two inner points (the ones connecting the left wall
with the Moving Sector) a straight towards the left (not too
far), extending the Moving Sector in the process.
Finally, move P1 onto the upper line of the door and P2 ontoo the
lower one.

Phew! Looks weird, because so many unconnected lines and points
are overlaying each other (obviously, you should work with Grid
Lock on) but it should work.

*Notes*

    *  A typical sliding door texture is 447.

    *  So far, I've only gotten this door to open half-way ##.
       Evidentially, there's an additional, flat sector involved
       (see e1L3), but I haven't gotten it to work yet.

    *  Changing the heading of the sector effector produces
       interesting (and usually, buggy) results.

6.2.7  *Shrinking sector (remote control)*

This will shrink a sector (for example a curtain) by on the press
of a button. ## I haven't gotten the sector to regrow, however.

6.2.7.1  *Setup*

    *  Place one or more switches anywhere
       [ActivationSound,Channel].

    *  Inside the sector to shrink [0,27], place three tags:
       S  [Channel,20] facing the movement direction.
       A  [0,Channel]
       Sp [0,Opening Speed]

6.2.8  Elevators

6.2.9  *Teleporters*

Teleporters move players instantly between any two points.

6.2.9.1  *Setup*

Teleporters are not sectors, but simply sector effectors. They do
need the floor tile 626, though:
S [7,Channel], facing is the same the arriving player should
face.

6.2.9.2  *Notes*

    *  A teleporter without a floor tile 626 only act as
       receivers.

    *  A single teleporter without a destination will kill the
       player.

    *  When usgin more than two teleporters on the same channel,
       you always land on the teleporter with the lowest sprite
       number. If teleporting from the lowest sprite number, you
       end u on the next-highest one.

    *  Teleporters don't work if you fly over them.

    *  ## I've had strange effects when firing rockets into two
       teleporters set up in a line - the rocket reappeared
       _behind_ me, angled slightly to the right (thankfully :)
       Any ideas?

6.2.10  *Swimming pools*

Swimming pools allow the player to jump into the water and dive
around under the water surface.

6.2.10.1  *Setup*

A swimming pools consists of at least two sectors: one is the
room above the water, one is the room below it. An teleporter
secretly moves the player (and any other objects, like pipebombs)
between the levels as required.
The sectors sharing the water surface have to be the exact same
size and shape (of course).
The teleporter connecting them needs a unique channel number.

Above-water sector
               [0,1]
               S [Channel,7]

Below-water sector
               [0,2]
               S [Channel,7]

6.2.10.2  *Notes*

    *  The floor/ceiling types for the water surface don't matter
       - all objects will always be transported correctly, water
       will splash, etc.
       This allows you to generate hidden traps, mud, etc.

    *  If you split a pool into several sectors (for example in
       order to create a pool with a shallow and a deep end), you
       have to split the above-water sector as well and add a
       sector effector in each new sector.

6.2.10.3  *Tips*

    *  Nothing to stop you from adding sector to the below-water
       sector, forming an underwater tunnel leading somewhere
       else; perhaps even surfacing in a different pool.

6.2.11  The Grapplers

6.2.12  Floors above floors

6.2.13  Morphing ramps

6.2.14  *Vehicles*

## I haven't yet managed a subway - they always turn into
attacking vehicles (next section).

6.2.15  *Attacking vehicles*

Vehicles (simply a sector with a raised floor) can be set up to
travel from their original position to a pre-determined closed
path, which they will follow, attacking any visible player with
rockets (like the space fighter at the start of E2L1).

6.2.15.1  *Setup*

    *  The vehicle sector requires an S [0,6]. The position of
       this tag determines the rotation center when turning, and
       its direction the facing of the vehicle.

    *  Mark the route with several L+ [Pause,VisitingOrder].
       A Pause of 0 means smooth movement, a 1 means a short
       pause at the _next_ L+.
       The tags are visited in their VisitingOrder, starting from
       0.

6.2.15.2  *Notes*

    *  The vehicle must start in the same sector as its route, as
       the game will reuse to run otherwise. Thus you can't, for
       example, cause a car to come out of a low garage and
       circle around outside afterwards.

    *  You can have several vehicles following the same route.

    *  You can also design a vehicle using several sectors, but
       they will rotate individually at each L+. Rather use a
       'bounding' sector, containing the S.


6.3  Tips and tricks: New and interesting effects

                            Chapter 7

                   Programming the .CON files


                            Chapter 8

                      Utilities and add-ons


8.1  Editing utilities


8.2  Data files


8.2.1  Graphics

8.2.2  Sounds

8.2.3  Music

8.2.4  .CON modifications

8.2.5  Demos (Recordings)

8.2.6  Missions

8.2.6.1  *GRP Authoring Template v0.1*

Note that I've simply taken and modified the v1.4 of the
"Official" GRP Authoring Template - ## any objections?

For all of you map authors out there, here is the "Official" GRP
Authoring Template v0.1. When you release your map, please fill
this form out and place it in the information file you create
about your new map. This way we'll easily be able to compare
submissions.

Thanks to Steve Bareman (bareman@hope.cit.hope.edu) for creating
a WAD about file standard.

GRP Authoring Template V0.1   (Clip this line)
================================================================
Title                   :
Filename                : xxxx.MAP
Author                  : Your name here
Email Address           :
Misc. Author Info       :

Description             : Set the mood here.

Additional Credits to   :

================================================================

* Play Information *

Episode and Level #     : ExMx (,ExMx,...)
Single Player           : Yes/No
Cooperative 2-8 Player  : Yes/No
Deathmatch 2-8 Player   : Yes/No
Difficulty Settings     : Yes/Not implemented
New Sounds              : Yes/No
New Graphics            : Yes/No
New Music               : Yes/No
New Programming         : Yes/No
Demos Replaced          : None/1/2/All

* Construction *

Base                    : New level from scratch/Modified
ExMx/xxx.MAP
Editor(s) used          :
Known Bugs              :

* Where to get this map *

FTP sites:

BBS numbers:

Other:


8.3  *Future add-ons*


8.3.1  *Add-on software wish list*

Attention programmers! Here is a wish list, created by the DN3D
players, of add-on software that should be made for DN3D. If you
would like to make an addition to this list, please send me E-
mail.
Additionally, if you are planning on creating one of these
utilities, tell me, and I'll move it to the "Add-on software in
the making" chapter.

    *  A DEU-like pre-editor for the rough work (to be fine-tuned
       later by BUILD.EXE). Ideally, this preeditor would be
       network-capable to allow several people to work on a level
       simultaneously.

    *  Automatic .CON file patcher to allow easy inclusion of
       .CON modifications.

    *  Lots of additional graphics, allowing the building of
       realistic 'normal' street and house maps.

8.3.2  (Add-on software in the making)

This chapter tells about add-on software which is being currently
worked on.
If you are working on something that is not in here, please send
me E-mail so I can put it in.
In this section, you can also request help on creating some add-
on software.


                            Chapter 9

                         Troubleshooting


9.1  Bugs in the game


9.1.1  Remote switch triggering

9.1.1.1  *Bug*

If a switch is placed on a thin wall, you can trigger it from the
other side of the wall.

9.1.1.2  *Workaround*

Place switches on thicker or even outside walls.


9.2  Bugs in BUILD


9.2.1  *'G'oto Tile*

9.2.1.1  *Bug*

When pressing 'V' in 3D mode to select a texture, pressing 'G' to
immediately jump to a certain tile number will sometimes hang the
game.

9.2.1.2  *Workaround*

When selecting a texture, always press 'V' twice, jumping to the
complete tile list.

9.2.2  *Selecting long lines*

9.2.2.1  *Bug*

If a line is too long, you can't select it anymore by moving the
curser near it. Thus you also can't insert new points on it, for
example.

9.2.2.2  *Workaround*

Keep the lines short by inserting points on too long olines:
shorten the line, insert a point, lengthen the line again, move
the newly inserted point into the middle of the line.

                           Chapter 10

                        *Reference lists*


This chapter contains useful reference material which you might
even want to print out and keep handy while designing levels.


10.1  *List of tiles*


Hre's a complete list of all sector tags, with a detailed
explanation on each:


10.2  *List of tiles*


This section contains a list of all tiles in the game, sometimes
with a short explanation.

513            Bridge sprite
               Used to create a walkable bridge like in E1L1 near
               the exit.

852            Broken concrete
               Typically used inside blasted holes or damaged
               walls.


                           Chapter 11

                         *Miscellaneous*


11.1  *Conclusion*


Phew! Well, that is all I have! I hope this FAQ proves to provide
a good resource for DN3D Editing information. If you have any
suggestions, questions, additions, or comments for the FAQ, send
me e-mail at "sz0759@rrze.uni-erlangen.de".

Thanks for reading the FAQ!  -Klaus Breuer

   SUPPORT YOUR SHAREWARE COMPANIES!  REGISTER YOUR SHAREWARE!


11.2  *Revision history*


v0.1           First release of the DN3D EDITING FAQ as an RFC.
               (16. May 1996)

v0.2           RFC II, added how-tos and changed the format a
               bit. (20. May 1996)


                          Contents



     Chapter 1  Happy lawyer dept.                         3
        1.1  Disclaimer  . . . . . . . . . . . . . . . . . 3
        1.2  Trademark information . . . . . . . . . . . . 3
        1.3  Copyright notice  . . . . . . . . . . . . . . 3

     Chapter 2  Introduction                               5
        2.1  *A word from Klaus Breuer*  . . . . . . . . . 5
        2.2  *About the "UnOfficial" DUKE NUKEM 3D EDITING
             FAQ*  . . . . . . . . . . . . . . . . . . . . 5
        2.3  *Getting the "UnOfficial" DN3DE FAQ*  . . . . 6
        2.4  (Adding to the FAQ) . . . . . . . . . . . . . 6
        2.5  (The DN3D EDITING mailing list) . . . . . . . 7
        2.6  (Acknowledgments) . . . . . . . . . . . . . . 7
        2.7  (Accurate information)  . . . . . . . . . . . 7
        2.8  *Help with new levels*  . . . . . . . . . . . 8

     Chapter 3  Preliminary information                    9
        3.1  Intended audience for this chapter  . . . . . 9
        3.2  The basics  . . . . . . . . . . . . . . . . . 9
        3.3  What a map consists of  . . . . . . . . . . . 9
        3.4  BUILD basics: the BUILD.EXE editor  . . . . . 9
        3.5  2D mode . . . . . . . . . . . . . . . . . . . 9
           3.5.1  Creating a new sector  . . . . . . . . . 9
           3.5.2  Creating an internal sector  . . . . . . 9
           3.5.3  Erasing a sector . . . . . . . . . . . . 9
        3.6  3D mode . . . . . . . . . . . . . . . . . . . 9

     Chapter 4  Planning and designing a level            11
        4.1  Before starting . . . . . . . . . . . . . .  11
        4.2  Pros and cons of using real-world maps  . .  11
        4.3  *Typical mistakes to avoid* . . . . . . . .  11
           4.3.1  *Crossed lines*  . . . . . . . . . . .  11
           4.3.2  *Overlaying lines* . . . . . . . . . .  11

     Chapter 5  A walkthrough to creating a simple level  13
           5.0.1  Some thoughts on good level design . .  13
        5.1  Creating a new map  . . . . . . . . . . . .  13
        5.2  The grid  . . . . . . . . . . . . . . . . .  13
        5.3  Creating a room . . . . . . . . . . . . . .  13
        5.4  Changing the floor and ceiling heights  . .  13
        5.5  Changing the look of walls (textures) . . .  13
        5.6  Adding another room . . . . . . . . . . . .  13
        5.7  Adding a pedestal (inner sectors) . . . . .  13
        5.8  Sprites and objects . . . . . . . . . . . .  13
        5.9  The enemy appears . . . . . . . . . . . . .  13
        5.10  Player starting points . . . . . . . . . .  13
        5.11  Save-n-go  . . . . . . . . . . . . . . . .  13

     Chapter 6  How to...                                 15
        6.1  *The basics*  . . . . . . . . . . . . . . .  15
           6.1.1  *Abbreviations*  . . . . . . . . . . .  15
           6.1.2  Tags . . . . . . . . . . . . . . . . .  16
           6.1.3  Windows  . . . . . . . . . . . . . . .  16
           6.1.4  A doorway  . . . . . . . . . . . . . .  16
           6.1.5  Angled surfaces  . . . . . . . . . . .  16
           6.1.6  Glass panes  . . . . . . . . . . . . .  16
           6.1.7  *Secret places*  . . . . . . . . . . .  16
        6.2  *Advanced editing*  . . . . . . . . . . . .  16
           6.2.1  *Cameras*  . . . . . . . . . . . . . .  16
              6.2.1.1  *Setup* . . . . . . . . . . . . .  16
              6.2.1.2  *Notes* . . . . . . . . . . . . .  17
           6.2.2  *Blastable walls (user control)* . . .  17
              6.2.2.1  *Setup* . . . . . . . . . . . . .  17
              6.2.2.2  *Notes* . . . . . . . . . . . . .  17
              6.2.2.3  *Tips*  . . . . . . . . . . . . .  17
           6.2.3  *Blastable walls (triggered) . . . . .  18
              6.2.3.1  *Setup* . . . . . . . . . . . . .  18
              6.2.3.2  *Notes* . . . . . . . . . . . . .  18
           6.2.4  Mirrors  . . . . . . . . . . . . . . .  18
           6.2.5  *Light switches* . . . . . . . . . . .  18
              6.2.5.1  *Setup* . . . . . . . . . . . . .  18
              6.2.5.2  *Notes* . . . . . . . . . . . . .  18
           6.2.6  *Doors*  . . . . . . . . . . . . . . .  19
              6.2.6.1  *Standard hinged* . . . . . . . .  19
              6.2.6.2  *DOOM-type door*  . . . . . . . .  19
              6.2.6.3  *Sliding sideways*  . . . . . . .  20
           6.2.7  *Shrinking sector (remote control)*  .  21
              6.2.7.1  *Setup* . . . . . . . . . . . . .  21
           6.2.8  Elevators  . . . . . . . . . . . . . .  22
           6.2.9  *Teleporters*  . . . . . . . . . . . .  22
              6.2.9.1  *Setup* . . . . . . . . . . . . .  22
              6.2.9.2  *Notes* . . . . . . . . . . . . .  22
           6.2.10  *Swimming pools*  . . . . . . . . . .  22
              6.2.10.1  *Setup*  . . . . . . . . . . . .  22
              6.2.10.2  *Notes*  . . . . . . . . . . . .  23
              6.2.10.3  *Tips* . . . . . . . . . . . . .  23
           6.2.11  The Grapplers . . . . . . . . . . . .  23
           6.2.12  Floors above floors . . . . . . . . .  23
           6.2.13  Morphing ramps  . . . . . . . . . . .  23
           6.2.14  *Vehicles*  . . . . . . . . . . . . .  23
           6.2.15  *Attacking vehicles*  . . . . . . . .  23
              6.2.15.1  *Setup*  . . . . . . . . . . . .  23
              6.2.15.2  *Notes*  . . . . . . . . . . . .  23
        6.3  Tips and tricks: New and interesting
             effects . . . . . . . . . . . . . . . . . .  24

     Chapter 7  Programming the .CON files                25

     Chapter 8  Utilities and add-ons                     27
        8.1  Editing utilities . . . . . . . . . . . . .  27
        8.2  Data files  . . . . . . . . . . . . . . . .  27
           8.2.1  Graphics . . . . . . . . . . . . . . .  27
           8.2.2  Sounds . . . . . . . . . . . . . . . .  27
           8.2.3  Music  . . . . . . . . . . . . . . . .  27
           8.2.4  .CON modifications . . . . . . . . . .  27
           8.2.5  Demos (Recordings) . . . . . . . . . .  27
           8.2.6  Missions . . . . . . . . . . . . . . .  27
              8.2.6.1  *GRP Authoring Template v0.1* . .  27
        8.3  *Future add-ons*  . . . . . . . . . . . . .  28
           8.3.1  *Add-on software wish list*  . . . . .  28
           8.3.2  (Add-on software in the making)  . . .  29

     Chapter 9  Troubleshooting                           31
        9.1  Bugs in the game  . . . . . . . . . . . . .  31
           9.1.1  Remote switch triggering . . . . . . .  31
              9.1.1.1  *Bug* . . . . . . . . . . . . . .  31
              9.1.1.2  *Workaround*  . . . . . . . . . .  31
        9.2  Bugs in BUILD . . . . . . . . . . . . . . .  31
           9.2.1  *'G'oto Tile*  . . . . . . . . . . . .  31
              9.2.1.1  *Bug* . . . . . . . . . . . . . .  31
              9.2.1.2  *Workaround*  . . . . . . . . . .  31
           9.2.2  *Selecting long lines* . . . . . . . .  31
              9.2.2.1  *Bug* . . . . . . . . . . . . . .  31
              9.2.2.2  *Workaround*  . . . . . . . . . .  32

     Chapter 10  *Reference lists*                        33
        10.1  *List of tiles*  . . . . . . . . . . . . .  33
        10.2  *List of tiles*  . . . . . . . . . . . . .  33

     Chapter 11  *Miscellaneous*                          35
        11.1  *Conclusion* . . . . . . . . . . . . . . .  35
        11.2  *Revision history* . . . . . . . . . . . .  35
---
Klaus Breuer, Rudelsweiher Str. 6b, 91054 Erlangen, Germany
"Geez, I need a *reason* for everything?"   -- Calvin
"Should I or shouldn't I? Too late, I did!" -- Hobbes
