This document will give you an overall idea of what's involved in DOOM editing and the creation of new WADs. Trouble is that you can't do this with a single tool, in fact I must have used or reviewed some thirty different utilities during the creation of my WADs, and it has taken me a lot of time and effort reading stuff and asking other people for help just to find out what is often something really simple. And it takes a while to sift through all the utilities to find the ones you really need.
So, this won't be a guide to WAD editing per se because there are some great documents out there already (see especially the WAD Designers Handbook and its associated Addendum which I used myself when I first started WAD editing) but it will give you a conceptual overview, an idea of the many things you can do when WAD editing and importantly, links to the utilities and documents you will need. Hopefully, this will save you a LOT of time if you are just starting out.
This document is copyright (c) John Bishop 1998, and is not endorsed or supported by id Software. Readers are welcome to print and distribute it freely provided they keep it intact and give me credit as the author. All documents and software referred to in this document are copyrighted by their respective authors and I make no claim of any kind to these materials and intend no copyright infringement.
Note: the terms DOOM, DOOM2 and DOOMII are used interchangeably throughout this document.
If you read this and find any errors, omissions, or have suggestions as to how it might be enhanced please EMail me.
** Number of Guide readers since 16 June 1998: **
When I first got interested in the construction of DOOMII WAD files, I had no idea of how addictive it was to become. I'm not a very good player myself, but was watching my son play a level one day and was just fascinated by the architecture. Wondering how the game was constructed set me off on a journey that was to last a couple of years off and on (so far at the time of writing), with five WADs of my own, and a sixth on the way.
Trouble is, there's almost too much information out there and you need to know at least a little about many things before you can construct a good looking WAD. The fact is that virtually everything in a DOOMII WAD can be replaced, from the opening screen to the closing credits, but there is no one tool that will do all this for you.
The remainder of this document will introduce you to the tools that I have found invaluable during my WAD construction. But don't stop here, there will be more utilities coming out as time passes.
And it still doesn't end. As I write this, those great good guys at TeamTNT have just released the BOOM engine. This is an enhanced version of the original DOOMII engine, with all the bad bugs ironed out and a pile of new features for us fanatical WAD designers. To go with the new engine there are updated editors and utilities, and I know that at the time of writing TeamTNT already have in mind some of the functions of Phase 2 of the BOOM engine.
Ha ! So you can be bothered to read all this stuff eh ? Ok then, there are only two things you absolutely must have to create your own DOOM levels:
I would also recommend that you download the WAD Designers Handbook and its associated Addendum, although you may be able to do without.
This small manual is about all the utilities and documents which I used along the way and in fact still use. So you might ask yourself why it is the case that really all you need is these two things. Well, it is true that provided you have an editor that can build a level (or map) which the DOOM Engine can run you're on your way. However, after you have completed your first WAD (or maybe even before that) you will begin to wonder how some WADs you play have different opening and closing screens, different exit text displays, different sounds, music and textures, even different sprites. That is why this document is here.
This document won't give you all the details you need to run each of the utilities that it refers to... each has its own documentation. What it will do is tell you what utility you can use to do each function you might need on a WAD and will provide some description and links so you can get the utility and try it for yourself. Having said that, there's nothing wrong with starting off just with an editor and learning how to use it before messing with all the other stuff. That's exactly what I did and I suspect many others did too.
If you're really serious about learning how to do WAD design you're probably in for a bit of a long haul with a great deal of learning to do, lots of late nights and many frustrations. You know the type of thing... you see an effect in a WAD and wonder how it's done so you load it into your editor and you still can't understand how it's done ! Well, if you're going to become competent at this then it is going to take an effort. But I can tell you that it is well worth it.
I can still remember the feeling I had when I created my first room - that's all it was, one room - and I ran the game and there I was, inside my own world ! There is no describing how it feels to wander about in a world that is completely of your own making - the way it appears and everything in it and that takes place in it is yours. How about that for power !
So believe me it's worth all the late nights, the frustrations, the pain when stuff doesn't work right, the mistakes, the criticism. Don't give up after a week. It isn't going to take a week, more like months.
And remember that if you get really stuck help is never far away. There are DOOM sites with EMail addresses all over the web, there are newsgroups (particularly rec.games.computer.doom.editing) and endless documents. You need help, just ask, someone out there will have the answer.
As you read through this and the many other documents you will doubtless read, you will encounter a bunch of new terminology which will only become meaningful with time. This document is no different to any other because when people are talking about DOOM editing they use the same 'new' words to convey their ideas. So, this section contains some of the terms you will come across and gives a (usually simple) definition. They appear in alphabetic sequence. The WAD Designers Handbook that I have already mentioned contains a fuller and more technical explanation of some of these and other terms and should be used when you need more details.
|Animated texture||You may have noticed when playing DOOM that some of the textures you see move. Examples are the fiery and blood walls. There are also some animated flats (floor and ceiling textures) like the acid and the lava. DOOM creates this effect by having several texture definitions which it displays one after the other - much as a cartoon is created.|
|Flat||This is the name given to the textures used for the floors and ceilings. They are a standard 64 by 64 pixels in size.|
|Linedef||This is the name given to a line on the editing map that joins two points. (The points themselves are called vertices; one of them is a vertex). Every structure that you draw using your editor is done using linedefs. Linedefs can have one or two sides, where a one-sided linedef can only be seen by the player from one side. An example is a room's outer wall which the player cannot see the 'other' (outer) side of. Two-sided lindefs can be seen by the player from both sides, like a window. This is a short definition, see the WAD Designers Handbook for a much fuller explanation.|
|LOS||The abbreviation for 'line of sight'. This term is used in relation to building the Reject Map (see Reject Map Builders later) and is concerned with the calculation involved in determining whether at each point in the game a monster is able to see and therefore attack you, the player.|
|Lump||Some of the resources in a PWAD are referred
to as 'lumps'. When extracted from a WAD they are written to disk with the extension .LMP,
and the most common form of lump you are likely to see is a DOOMII demo file. Other lumps are
PLAYPAL which are the 14 DOOM colour palettes, COLORMAP for colour mapping, ENDOOM which is
the text screen displayed when you've quit DOOM, the three demos DEMO1, DEMO2 and DEMO3, GENMIDI
which is for general MIDI instrument mapping and DMXGUS and DMXGUSC for text file remapping of
MIDI instruments for the Gravis Ultrasound card.
In BOOM there are two new lumps, ANIMATED and SWITCHES. The SWITCHES lump defines the names of textures that are used as switches and have an 'on' and an 'off' state. The ANIMATED lump defines the names of the flats and wall textures which are animated. For the switches, the first and second texture name is given whereas for the animated textures, the name of the first and the name of the last in the series is given. A new utility is provided with BOOM to build these new lumps.
|Map||A set of resources which comprises at least one sector bounded by linedefs and a player 1 start point. Usually of course the Map is far more complex than this with many sectors or areas that the player can move in, and many things such as monsters, weapons, roadkill, torches, ammo and so on. A Map is often also referred to as a level. It is a DOOM Map that you will be defining with your DOOM editor.|
|Nodes/Node Tree||Nodes are entries in what is known as a 'node tree'
or a 'BSP Tree' and as you might expect, the node tree is just another resource in
the WAD. How they are created is not normally our worry since some very bright
people out there have taken all the pain out of creating the node tree by writing software to
do it for us ! Most editors have a node builder incorporated which creates the tree and
places it in the WAD at the appropriate point.
Having said that, it is good to be aware that the node tree exists since it is used by the Engine to determine what is in the players line of sight, and therefore what he is able to see at any point in the level. The Engine will not work if the node tree is not present in the PWAD. The editor I use, DCK, has the node builder ZenNode built in; other editors build their own node tree or use an alternative like BSP.
|PWAD or WAD||A collection of 'resources' that defines the appearance of a DOOMII game. It will normally contain at least the full definition of the game architecture (rooms, doors, stairs, lighting and so on), and the positioning of all 'things' such as monsters, pillars, torches, key cards and so on. It may optionally contain other resources such as textures and music. For a fuller explanation see What is a WAD below.|
|Reject Map||A table within a DOOMII WAD which saves the Engine having to always calculate, at any point in the game, whether you are visible to monsters in other sectors.|
|Resource||I have used this word throughout this document to refer to the various parts that go to make up the WAD file. It is perfectly OK to have a WAD that contains nothing but music, or a WAD that contains nothing but new sound effects. You can 'add on' multiple WADs using the -FILE parameter when you invoke DOOM or BOOM. Resources of all types can be extracted from a PWAD using a PWAD resource manipulating utility such as DeuTex or WinTex, both of which are available at ftp.cdrom.com here.|
|Sector||An enclosed area in a map (or level) which has a defined floor and ceiling height and lighting level. Since it is enclosed, it must have at least three lines (or linedefs) to define it, but there is no restriction on its shape, and the maximum number of lines that can be used to define it is so large as to be of no real concern. Every part of a map that a player moves in must be defined as a sector. It follows from this definition that doors, windows, lifts, crates and so on are all separate sectors.|
|Sidedef||The sidedef tells the Engine what to display when the player faces a linedef in the game, i.e. the textures that it should paint. Sidedefs have three different areas on which textures may or may not be painted, referred to as the upper, normal and lower. For example, if you have a tunnel entrance in a wall where there is a step up to get into it and the roof of the tunnel is below the ceiling of the room you are in, then the upper texture is that painted above the tunnel entrance (on the wall that faces you), the lower texture is that painted below the tunnel entrance, and the normal is the texture on the tunnel entrance itself - which in this case would be no texture at all. This is explained in much more detail in the WAD Designers Handbook.|
|Texture||This is the general name given to the patterns
you see on the walls, floors and ceilings as you move through the DOOM game. You know, the bricks,
stones, rocks, dripping acid and so on. In fact, when it comes to editing you will soon find that
there is a difference between wall textures and those used for the floors and ceilings. These
last two are usually called 'flats' rather than textures, so the word textures can usually be
taken to mean just those displayed on the walls.
Textures are normally 128 pixels high and either 64 or 128 pixels wide. However, a number of textures differ from these dimensions so you do have to use care when you are choosing your wall and especially door textures when you have not used a standard size. Also, some special textures such as the exit door are quite unusual so look out for these when you are editing ! Some textures (the switches for example) can be animated. You will read all about this in the section on WinTex/DeuTex.
The sky texture is special in many ways (as you will read in other documents referred to from here - especially Jens Hykkelbjerg's Special Effects document) but when you are just starting out treat it like another ceiling flat, watching carefully how it appears.
|Thing||A Thing is an item in a DOOMII game such as a
weapon, medikit, key card, tree, and of course enemies. Some things are not immediately apparent as things
to players but become apparent when you start editing. I would classify the teleport exit flash and the
player starting point in this group. There are nine categories of things: Player starts/Teleport
exits, Weapons, Enemies, Bonus items, Keys, Lights, Bodies (or 'Roadkill'), Hanging Bodies, Decorations.
When you are editing a new map and inserting your things, you will choose a number of attributes, such as which difficulty level they appear on, whether they appear in co-op or deathmatch mode, whether an enemy will not attack you until it actually sees you and so on. It is the careful selection of the attributes which can lend further realism to your game according to the skill of the player. This is discussed in some detail in the WAD Designers Handbook.
When you play a game of DOOM, there are two main parts to what you see and do during the game. The part that controls how things happen (i.e. the action), like the gun firing when you press a key, the monsters dying when they get hit and so on, are all controlled by the DOOMII Engine. The part that controls how things appear to you, the rooms you are in, the textures on the walls, even the music and the ending text screen you see, are all part of the WAD. The Engine controls the action and the WAD controls the appearance. In DOOMII for example, we are talking about the distinction between DOOM2.EXE (the Engine) and DOOM2.WAD (the WAD).
There are two types of WAD, IWADs and PWADs. An IWAD (short for Internal WAD) is the huge file that you will see in your DOOM or DOOMII directory and that was supplied with the registered game (e.g. DOOM2.WAD). It includes everything there is needed to run the game including all the maps, sprites, wall textures, floor and ceiling textures, music, sound effects, text messages and so on. A PWAD (or Patch WAD) is what you will be concerned with designing.
The PWAD is generally (though not necessarily always) smaller than an IWAD and perhaps only contains a single new map definition. All of the other things that are needed for the game are loaded from the IWAD. So what happens when you use the DOOM2 -FILE pwad-name.WAD command is that the map or maps (and any other resources you have defined) in 'pwad-name.WAD' replaces those in the original IWAD leaving all the other resources in the IWAD available during gameplay. Thus, if you have designed a MAP01, the original DOOMII MAP01 is replaced by yours - but only temporarily - it does not affect the DOOM2 IWAD on your hard drive ! All the music, sound effects, monster designs and so on are taken from the original DOOM or DOOM2 IWAD. Most of the time when people talk of WADs and WAD design they are referring to PWADs.
It is this separation of the Engine and the WAD which is at the root of your ability to design your own DOOMII maps, because all you need to do is create a single room with valid wall, floor and ceiling textures in it, a single player start and that's it, your own first WAD ! The Engine will take care of the display of the textures on the walls and floor, the shooting of the gun and your movement through your room. But how can you do this ? Well, first you are going to need an editor to build yourself the DOOMII map and thus the WAD. Later, you might well find that there are other utilities you need, but the editor is the starting point and is the very least that you will need.
If you read the previous section, you now know that the WAD contains definitions of things like the map, possibly sprite and texture definitions and so on. But how is this all arranged internally ?
Well, a WAD file has three basic parts, a 'header', one or more 'resources' (like the map resources, textures and so on), and a 'directory'. The directory is the key to all this because it contains all the resource names (and for the programmers out there, all the sizes and offsets to each of the WAD resources). The header indicates whether it is an IWAD or a PWAD, and also tells the Engine (and of course any other software that processes WAD files such as an editor or other utility) how many resources there are in the WAD and where the directory starts. There are well over 2000 entries in the directory and if you are interested in knowing what they all are you should see the DOOM 1.666 Specification by Matt Fell. Generally speaking you would only be interested in this document if you were intending to write a utility that processes WAD files.
Usually, the resources are referred to in 'groups', so we talk about sprites, flats, sounds and so on. But of course within each group we will have many individual resources which can always be referenced by name. It really is important to grasp this concept because it is at the heart of your ability to define your own resources, of almost all of the types, and replace them in your own PWAD.
What you will find throughout this (and other) documents, is that whenever a utility talks about replacing a WAD resource, it refers to its name, indeed the utilities need you to provide the name so that they know what to replace ! This is why when, for example, you read about the utility ENDOOMER which replaces the ending text screen when you exit doom, we talk about ENDOOM - simply because ENDOOM is the name of the resource in the WAD that contains the text. Another example is if you want to replace the music for DOOMII MAP01 you must create a music file with the name D_RUNNIN because this name and only this name is what DOOM recognizes as being the music for MAP01.
If you can understand this you're well on your way ! If you can't it doesn't really matter because provided you can use one of the editors you can always just stick to designing simple maps without doing all the other stuff like replacing textures, music, sound effects or so on. Like I've said before, don't give up... start slowly and come back to this section after you've tried a couple of editors because it may well be clearer then.
Getting yourself a WAD editor is the starting point because it is by using an editor that you will be able to lay out the design of your level. You will need to make a fundamental decision or two before finally settling on your editor of choice. This is because there are a number of editors out there and there must be at least a half dozen I have seen that I would rate as good software, one or two of which are first class both in terms of operability and suitability to the task, and also in terms of support by their authors. Some of the available editors are free, one or two are shareware.
You will also need to decide whether you want to edit in a Windows environment or in straight MS-DOS. (I know that editors are also available for the Apple Mac system and other platforms, but this document will only refer to PC based operating environments). These days some editors support a DOS window from Windows 95 or Windows NT. I am not going to recommend which one you select... each one has good points and not so good points, but there is one more fundamental thing to bear in mind. If you want to stick to basic DOOMII (or DOOM) editing, any editor will do this for you. However, if you want to create WADs using features that are available in the new TeamTNT BOOM Engine, then you must choose an editor that supports the new features available with BOOM. Of course what you might do is learn the basics with a simple editor and move on to the more feature-packed BOOM editing later.
So what editors are there ? Well, the most common ones are shown below and I would advise taking a look at all of these and designing a small WAD in each one, say just a couple of connected rooms with a door in between, before making a decision. And don't give up... when you're first starting it can be very frustrating because there is so much new stuff to absorb that it can seem overwhelming. But just start out with really simple stuff, don't try to build a complex map such as those you will have seen and played. Some of the architectural features you see in WADs by TeamTNT for example take a LOT of work and knowledge to do. So, keep it simple and learn to walk before you can run.
Note that there are other editors of which I am aware but which do not appear here (WADED and DOOMCAD spring to mind). Just use ftp.cdrom.com to check out the others if you want to, or if you don't get on with any of those listed below.
|DCK||DCK is the DOOM Construction Kit by Ben Morris (which he no longer supports). This is the editor I first started with and I found it easy to use, intuitive and reasonably reliable. I still use it occasionally because TeamTNT have added support for the BOOM engine although this support is not complete because of limitations in the editor. The link above will download the last shareware version that was released (3.62). Prior to this, the last freeware version which some people still prefer was 2.2 which can be downloaded from here.|
|DETH||DETH is the DOOM Editor for Total Headcases. It was originally written by Antony J Burden and Simon Oke and seems to be maintained now by TeamTNT. It runs in DOS mode but is happy to run in a DOS window under Win95 so I guess it will also be OK under WinNT. It's a bit strange because it has a command line interface, but once you've loaded a WAD it has a Windows-type interface. Anyway, since it is maintained by TeamTNT it has full BOOM support. The link above goes to the bit of TeamTNT's site where you can download the latest version of DETH and incidentally also download BOOM and the files required to give BOOM support to both the versions of DCK mentioned above.|
|DeeP||DeeP (DOOM Enhanced Editor Program) is written by Jack Vermeulen and there are several versions available the latest of which are full 32-bit Win95/WinNT products but a fully functional DOS version is still available. This editor looks very impressive and it has full support for all the new BOOM features. It also can do a pile of things that I have not seen in other editors such as in-built sprite and texture editing. There is a full website for Deep accessible through the link above. Note that this editor is also shareware and the downloadable version has limits imposed which are only removed in the registered version. However, it will allow you to load and examine a PWAD of any size although you won't be able to change and re-save large PWADs.|
|DEU||DEU (DOOM Editing Utility) originally written by Ralph Quintet and Brendon J Wyber (aka the 'DEU Team' not surprisingly !) and seems to be at the root of a number of other editors that are now available. I'm not too clear on the history of all this but maybe they released some early C source code for their editor and (like Id's release of the DOOM source code) a number of other editors were spawned from it. Anyway, there is a whole directory of DEU stuff at ftp.cdrom.com and the link above will take you to it. Have a browse and pick the one that suits your system or preference best. At the time of writing (April 1998) there is no BOOM support in DEU but I have little doubt that it will be on the way.|
|WadAuthor||WadAuthor is a Windows based editor with support for all flavours of Windows. It is written by John B Williston and is shareware based on a limited 'life' of 30 days. Again I do not personally use this editor but I did take a look at it (once I was already heavily into DCK) and one thing it has that I really liked was a superb map printing facility. The overall design of the editing screen looks very good also and again I think you should check this one out. WadAuthor also now has support for all the new BOOM features, although some of the more obscure features require raw hex data to be entered (unlike say DETH and DeeP). The link above will download the latest version. There is also a website which you can visit here.|
The Opening Graphical screen that you see when a DOOM game starts is just another resource in the WAD and as such you can replace it just as you would replace a map (or level). This is the screen with the big DOOM or DOOMII image at the top where you select whether you want a new game, to change options or Quit and so on. If you want to replace this you will need to use a WAD resource manipulator such as DeuTex/WinTex.
The name of the resource that you will need to replace is 'TITLEPIC' and it is a bitmap image 320 pixels wide and 200 pixels high (i.e. you will need to have a file called TITLEPIC.BMP on your hard disk for loading into your WAD). It can be an effective idea to take a screen capture of your game in play at a suitably frantic point and use this as the backdrop to your title screen. You can do this using DOOMII's normal screen capture facility (see Taking Screenshots below). Once you have this, you can use any one of a number of graphic manipulation software packages to add, say, the name of the WAD and your name as the author to the picture. A favourite of many WAD authors is Paintshop Pro by JASC Inc.
To actually do the replacement so that your TITLEPIC appears instead of the standard DOOMII picture you should read the section on DeuTex/WinTex.
The ability to capture screenshots while DOOM is running is a built-in feature of the game, and has been carried forward with enhancements into BOOM. The BOOM enhancements allow more than 99 captures to be taken in a single session, and also no longer display the rather irritating 'Screenshot' word at the top of the image !
To enable the Screenshot feature, you simply use the -DEVPARM parameter when loading the game. Then, pressing F1 at any point will write a file DOOMnnn.PCX into the directory from which the game is running. These are 320 x 200 pixel 256 colour images and can of course be later manipulated by any paint/photo type software product. Images like this are often used for title or intermission picture replacements in DOOM games and can be uploaded to the web and displayed in HTML pages as samples of your own WADs. You can find some examples on my own web pages here. Here's a couple more from my Crabbet Park House WAD (which uses BOOM Engine features).
One further thing to be aware of is that the images as loaded into the WAD should come from .BMP files, while if you are going to use them in web pages they should be .GIF images. Paintshop Pro is a superb tool for converting one type of graphical image to another.
See the section on WinTex/DeuTex if you want to include your own WAD screenshots as part of your game.
I don't know about other WAD authors, but I usually do virtually all of the architectural design before inserting any of the monsters and health. Some 'things' I will put in along the way... mostly the decorative stuff like trees, bushes, lamps, torches and so on, but changing it from a world design into a playable level tends to happen after all the level is there. There may be small adjustments to make afterwards, like creating alcoves where monsters can be hidden, and maybe a secret room or two that can spring a nasty monsterish surprise on the player, but other than that it's usually all done bar the shouting.
So, if you take this approach, there comes a point where you are going through the level changing it into a game by inserting the enemies, health, armour and weapons. Obviously there is a balance to be struck here at each player skill level, and if you don't get it right the level could end up being too easy for an 'Ultra Violence' skill player or too difficult for a 'Not too rough' or 'I'm too young to die' player. At worst the level could be simply unplayable with the player getting wasted before making any progress at all. I really despise levels like this and dump them without further analysis ! A player of any level has to be able to at least get started without feeling that there's no point in continuing because the WAD is impossible to play through bad design.
There are quite a few things to consider therefore and as you move through your level you must have these in mind all the time. My approach here is to do a bit of the level at a time, inserting the monsters, playing it until I can get through (but not too easily) on Hurt me Plenty, then making it easier or harder for the other skill levels by either adding health or removing ammo, and by adding or removing monsters. Quite often players will try a WAD at one level until they can get through it and then play it at the higher difficulty levels to hone their dooming skills, so it really is worth doing this. I usually also dump levels that do not have the skill levels properly implemented. If I can enlist the help of a better player than me to test the level on Ultra Violence then I will do this too. In this way after a few hours your level will be populated with health, ammo, armour and monsters and you should test it all again on each difficulty level all the way through. Then get as many other people to playtest it as you can and get them to report whether it is 'well balanced'.
There is a utility I came across which can help you to get the balance right. It was written by Scott Jordan and is called TCOUNT. By analysing your WAD looking at the monsters you have placed in it, it calculates for each difficulty level the number of 'damage points' and from this whether you have enough ammo placed to destroy them. If you use this utility, you don't need to put any health, armour or ammo in to begin with, just the monsters, and TCOUNT will work out how much you need in the level at each difficulty level to destroy them all. There is full documentation provided with the utility which will be downloaded if you use the link above. What it can't do of course is to tell you precisely where to place the items needed, only common sense, judgement, knowledge of your own design and playtesting can help you with that.
There are a few sub-sections about using WinTex here. Use the links to jump to the bit you need.
This section is a basic introduction to DeuTex, Wintex and DeuSF. DeuTex is the base utility while WinTex is a graphical front-end for Windows and DeuSF is a stripped down version that enables sprites and flats to be dynamically appended to those in the DOOM IWAD on the players machine. These three tools taken together comprise perhaps the most effective and popular (though not the only) WAD composition tools. DeuTex means DEU's Texture Companion and it originally grew out of the code for DEU, the Doom Editing Utility written by Brendon Wyber and Raphael Quintet.
This section of my Getting Started Guide is not a full description of all the things these three interlinked utilities can do, there is a full DeuTex/DeuSF Manual written by Kevin McGrail, and WinTex has a pile of Help and Tutorials which are invaluable to get you started. Another WAD composition tool which I came across much later is the New WAD Tool by Denis Moller which I believe does pretty much the same things but I think it is a DOS based tool only. As with the other utilities listed here you should try them and choose the one that suits your way of working best. Here, I will mostly be referring to WinTex since that is the one I know a little bit about, and later on there will be a couple of worked examples of putting new sounds and music and your own opening screen into a WAD just to get you started.
So what can you do with a WAD composition tool ? Well, the answer to that is just about anything ! By now you will know that a WAD comprises a bunch of resources - level definition(s), sound effects, music, demos, textures and so on. When you design your own PWAD you will have at the very least all the resources required to define a valid map or level... and that's all you need. But suppose you want to have your own sound effects, or alter the music for your level, or compose and include your own textures ? It is Wintex that enables you to do this sort of thing very easily. In fact, the list of things that you can do is pretty extensive so read the DeuTex/DeuSF manual for the full description.
DeuSF (DEU Sprites and Flats) is a separate utility written to compensate for the fact that you can't use WinTex to add a new set of sprites, or replacement flats (i.e. ceiling and floor textures) directly to your PWAD which will then replace the equivalent names resources in the IWAD when you run the game. I have read that this is not due to any shortcoming in WinTex but is actually due to a bug in DOOM ! So, what you can do is use DeuSF, usually via a batch file install procedure, to recreate a complete sprite and/or flat PWAD by appending your own, partial sprite/flat PWAD to the complete set from the original DOOM IWAD. In this way you are not breaking any copyright by using id Software's sprites and textures in your own PWAD. A good example of such an install procedure is in one of my favourite Total Conversion WADs Osiris (2.1Mb).
Inserting your own Title Screen Method 1
Ok, so now lets go through the steps to create your own Title Screen in your WAD. Obviously before this point you will have used your editor (and possibly a separate nodes builder) to create a level which will run OK on its own. The first thing you need to do now is capture an image that you can use as your Title screen. So, start your level running using DOOM2 -FILE MYWAD.WAD -DEVPARM and when you want to capture the display just hit the F1 key. (More details can be found earlier in the section Taking Screenshots). You can use a product like Paintshop Pro from JASC Inc to browse and alter your screen shots. Once you have chosen the one you want to use as your opening screen, rename it to TITLEPIC, and remember that it should be a .BMP file. Now load up WinTex.
You'll notice that WinTex (and therefore DeuTex also) supports other games like Hexen and Heretic. Ignore these for now and just click on DOOM2. You can see that there are two file selection boxes, the top one for PWAD to join and the lower one for PWAD to modify. Use the lower file selection box to find the original DOOM2 IWAD (don't worry, we're not going to change this at all) and when you've found it double click it to load all its resources into WinTex. A second window now opens.
You'll see on the left all the resource entries from the main DOOM2 WAD and at the bottom of the display a button for each resource type. Click on the button that says 'GFX' (select graphics). The list of entries changes and shows you all the DOOM2 graphics and if you click on the second one down, 'TITLEPIC', you will see that this is the opening screen. With the TITLEPIC still selected (it will be highlighted in blue), drop down the Edit menu and select 'Copy Entries'. This will copy the current DOOM2 TITLEPIC to the clipboard. Now select the File menu and choose Cancel and Quit. This will leave the DOOM2 WAD untouched but the TITLEPIC resource will be held on the clipboard. You will be automatically returned to WinTex's initial display.
Now use the lower file selection box again, but this time locate your own PWAD and double click it to load it in. You will immediately notice that far fewer resources are shown ! This is not really surprising since all you have are the resources required for your level and nothing more. Drop down the Edit menu and select Paste Entries. You have now added (although not yet permanently) the TITLEPIC resource to your own WAD. However, this is the original DOOM2 Opening screen and now that you have the entry in your PWAD you can replace it with your own screen captured image.
Make sure that TITLEPIC is still selected, and click it once if it isn't (when selected it will be highlit in blue as before). Then from the Edit menu choose 'Load entry from file'. A file selection box is displayed and you can use this to position to the directory where your screen copy TITLEPIC.BMP is held. When you have located it, double click it to load it into the PWAD, overlaying the existing DOOM2 TITLEPIC. If you now just select some other resource (say SIDEDEFS) and then re-select TITLEPIC, you will see that instead of the DOOM2 Opening screen, yours is there instead. Magic !
Now you need to commit the change you have made. Drop down the File menu and select Quit. This will cause WinTex to rewrite the PWAD to disk incorporating your TITLEPIC. If you reload your PWAD you will see that as well as the map you previously defined, the new TITLEPIC resource is still there just waiting to be displayed when you play your WAD.
One other thing. If you drop down the File menu you will see 'List wasted space'. If you select this, you might find that there is a considerable number of wasted bytes in your WAD as a result of the editing operation you've just carried out. Fortunately, WinTex has a 'Clean' facility also available from the file menu. If you select this it will remove as much of the wasted space from the WAD as it can and rewrite it to disk, saving the WAD before it does this as 'wadname.OLD'. Sometimes WinTex can't get all the wasted space out and you may need to use a specialized tool like CLEANWAD to do this instead.
Inserting your own Title Screen Method 2
There is a slightly quicker way to achieve the same result as that described above, but it does require you knowing in advance the name of the resource you want to replace. It is easy once you have loaded WinTex to browse through the DOOM2 WAD resources and eventually you will get to know the names of the various sounds, textures, pictures and so on, but before that you can flounder round a bit not quite knowing what's going on. In this case we do know that the name of the entry is TITLEPIC and we know it is a graphic resource. We can therefore omit the copy/paste of TITLEPIC and just load it directly from disk into the PWAD. Here's how you do this.
Use WinTex's opening screen's lower file selection box to locate and load your own PWAD. Click on the 'GFX' button at the bottom of the screen to select graphics resources. Then from the Edit menu choose 'Load entry from file'. On this occasion, since we have no resource name highlighted (before we had already pasted the original DOOM2 TITLEPIC into the PWAD and had the TITLEPIC name highlighted) WinTex opens a 'Select a Name' window. You can drop down the name selection list and choose TITLEPIC, or simply key TITLEPIC into the name field provided. Now that WinTex knows you want to load the TITLEPIC from a file, the file selection box you saw before is displayed and you can position to the directory where your screen TITLEPIC.BMP is held. When you have located it, double click it to load it. If you now click TITLEPIC to select it, you will see that your Opening screenshot is there in your PWAD. Cool !
Changing the music for your Level Method 1
Let's assume that your PWAD is a single level and the map you have used is MAP01. This is quite usual since most add-on PWADs only comprise a single map. As with other resources, the names used for the music for each of the levels, and for the title and intermission screens are the key to altering the music for your own level. Using WinTex as described before, use the lower file selection box to locate the original DOOM2 IWAD and when you've found it double click it to load all its resources into WinTex. A second window now opens and at the bottom of it you see buttons for each resource type. Click the sixth button from the left which has a couple of musical notes on it. The list of entries now shows all the music tracks for DOOMII.
Clicking on any of the entries causes WinTex to play the music for that particular level. This makes it easy to go through listening to each of the different level's music until you find the one you want to have in your own PWAD. Using music appropriate to the level type can greatly enhance the atmosphere created when the level is being played. Let's assume that you choose to use the music for map18 which is called D_ROMERO. Something to bear in mind here is that the link between the map number and the name of the music is fixed by the DOOM Engine, so unless we mess about a bit we're not going to be able to do what we want to do. In this particular case, D_ROMERO is linked to map18 but we have a PWAD using map01 for which the music is called D_RUNNIN. So, what we need to do is to get the map18 music out of the original DOOM2 WAD onto disk, rename it to D_RUNNIN and then load it into our PWAD. Here we go.
We are already looking at the WinTex screen that shows all the music tracks and you probably already have D_ROMERO highlighted, if not highlight it now. From the Edit menu, select 'Save entries to file'. WinTex will open up a file save dialog with the name D_ROMERO.MID already filled in. Adjust the dialog box until you have your required directory selected and click OK. We now have the map18 music saved away safely on disk. Now using Explorer, File Manager or MS-DOS, rename the file D_ROMERO.MID to D_RUNNIN.MID.
Back to WinTex now and use the lower of the two file load boxes (PWAD to examine or modify) to load your own PWAD in. Click the sixth button from the left which has a couple of musical notes on it to select the music tracks for your PWAD... of course the list will be empty. From the Edit menu select 'Load entry from file' and either key D_RUNNIN or drop down the selection list and choose D_RUNNIN. At this point a file open dialog box will be displayed with the name filled in as D_RUNNIN.MUS. I'm not quite sure why WinTex saves the music resources as MIDI (.MID) files but loads them as .MUS files (perhaps someone out there can enlighten me) but you can just change the extension to .MID as WinTex will convert it to .MUS format for you provided you have the midi2mus utility in the WinTex directory. If you don't have this yet, get it here. The conversion takes place in a DOS window but don't let this bother you, it only takes a couple of seconds and you can terminate the DOS box when it's done. That's it ! If you now click on the 'ALL' button which is the leftmost button at the bottom of the display, you will see your PWAD now has a new entry D_RUNNIN but this will actually be the music from map18. Too cool !
Now select Quit from the File menu and your PWAD will be saved away and when you play it you will hear the music from map18 rather than that from map01. (Actually it can get a bit boring hearing the map01 music time and time again so it's not a bad idea to change it to the music from some other level). Of course you can use WinTex in just the same way as described above to save the music to disk out of DOOMI. Yes, you can use music from a completely different game in your PWAD if you want ! Also, if you have MIDI equipment (especially easy with general MIDI units) you can record your own music, save it as a standard MIDI file and use midi2mus via WinTex to load your own music into your PWAD. Ultimate Cool !!
Changing the music for your Level Method 2
There is an alternative way to change the music for your level which involves using another feature of WinTex whereby one entry in the resource list can be made identical to another entry. Let's assume again that your level is map01 and that the music would therefore by default be D_RUNNIN and again that we want to replace it with D_ROMERO from map18. Without going into all the details as I did above, what you need to do is load both the music files into your PWAD, ensuring that D_RUNNIN is loaded first. Now, select both the entries by highlighting the first (D_ROMERO) holding down the shift key and highlighting the second. Now, from the Guru Only menu select 'Make entries identical'. This will overwrite the D_RUNNIN music with that of D_ROMERO. Now select D_ROMERO by clicking on it and from the Edit menu select 'Cut entries'. This will remove the original D_ROMERO map18 music that you no longer need.
Inserting new Sound Effects
Placing new sound effects in your WAD is much the same as inserting any of the other resources. Load up WinTex and in the 'PWAD to Examine or Modify' find the DOOM2 IWAD and load it in. At the bottom of the screen that is then displayed the fifth icon along is the symbol of a speaker and if you click this the sound effect resources will be displayed in a list down the left hand side of the window. You can see that the names all begin with DS (I guess for Doom Sound) and if you select one, say DSPISTOL the first in the list, WinTex will play the sound and at the same time at the top of the screen it tells you what the sound is 'Pistol firing' in this case. So, just as before, if you provide a suitable WAV file of the right name (Sun Audio .AU and .VOC formats are also supported) you can load it into your PWAD and it will replace the original DOOM sound when you play your PWAD. Sounds to be loaded into a PWAD need to be 8 bit mono, non-compressed samples.
Suppose for example you have created new sounds for the door opening and closing, DSDOROPN and DSDORCLS. You have these in WAV format on your hard drive somewhere. Load your PWAD into WinTex by double clicking it from the 'PWAD to examine or modify' dialog. Click on the sounds icon and then from the Edit menu select 'Load entry from file'. This will then display the name select box and you can either key DSDOROPN or select it from the drop down list. Click OK to open up the file load dialog and locate your save DSDOROPN WAV file. Double click on the filename and you will see that DSDOROPN has been loaded into the PWAD. Repeat the same procedure for DSDORCLS to load in the new closing door sound. Now select Quit from the File menu and the PWAD including your new door opening and closing sounds will be written back to disk.
That's about it for sounds. For some interesting use of sounds, you could check out the Osiris or the Aliens Total Conversions.
This is going to be a short section because if you have the skills to design your own flats and especially sprites (many of which have multiple views), I am pretty certain that this section will be of no use to you since you will already know all this stuff !
In the original DOOM games there seems to have been a bug which meant that flats and sprites could not be handled in quite the same way as normal textures. With normal textures, you can add these into your PWAD (using WinTex/DeuTex for example), or add them into a separate PWAD which would be loaded at run time simply by specifying the filename after the -FILE parameter on the DOOM2 command. However, with flats (i.e. floors and ceilings) and sprites (monsters, hanging dudes, lights etc.), this was not the case.
The problem with the flats and sprites is that DOOM requires a complete set of each in order to function properly. So, this means that if you have just replaced one flat (or sprite), your PWAD will still require the full set in order to work. However, you are not permitted to ship all the original DOOM flats and sprites with your PWAD since this would be in breach of id's copyright.
So, the idea behind DeuSF is that you just ship your PWAD with its single map (say) and its single new flat, and then use DeuSF (usually via a batch file), to append all the DOOM flats from the original registered game to your PWAD. Then, when the player loads your PWAD, it will run without error. The only exceptions (I believe) to this is if (a) you have defined completely new sprites which are not referred to by the normal DOOM game at all or (b) if you are using the editor DeeP which I believe allows you to ship a PWAD with an incomplete set of flats or sprites which will still work.
So, when you ship your WAD Package up to the FTP site of your choice (see Going Public later), if you have defined new sprites and/or flats, you would also include the DeuSF program, which has no distribution restrictions, and a batch file to perform an 'install' which will build a fully executable PWAD. Both DeuTex v3.6 and WinTex v4.3 (these are both download links) include the latest version of DeuSF if you need it.
The batch program will need, at its simplest, to issue the command to add the DOOM sprites and/or flats to your PWAD after the user has downloaded and unzipped your WAD Package. This command looks something like this:
DeuSF -app yourwad.wad
This command will add all the DOOM sprites and flats to 'yourwad.wad' so it follows that the user must have installed all your files, including your INSTALL.BAT into the directory into which DOOM was originally installed. (In fact, there is a DeuSF directive to handle DOOM being installed elsewhere, but you should read the DeuTex/WinTex manual for all that stuff !).
If you want to use this facility, my suggestion would be to look at one or two of the install programs available with some of the WAD zips you can download from the FTP sites. One particularly good one which includes sprite addition through DeuSF, DEHACKED execution (this is specialized stuff for altering the DOOM game engine) much error recovery code and extensive comments is that supplied with the OSIRIS.WAD which is available from my favourite WADs page here (and if you don't have this in your collection you should so go get it anyway !)
A final note on Sprites and Flats is that none of the above restrictions exist when using the BOOM engine from TeamTNT. They have fixed the bug that prevented a partial sprite or flat list being provided in a PWAD. Not everyone will have the BOOM Engine (yet anyway) so if you have used BOOM in such a way that your PWAD will not function fully with standard DOOM you should say so in your text file that you provide with your WAD Package.
As you might expect, the music in DOOM is a series of named resources. In both games the names are D_xxxxxx where the xxxxxx is the name of the music. In DOOM, the music is named after the level, e.g. D_E1M2 and in DOOMII we see names like D_RUNNIN for MAP01, D_STALKS for MAP02 and so on. The music resources themselves are in GUS format but don't worry too much about the format because if you're a musician you can record in standard MIDI format and use the utility MIDI2MUS to convert it to the format required for DOOM. (Note: can anyone tell me who wrote this utility - I want to put a credit in for him). If you use the BOOM Engine from TeamTNT you can include MIDI format files directly. This is because a different sound Engine called ALLEGRO is used in BOOM. All this is covered in the documentation provided with the BOOM Engine. As with all resources, you can use WinTex or DeuTex to manipulate the music resources of your PWAD and a worked example is given in the section on WinTex/DeuTex.
I often wondered when I first started looking at add-on PWADs why it was that the designer sometimes chose to use a map other than MAP01 for the design. It's always a bit of a pain because you have to either set up a batch file to run it or keep a mental note that the level requires you to warp to a specific level rather than letting it default to MAP01 and even now I'm not really sure of the answer to this. However, one possible reason is that if you don't know how to mess with the music resources, but you wanted to use the music from level 24 for example, you would have to use that map number for your level design. In fact, WinTex/DeuTex make it very easy to use the music from different levels in your PWAD, and to include music you have written yourself in a PWAD... provided you have a standard MIDI format file of course.
If you're a musician, something you might be interested in doing is deconstructing the music from the DOOM levels so you can see how it's all been put together. You can do this by using a utility called MUS2MIDI. (Note: can anyone tell me who wrote this utility - I want to put a credit in for him). You'll find that the pieces are in standard MIDI format and use the general MIDI specification for patch selection. Remember though that the music, like all the resources in the IWAD are copyrighted. It can be fun to play DOOM music on real studio equipment with its enhanced quality !
While I was looking into using my own music as background to my own WADs (which was a bit tricky because I don't actually possess any General MIDI instruments !) I worked out how the Roland R5 drum machine MIDI note numbers corresponded to the general MIDI specification note numbers for percussion. If this information would be of any help to you see my R5 MIDI Specification.
There are a couple of other utilities that you may find useful for music manipulation. One is MUSTOOL which is a small utility that does things like lists all the music entries in a WAD, extracts or inserts music entries into WAD files and so on. The other is a utility called PATCHER by Jim Flynn. This is a pretty sophisticated package (as most of Jim's work is) and provides a number of utilities for extracting, merging and combining WADs and WAD resources. In particular, the 'BRK' utility decomposes any DOOMII (at the time of writing - May 1998 - Ultimate DOOM, Hexen and Heretic are also supported) WAD into its constituent parts, writing each set of like resources into a unique directory. So, you end up with a LUMPS directory, LEVELS directory, SOUNDS, MUSICS and so on. This is a good way therefore of extracting all the music resources so that you can then use Wintex or PATCHER itself to place a different level's music in your own WAD. Full documentation is provided with the PATCHER ZIP file. (Note that decomposing the DOOMII IWAD into separate directories like this is also a feature of WinTex/DeuTex).
Finally, there is a utility called MUSPUT supplied in the EDITUTIL Zip file that comes with the BOOM distribution package from TeamTNT. This is another utility written by Jim Flynn and is specifically aimed at inserting music files into a PWAD. It is extremely easy to use and may be preferred to the complexities of Wintex. This utility can place .MID (i.e. MIDI) format files directly into a WAD as well as the standard .MUS format. Even better, it can take the music for a specified level in one PWAD and insert it as the music for a different level in another PWAD ! It does work with the DOOM Engine but works even better with the BOOM Engine.
There are more than a hundred sound effects in DOOMII so you won't find a list here ! A tool like 'BRK' from Jim Flynn's PATCHER or Olivier Montanuy's WinTex will list them and play them for you. WinTex or Patcher will allow you to save existing sound effects to disk where you can manipulate them, rename them, replace them with other sound effect files of your own and load them back into your PWAD. Some really interesting effects can be achieved by altering sound effects so that they add realism to the theme of your WAD. A good example is in the 'Fistful of DOOM' WAD (link available from my Favourite WADs page in the Total Conversions section) which uses western type sound effects to accentuate the western theme of the WAD - including the bar-room honky-tonk piano !
There are a couple of other tools that you might like to download and take a look at which are specifically aimed at manipulating sound effects. One is an MS-DOS tool and the other runs in Windows but I think they are derived from the same base code. The DOS tool is DOOM Audio Editor by Bill Nesius and the Windows tool is Windows DMAud also by Bill Nesius with Richard Ratayczak. Both of these tools allow you to extract sound effects from WADs and load new sound effects into WADs, and both have documentation available. One feature these tools have that I haven't seen elsewhere (although there may be other utilities that do this) is to enable you to 'stretch' sound effects so that they last longer than they would normally do. The DOS DMAUD uses numbers to represent the sounds but you can find a cross-reference listing of sound numbers to names in the DeuTex/DeuSF Manual.
In the section of this document on WinTex/DeuTex there is a worked example of cutting/pasting sound effects.
The reject map is something that all editors will normally build since it is a required part of each level (map) definition in the WAD, however, it doesn't normally do anything as built. So what is it for ? Well, when you are playing a DOOM WAD, the Engine is making all kinds of decisions as you play, and one key type of decision is determining what monsters can see you from where you are standing at any point in the game. This is obviously especially important when you consider the way monsters attack - they can't do this unless they can see you.
Calculations of this type take time and on an older PC, say a 486 type with not too much memory and where the area you are in is complex (in terms of floor and ceiling height differences, and other architectural attributes, and especially where there are many monsters to animate at the same time) they can take so long that the game overall slows down. These calculations are called 'line of sight' or LOS calculations, and this is where the reject map fits in.
The reject map is a two-dimensional matrix of bits, which cross-references all the sectors in a WAD map. By placing a '1' bit where one sector of the map cannot be seen by another sector, the DOOMII Engine knows that there is no line of sight between those two sectors, and thus it does not need to do any calculations at all to know whether when you are in sector 'A' you can be seen from sector 'B'. Therefore, any WAD which has a 'proper' reject map built (rather than one which simply contains all zeros) will run more quickly than one that doesn't, just because the Engine has less work to do.
Of course, on the bigger systems now available this speed enhancement that is gained through having a full reject map built may not be that noticeable, but my inclination would be always to create it if you can (and we all can !) since not everyone has access to the latest PC equipment !
Something else needs to be said about the reject map. Since it is controlling which sectors can be seen from other sectors (and remember that when a reject map contains all zeros as most editors output, all sectors can be seen from all other sectors) it is possible to force some bits to be set to '1' (at least it is with a good reject map builder) which can be used to provide what are sometimes referred to as 'special effects' since this can be used to define areas of a map where you can effectively be hidden from any marauding monsters in the area even though that area is totally visible from the area containing the monsters ! Let's look at a practical example which might make this clearer.
Suppose you have an outside courtyard area which is mostly open to sky (sector 2 below)... it can be a simple shape like a square or rectangle. The design is such that there is a partial roof around the edge of the courtyard which shields it from the light, i.e. it is in shadow (see sector 1 below). In this situation, by using the reject map, you could make the darker edge part of the courtyard 'invisible' to monsters, and therefore when you, the player, are in that dark area (sector 1) the monsters would not be able to see you and therefore would not attack.
+----------------------------+ In the drawing, sector 1 and sector 2 | Sector 1 | make up the courtyard. Both have the same | +------------------+ | floor height and the player can walk unobstructed | | | | between sector 1 and sector 2. Sector 2 has the | | | | sky as its ceiling and sector 1 has a roof texture. | | Sector 2 | | You must have seen this effect in many designs. | | | | | +------------------+ | | | +----------------------------+
Here are a couple of examples of the sort of thing I mean, and although the structures are a bit more complex than that described above, the principle is the same... notice the darker areas where the shadows lie which is where you could hide from active monsters by manipulating the reject map suitably. Normally, any monsters that could see you would attack even if you were in the shadow.
So there are your two reasons for building a full reject map (a) so that the game runs faster and (b) so that you can make the game more 'realistic' - or perhaps it would be better to say that you can make the monsters behave in a more realistic way.
I use the reject map builder RMB which was written by Jens Hykkelbjerg. You can obtain it from his website where you can also read all the details of what you can do with RMB in the Manual. While you're there you might also like to take a peek at his Special Effects document, which although some of the things in there have since been superseded by the release of the BOOM Engine, is a superb document and one which contains essential explanations of some of the best special effects you can do in a WAD.
This is the display that provides the backdrop to the score counts for enemies killed, items collected and secrets discovered that you see when you complete a level, and, similar to the opening screen, is another resource in the WAD that you can replace with one of your own screens. If you want to do this you will need to use a WAD resource manipulator such as DeuTex/WinTex.
The name of the resource that you need to replace is 'INTERPIC' and again it is a 320 by 200 pixel image. Similarly to the TITLEPIC which opens the game, it can be effective to take a screen capture of your game and use this as the backdrop to the closing screen. (You can do this using DOOMII's normal screen capture facility see Taking Screenshots earlier).
To actually do the replacement so that your INTERPIC appears instead of the standard DOOMII picture you should read the section on DeuTex/WinTex.
When you finally quit the game, you will see a standard text screen displayed which contains the credits for the creation of the DOOMII game. This screen is a resource called ENDOOM and there are a couple of utilities out there to create this screen. Note that if you are going to do this, you must leave the credits for id Software intact... you can add your own credits underneath.
The utility I use is called 'ENDOOMER' by a character I only know as 'Zink the Dink' ! It can be downloaded as usual from ftp.cdrom.com here. One thing to be aware of is that the resource name in your WAD must be ENDOOM, so if you have several WADs you must keep the source for your ENDOOM screens in separate directories. This is because ENDOOMER always creates the file using the name ENDOOM and you don't want to overwrite previously created ending screens. The file extension is always .SCR for the ENDOOM screen.
Another utility which is available to edit the ending screen is TED. I heard about this one after someone pointed me at ENDOOMER but I guess it does the same job. Why not try them both and choose the one you prefer.
The kind of credits I usually put in the ending screen are to the guys who created all the software used to build the WAD, especially those who do it for the sheer love of it - for them the main buzz is the credit they get for their work, and I for one am always more than happy to encourage them to continue to support the software they create. If you don't have enough room to credit everyone, you can always use the text file that accompanies your WAD when you go public with it to provide a full list.
Again, since the ENDOOM screen is another WAD resource, you use a WAD manipulator to insert it into your PWAD. See the section on DeuTex/WinTex to read how this can be done.
You may have noticed that if you don't start playing DOOM as soon as the game loads, it will launch into a game on its own ! This is done by playing back one of three 'demo' resources that are stored in the IWAD. These are called DEMO1, DEMO2 and DEMO3. It follows that if you record three demos of you playing your own WAD, call them DEMO1, DEMO2 and DEMO3 and store these in your WAD along with your map, if you don't start playing your WAD immediately, the demos that are run will be yours !
It is easier to record demos than you might think. All you need to do is use the -RECORD command line parameter when you invoke the game, giving it the name of the demo you are about to record. For example:
DOOM2 -FILE MYWAD.WAD -RECORD DEMO1.LMP
There is another parameter which you may need to use if your WAD is particularly big, or if you want to record a particularly long demo - say more than 15 minutes or so. This is because the DOOM demo buffer is limited to 128K and the demo will just end once this limit has been reached. By using the -MAXDEMO nnn command line parameter as well as the demo name, you can increase the space available for the recording of your demo, for example:
DOOM2 -FILE MYWAD.WAD -MAXDEMO 256 -RECORD DEMO1.LMP
which will double the size of the record buffer and therefore give you about half an hour of recording. Note that if you intend your WAD to be played using the BOOM Engine from TeamTNT then this restriction does not apply, BOOM simply extends the demo save buffer as required during recording. There is a utility called LMPCOUNT by Jeannot Langlois which you can use to pre-calculate the buffer size required for a demo and it works for all modes, single, co-op, deathmatch and network. It will also allow you to give it a buffer size and it will tell you how long a demo it will allow you to record.
To include the demos in your WAD, you will need to use a resource manipulator - see the section on WinTex/DeuTex that will tell you how to do this.
There is another method favoured by WAD designers. This is to leave the built-in demos as they are (i.e. those supplied with the IWAD, e.g. DOOM2) and to record the demo of their own WAD as a complete run-though of the level, giving a full 100% tally for kills, items and secrets, naming it the same as the WAD. So, if you have created your WAD called HADES.WAD for example, record the demo as HADES.LMP and provide both. It is quite usual to also provide a standard MS-DOS BAT file to run the game, and a second one to play the demo. You will see this done in my own WADs - take a look at BrikBlat! for example.
You may have noticed that sometimes if you try to run a demo it fails with a message about the demo being from the wrong game level. This problem is because the demo file (demoname.LMP) contains a field which tells DOOM the version of the Engine under which it was recorded and complains if the version is different. These days there isn't really any reason why everyone shouldn't have the latest and greatest release 1.9 since patches are available to bring you up to this level (see my links pages). Some WAD designers maintain two versions of DOOMII, normally 1.666 and 1.9 just so that they can (a) test their WAD and (b) record two demos to ship with their WADs !
In fact, there is no need to record two demos because a demo recorded at 1.666 will run at 1.9 if it is appropriately altered, and yes there is a utility (in fact there are lots) to mess with the recorded demo file. The one I came across first is called The LMP Fiddler by Ryan Robinson and the text file supplied with the utility fully describes what it does. So, you can record the demo at 1.9 of DOOMII, copy the .LMP to a new name and then use the LMP Fiddler to alter the copy so that it runs under 1.666. Easy !
More recently I have discovered that there's a whole bunch of utilities to mess around with demos, for adding player names, including commentary, removing pauses and all sorts of other stuff. Most of these utilities can also output a whole bunch of statistics about the demo ranging from average and maximum speeds to favourite weapon. You could download and take a look at LMP Master, LMP Control Centre, and the LMP Utility System. My advice would be to try them all and choose the one you find provides what you need most effectively and does it most easily.
All of the editors I have ever looked at contain what is known as a 'consistency checker'. This is a facility in the editor to validate your WAD and tell you about any obvious, and for some consistency checkers less obvious, flaws. The degree to which this is done varies from editor to editor with some doing on the very basic checks, while others are quite rigorous in their validation. Not only that, but some editors will actually put errors right for you (although it is often a good idea to check the action that the editor is going to take before you let it go on - for example, an editor might decide to delete ALL lines that make up an unclosed sector whereas you may prefer just to close it up properly !).
The basic checks that I would expect an editor to do would be for example:
* Verify you have player/deathmatch starts (player 1 start is mandatory)
* Verify that you have defined an exit point
* Verify that all sectors are closed
* Check that there are no missing textures
* Report on any invalid texture names
Other checks which some (though not all) editors do might be:
* Verify you haven't 'stuck' things to walls, or placed them outside sectors
* Check that X and Y texture offsets are correctly set
* Verify all special linedef types are correct
* Verify sector/linedef tag references are sensible
* Check for long line errors
* Check sector floor/ceiling heights are sensible
* Check for unrequired textures
And a number of editors will do things like fix your missing textures, correct X/Y texture offsets and remove unrequired textures.
I have recently discovered through my web wanderings that there is an excellent stand-alone (i.e. not associated with any editor) consistency checker called
DCC. Its author is
Rand Phares who is a member of TeamTNT and contributes to all their major projects including the BOOM Engine source conversion. Now DCC does a lot more checks than ANY of the editor consistency checkers I have ever seen ! It reported piles of errors on one of my WADs which I thought was completely error free. DCC will do all of the checks mentioned above plus a load of much more sophisticated verification such as:
* Checking for bullet-absorbing lower textures
* Invalid flat names
* Texture height problems
* Intersecting lines
* Identical vertices
* Pegging errors
* Key/colour-coded locked door errors
* Secret errors
... to name but a few ! In fact, Rand has classified errors into one of 10 'classes' and each class contains many separate validation checks. I highly recommend this program and the link given above will download version 3.00 from CDROM.COM (the latest version at the time of writing in June 1998).
When you have completed your WAD, especially if you have been using WinTex/DeuTex to mess around with graphics, sounds, music and so on, there may well end up being wasted space and null or repeated entries in the WAD. In fact, WinTex reports on wasted space for you and can clean it up too, but I found a utility called CLEANWAD by Serge Smirnov which I have always used to clear out and tidy up my WADs as I think that it does a more complete job. (That's for two reasons (a) because after using WinTex's cleanup there is sometimes still wasted space left in the WAD, and (b) because Olivier Montanuy who wrote WinTex provided Serge with suggestions and help when he created CLEANWAD !)
So, once you've completed your level using your editor, built your reject map with RMB, used WinTex to add starting and ending screens and change a few graphics and sounds, used ENDOOMER to create your ending text screen, used STAT to make sure it saves, and TCOUNT to make sure that the ratio of health and ammo to enemies is about right for each difficulty level, and had all your friends play-test it (phew !) it does no harm to run your WAD through CLEANWAD to tidy up any of the junk that's left hanging around. This will probably be the last thing you do to the WAD before Going Public !
When I completed my Honeycomb WAD there was a really nasty problem with it that I just couldn't fathom. Every time I tried to save the game in UV when not too far into it, the screen hatched and the PC locked up making a horrible noise ! For ages I had no idea what to do about it and eventually asked for help through the internet. Answer... the savegame buffer had blown because there were too many 'things' defined at the UV level. At the lower difficulty levels, or after I had killed a few monsters and collected a bunch of weapons and ammo, it saved fine on UV also.
The solution was to replace a bunch of health potions with stimpacks, remove a bunch of blood splats and so on until the game saved properly. Even now although it saves correctly most of the time, if you save immediately the PC may lock up when you complete the level.
Many months later I found that the savegame buffer limit is around 150K, and that Jim Flynn (a member of TeamTNT, active in the newsgroups and Compuserve forums and a name you will encounter often) had written a program called 'STAT' which analyses a WAD and tells you the size required for the savegame buffer. You will find STAT as part of Jim's PATCHER DOOM Utility Package and the latest release is always available from his webpages here. Remember to give Jim Flynn a credit in your WAD's text file if you use it.
Note that if you are designing your WADs for the BOOM engine, there is no limit on the savegame buffer size, and also TeamTNT have added two more savegame slots which can be really handy !
It is essential that all the obvious flaws are eradicated from your WAD before you publish it. Once you've got rid of the obvious flaws you can then start work on the less obvious ones and providing the polish that makes an average WAD into a good one. I find that you can easily spend as much time again putting on the polish as you can constructing the WAD in the first place. Here's a list of the obvious mistakes, some of which you can read more about in other documents. (Most, though not necessarily all, of these can be detected through the use of a good consistency checker such as DCC).
|Engine related errors||This group of errors includes 'Hall of Mirrors' (HOM), the Medusa effect, Tutti-Frutti, Moire and Longwall. All of these are caused by architectural or texture errors and their causes and ways of preventing them are discussed at length in other documents which can be downloaded from here. Note that the BOOM Engine is much more effective at detecting such errors, and will handle HOM errors where, for example, they are caused not by design faults but by more light level changes in large outside areas than the normal DOOM Engine can handle.|
|Pegging errors||This type of error causes the 'sliding texture' problem which although it does not crash the game greatly detracts from its realism. The manifestation of this common mistake is where the texture on the wall behind a lift, or on the walls at each side of a door as it raises, appears to 'slide', matching the movement of the door or lift. Download Scott Amspoker's Managing Textures and the Unpegged Attribute which explains all about this situation and how to avoid it.|
|Monster Glut||When too many monsters are placed in an area it will at least slow the game down and at worst will produce a peculiar effect where monsters appear to flash in and out of existence. This is because there is a limit on the number of monsters that the Engine can animate at one time. Also it is basically bad design practice - a single, well placed monster of the right type in the right light can be a far more effective way of making the player jump ! I have actually given up playing and deleted WADs I have downloaded because of this particular error because it demonstrates a lack of understanding of what makes a good DOOM level.|
|Misaligned Textures||This again is a common error, especially in the 'newbie' WAD, and can really spoil the appearance of what might otherwise be a very good WAD. The error appears where the textures on walls are not correctly aligned and this can either be in the vertical or horizontal plane. It produces an ugly appearance which is instantly recognizable, but is easy to resolve once you understand texture alignment. Scott Amspoker's document on Managing Textures tells you how to avoid this.|
|Not enough Starts||A PWAD requires at least a player 1 start point and all good editors will not allow you to create a WAD without at least warning you if there is no Player 1 Start point. However, if you want your WAD to support Co-operative play you must insert the other player starts, and if you want to support Deathmatch you will need to insert Deathmatch starts. Not all WADs are designed (or are suitable) for Deathmatch play, but it is normal to provide the starts even if this is the case.|
|Sticking Points (1)||A properly designed PWAD does not allow the player to become inadvertently 'stuck' in a position from which he cannot move. This error is less common but even made an appearance or two in the original DOOMII levels and can be caused, for example, by allowing the player to fall into a narrow gap between two structures (like crates, walls, stairs and a wall and so on). If there are places where you want a player to become stuck you would normally make it obvious that it's a BAD place by using, say, the blood, acid or lava floor textures which most players usually try to avoid. My own personal inclination is to always provide a player with a 'way out' even from a lava pit but perhaps make it a bit tricky to find.|
|Sticking Points (2)||It is possible to place a player start point or a monster so close to a wall or other structural object (a pillar or crate for example) that movement is not possible. Imagine how frustrating it would be to load up a WAD and find that you are stuck to a wall and can't move ! (Use IDSPISPOPD in DOOM and IDCLIP in DOOMII to get out of this situation). The same applies to monsters which can become unable to move or attack if placed too close to a wall and sit there like gun fodder waiting to be picked off. Give monsters a fighting chance I say !|
|Logic errors||This is the type of error that prevents
you from completing a WAD and I guess the most obvious one is the lack of an exit point.
All single player and co-operative WADs should have an exit point defined, and although
not strictly necessary in a deathmatch WAD it is still usual and good practice to provide
an exit, especially if the deathmatch WAD has multiple levels.
Perhaps a less obvious logic error is the 'missing key'. The simplest missing key error is to make a door depend on the player having a particular key card, and then not to put the key in the level, or to put it in the level but in an inaccessible place. Generally speaking even a small amount of playtesting will detect this type of error.
Another logic error to avoid is the door that opens from one side only, but then to design the WAD such that the player can only get to the side of the door that you can't open ! It is always annoying to find parts of a WAD that you just can't get to - especially when you need to get to them in order to complete the game. It is equally frustrating to the player to have secret areas that have nothing at all to indicate they are there.
That's most of the obvious design flaws that should always be corrected before publicly releasing a WAD, or even before you should be prepared to accept it as complete yourself. The next section has a few paragraphs on what for me makes a WAD well designed and therefore worth playing.
A well designed WAD holds the interest of the player from start to finish. It provides a consistent 'world' in which the play takes place, it poses puzzles to solve and secrets to find before finally arriving at the exit point... and all this while having to defend against the evil hordes that will relentlessly attack you whenever they see you. But at the same time the level must be visually interesting otherwise the player's attention will soon be lost and they will move on to the next WAD.
So, make your design interesting ! Use different but consistent textures, use doors and corridors, use changes in height with stairs and lifts (or elevators if you use the BOOM engine), use different lighting levels appropriate to the area you are in, use indoor and outdoor areas, windows and columns, water and lava, lamps and torches. Use small claustrophobic areas like tunnels and large open areas, and use different shapes not just squares and oblongs. Remember also that the DOOM world is quite static so anything in the architecture that moves adds interest... think about using the animated textures, floor lower and raises and ceiling crushers, lifts and stairs that are triggered automatically, and window shutters that open and close all the time.
Think about the flow of the game, lead the player from one area to the next, protect areas using key controlled doors and make the player solve puzzles to find the keys. Use 'hidden' areas that the player can only teleport into and out of. Place your monsters carefully so that the player can always destroy them but not necessarily easily. Hide monsters around corners so that they ambush the player when he is sighted. Use line 'triggers' to make secret doors open behind which there are monsters hidden, and use the 'teleport monster' feature to warp monsters into an area that has an initial 'innocent' appearance. Use the different monster types to start the player off gently and gradually introduce the more difficult monsters as the player progresses through the WAD. Make sure that the player has enough health and ammo... but not too much that there is no challenge in the game.
What you must do when you're first starting to do WAD design is to load lots of WADs into your editor and play through them with no monsters on... look at the architecture closely and see what features are interesting. See the ways in which various authors use particular themes in their WADs. Take note of these and use them as a basis for your own themes and designs (but don't lift ideas wholesale because that's really uncool). Play the WADs with monsters on and notice how the author places them for best effect, then check out how this is done using your editor. Use a small WAD to practice design technique and monster placement on and see what looks interesting and plays well.
Finally, as your skills improve, go back and enhance your early efforts using the new techniques you have learned. Remember no one person knows it all and no one person is the 'best' WAD designer. We all have ideas of our own. Follow your instincts and you will eventually come up with something new and original which other authors will be pleased to emulate.
In the end every WAD designer will want to make his work available to others and there are a number of ways to do this. When I first published my WADs I had already completed my fourth one so was not a complete 'newbie', but it has to be said that I am still learning and there are some parts of my early WADs that I'm not particularly proud of. So beware of the urge to publish your very first attempt... unless you spend a very long time on it and use all the information you have read here and in all the documents referred to from here, and have played many many other PWADs and noted what makes a good design, your first attempt is liable to be a bit naff. We've all been there so don't let this get to you, use your first WAD as a learning ground then dump it and move on.
The two places I use for publishing are the Compuserve Action Games forum and ftp.cdrom.com. Full instructions on uploading to both of these is available at the site. At ftp.cdrom.com there is a document on uploading WADs which you should read before you attempt it, and of course you will need an FTP program such as CuteFTP.
In general there are a couple of cardinal rules that you must follow or you are liable to have your precious creation flamed before it gets published ! The first is that your PWAD absolutely must not contain any of the original DOOMII textures, flats or sprites. If you have read the section on Using DeuSF to add your own Sprites and Flats, you will know that these resources have to be merged with your own newly defined textures, flats and sprites using an install batch file on the target PC. There are plenty of examples of how to do this - one good example is the OSIRIS WAD that is available for download from my favourite WADs page here (and if you don't have this in your collection you should so go get it anyway).
The second is that your WAD and an accompanying text file must be zipped for speed of downloading. Either PKZip or WinZip can do this for you. There are again many examples of the format of an accompanying WAD text file and you should use one of these as a template for creating your own. Of course, the ZIP file may contain other things such as demos, a text file containing the story behind your WAD, batch files to run the WAD and so on. My advice is just to take notice of the contents of the files that you have downloaded and simply copy what has been done before. There is a kind of consistency in all this and it makes life easier when everyone is doing the same thing. All my downloadable WADs have passed the ftp.cdrom.com rules, so you could take a peek at them - especially The Honeycomb and BrikBlat! which have demos, text files and batch files as well as the WAD itself.
I owe a great deal to the people who took the trouble to create the documents listed in this section. Without them, DOOM editing would be the domain of the few. As it is, anyone with enough persistence can become proficient in WAD design thanks to their efforts. My recommendation is to download these documents and read them... and then read them again ! By so doing your knowledge will not be complete, but will be easily adequate to the task, and you will avoid falling into many of the holes I did when I first got interested in WAD design.
The links below are directly to the cdrom.com FTP site so these documents will be downloaded to your PC when you select them.
|DOOM 1.666 FAQ||The 'official' DOOM FAQ by Hank Leukart. Huge amount of DOOM information. Not too technical.|
|DOOM 1.666 Specification||This is the 'unofficial' DOOM specification by Matt Fell. All editors now available were created using the information in this document. Mostly very technical.|
|WAD Reference||A reference I wish I had found earlier than I did. Written by Jim Flynn and intended to be a companion document to Matt Fell's DOOM specs, this is a set of reference documents in a more accessible (i.e. a bit less technical) form. It also contains a number of essential design notes.|
|Managing Textures||This is Scott Amspoker's 'Managing Textures and the Unpegged Attribute' document. This explains how DOOM paints wall textures. Technical but very well written and essential if you want to make your textures line up correctly !|
|DOOM Metrics||This is Scott Amspoker's study of size and dimension in the DOOM world and discusses the limits of DOOM levels. Not too technical.|
|DOOM Design||This is a FAQ document which examines questions of DOOM design and was written by Tom Neff. It answers many of the questions that trouble new WAD designers.|
|WAD Designers Handbook||The 'Unofficial WAD Designers Handbook', written by Ron Allen and Bill McClendon is an essential guide when you are first starting to do WAD design. It takes you though the basic elements of good WAD design and will help you avoid all the obvious pitfalls. This is the online HTML version - see below for download links from ftp.cdrom.com.|
|WAD Designers Handbook Download||Download the Unofficial WAD Designers Handbook to your PC.|
|WAD Designers Handbook Addendum Download||Download the Addendum to the Unofficial WAD Designers Handbook to your PC. If you are new to WAD editing this is an invaluable companion to the Handbook as it takes you step by step in detail through the fundamentals of WAD design. Topics covered are rooms and hallways, doors, stairs, windows, lifts and teleporters.|
|The DOOM and DOOMII Design Dictionary||Written by Paul Pollack, this is a dictionary of DOOM terminology with some rather nice illustrations to explain stuff when it gets complicated. You will also find some documentation taken from the rec.games.computer.doom.editing newsgroup which explain how to avoid a number of editing difficulties.|
|Textures by Theme||This document is very useful for finding complementary textures when designing PWADs. Neil R Bonner has categorized each DOOMII texture into one of eleven themes, examples are Metal, Rock, Cement and Wood. This makes it really easy to find different but complementary textures when you are designing your PWADs.|
|The DeuTex/DeuSF Manual||Written by Kevin McGrail this is a complete manual to accompany the DeuTex/WinTex and DeuSF WAD compiler. Apart from being a necessary companion to those programs, it also contains lots of other information that is useful to level editors. The link will download the manual to your disk.|
This section gathers together all the various links to websites and to ftp.cdrom.com that have appeared elsewhere in this document, except for the documents listed in the previous section. So, if you came directly here just looking for a download link or a specific web page link you're in the right place !
|Important DOOMII Web Sites|
|TeamTNT||Home of the BOOM Engine.|
|Jens Hykkelbjerg||Site for RMB the Reject Map Builder.|
|DCK||Download the DOOM Construction Kit.|
|DETH||Download page for the DETH Editor.|
|DeeP||Download page for the DeeP Editor.|
|DEU||FTP site for downloading the DEU Editor.|
|WadAuthor||Download the WadAuthor Editor.|
|WAD Composition Tools|
|DeuTex v3.6||Download Olivier Montanuy's WAD composition Tool DeuTex version 3.6.|
|WinTex v4.3||Download Olivier Montanuy's Windows front-end for DeuTex.|
|PATCHER||Home of the PATCHER software package by Jim Flynn.|
|New WAD Tool||Download Denis Moller's NWT program.|
|DCC||Download DCC (DOOM Consistency Checker) v3.00 by Rand Phares.|
|ENDOOMER||Download the end screen utility ENDOOMER by Zink the Dink.|
|TED||Download the end screen utility TED by Peter Monks.|
|TCOUNT||Download Scott Jordan's monsters to health/ammo/weapons analyser.|
|STAT||Download page of STAT (part of PATCHER) the WAD analysis utility by Jim Flynn.|
|CLEANWAD||Download CLEANWAD the WAD cleanup utility by Serge Smirnov.|
|Sound Effect Utilities|
|Doom Audio Editor||Download the DOS Doom Audio Editor by Bill Nesius.|
|Windows DMAud||Download the Windows Doom Audio Editor by Bill Nesius and Richard Ratayczak.|
|MIDI2MUS||Download the MIDI to MUS converter.|
|MUS2MIDI||Download the MUS to MIDI converter.|
|MUSTOOL||Download MUSTOOL music utility by Igor Obraztsov.|
|LMP Tools and Utilities|
|LMP Fiddler||Download the LMP Fiddler by Ryan Robinson.|
|LMP Master||Download the LMP Master by Fabrice Denis.|
|LMP Control Centre||Download the LMP Control Centre by Uwe Girlich.|
|LMP Utility System||Download the LMP utility System by Raymond Chi.|
|LMPCOUNT||Download the LMP buffer size/time pre-calculator by Jeannot Langlois.|
|Other Useful Tools|
|PKZip||Home of PKZip for MS-DOS file compression.|
|WinZip||Home of WinZip for file compression under Windows.|
|CuteFTP||Home of CuteFTP for easy file transfer to ftp.cdrom.com.|
|JASC Inc||Home of Paintshop Pro for graphics manipulation.|
This page last updated 11 October 1999