Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Linguica

[Vanilla Level Editing] Lesson 1: Preliminary Reconnaissance

Recommended Posts

BEFORE YOU START: CHECKING YOUR KIT

There are four important things you must have before you can start building your own WADs:

  • A copy of DOOM
  • The appropriate software editing tools
  • A design idea
  • A lot of patience
Each of these essentials will be examined in turn.

Share this post


Link to post

DOOM ITSELF

Before you can venture forth on a WAD-building expedition, you will, of course, need a copy of id Software’s Doom or Doom 2. The shareware version is not adequate for PWAD development: it is incomplete; editors will generally work with it but essentially all source ports will refuse to run a PWAD with the shareware version of Doom. Each game is five bucks on Steam.

A possible alternative if for some reason you can't get your hands on Doom is Freedoom, a long-running project to create an entire Doom-style game from scratch under an open license.

Share this post


Link to post

EDITING TOOLS

In addition to a copy of the game engine itself, you will need access to some WAD-editing tools. First and foremost, you will need a level editor. These tutorials will use GZDoom Builder, which is probably the most widely used Doom level editor. Despite the name, GZDoom Builder (or GZDB as I will generally call it) is not just for editing for the source port GZDoom; it has GZDoom-specific features, but it can be used to create a "normal" Doom WAD without any problem.

There are a few downsides of GZDoom Builder. First, it is only available for Windows. Second, it requires a relatively fast computer, at least compared to most Doom source ports' system requirements. If you happen to run a toaster, or if you use another operating system, there are some noteworthy alternatives. First is SLADE 3, which has binaries available for Windows and OS X; it can also be compiled to run on Linux. Another choice is Eureka, which is an updated version of an older Linux-based level editor that has been compiled to also run on Windows and OS X.

There is another aspect of level editing that I am largely eliding from this: the requirement for a node builder. Doom WADs require the infamous "BSP tree" to be built for each new level, and tools vary on whether or not a node builder is built-in. GZDB integrates a node builder into the test process, but other editors may not. I will just state that ZenNode is widely considered the best and most modern node builder, and if you find that you need one, it is the one you should download and learn to use.

Share this post


Link to post

THE DESIGN

With the right tools at hand, building a DOOM WAD can be a fairly simple task. Finding an effective blend of design elements and producing a good DOOM WAD can be much more tricky!

You probably already have some ideas about what you’d like in your WADs and are just dying to try them out. Before you get too carried away, however, you need to be aware that while the number of features available in DOOM is very large, it is by no means limitless. There are, in fact, a large number of design restrictions within which you must work — restrictions imposed by limitations in the game engine, as well as by the structure of the WAD files themselves. To produce good, playable missions, you will not only need to be fully aware of these restrictions but also learn how to work around them.

I suggest that you hold off trying to produce your own killer design right away and that you start instead by following the Sorties quite closely. The final WAD that you will produce this way is relatively simple and straightforward in its design, but I hope you will find that it is still fairly exciting and challenging to play. By building the WAD according to the game plan prescribed here, you will encounter all of the major design elements of DOOM WADs in an ordered and structured sequence. The potential pitfalls for would-be WAD designers are many and various. By staying close to the plan throughout this mission, you will learn to recognize them and thus to avoid them when you do set off alone.

Share this post


Link to post

PATIENCE IS A VIRTUE

The final essential in WAD-making is patience — and you may need a lot of it! Like many computer-related tasks, WAD-building can be simple to perform but complex to master. You can expect to spend many hours switching to and from between your editor and the game engine, as you lay out, test, and refine your creation, until you produce something that you feel can be released to the world. Expect to make mistakes, and be prepared to spend long hours tracking them down and rectifying them.

Remember that most of the available WAD-editing utilities are produced not by large and successful software houses but by keen individuals working largely in their spare time. This is not to say that these programs are of poor quality; many are produced to high professional standards. But do bear in mind that the resources available to these eager young programmers may not have permitted rigorous testing of all of the component parts; programs may have been released hurriedly, perhaps so that people could start to make use of them quickly, and they may be a little less than complete. You may find, for example, that a user interface is not as polished as you would like; or documentation may be lacking, requiring you to indulge in some trial-and-error guesswork before you can benefit fully from some of the utilities. You may even find that some programs crash more often than you would want. But you should not be put off by these cautionary words; most of the programs are very powerful and easy to use, once you have mastered a few basics. And if you protect your work with frequent backups, you should be just fine.

Bear in mind, too, that WAD-editing is very much a pioneering activity and requires you to have something of a pioneering spirit to get the most from it. Many of the “rules” of WAD structure and design have been formulated by amateurs working long hours, discovering things by experimentation. The nuances of WAD design are far from settled, and there is still much to discover. You should feel free to explore and experiment with the capabilities of the DOOM engine yourself. But be prepared for a certain amount of frustration and confusion if you venture too far into uncharted territory alone. Your WAD-building adventure will begin, though, in the relative safety of the well-charted areas of WAD production.

Share this post


Link to post

WAD SORTIE 1: A QUICK FIRST WAD

With the editor sitting there ready for you to use, I expect you will want to try it out immediately. I will, therefore, lead you straightaway on a quick and dirty WAD-editing Sortie. At this stage, I will not weigh you down with too much theory, explanations, or design issues. For now, treat this as a reconnaissance trip. You can worry more about where you are heading (and where you’ve been) later.

Share this post


Link to post

THE OPENING VIEW

After GZDB has gone through its opening initialization sequence, you will be presented with its main editing screen.



Start by clicking "File" and then "New Map". You will be confronted with a "Map Options" screen.



For now, click the top dropdown and choose "Doom: Doom 2 (Doom format"). Then near the bottom of the window, click "Add Resource..." and navigate to where you have a copy of DOOM2.WAD stored. If you have Doom 2 through Steam, this is probably at C:\Program Files (x86)\Steam\steamapps\common\Doom 2\base.



Once you click OK, you will be at the main GZDB editing screen with an empty map in front of you.

Share this post


Link to post

A FEW PRACTICE LINES

Start your drawing by clicking once with the right mouse button somewhere in the map area (it does not matter where). You should notice that an orange square is placed at the position of the mouse pointer, and the pointer turns into a crosshair. If you now move the pointer, the square is left behind, while another orange square follows the pointer. Between these two squares stretches an orange line, with a small tick mark at its center. As you move the pointer, the X,Y indicator at the right-hand side of the screen updates as usual, and a set of numbers follows the line: a number indicating the length of the line (in game units), and another showing the angle the line is pointing.

If you now click the left mouse button some distance away from the location of the first click, you will find that the line you have been drawing stays in place, and a new line has begun from the new position. GZDB will continue to add squares and lines to your map each time you click the left mouse button, until you click back on the first point you drew.

The normal way of ending a drawing in GZDB is to close out a shape (by contacting with the original point) but you can also terminate the drawing process by clicking (anywhere) with the right mouse button. This will erase the current line-in-progress, but it will leave everything intact up to your last left-button click.



At this point, you might like to practice drawing some lines and shapes in the map-editing area for a little while.

Share this post


Link to post

ZOOMING AROUND

When you have a few squiggles and assorted shapes on your map, you might also like to try out GZDB's map-scrolling functions. The cursor keys on the keyboard will scroll the map display, and you can use the mouse wheel to zoom in and out, centered on where your mouse pointer is located. The Home key is also worth trying out; it will recenter your drawing in the map display, which is useful if you’ve done a lot of scrolling off to one side.

Notice, incidentally, that you can still access and use the scroll and zoom buttons while you are drawing lines. GZDB may stretch the current line disconcertingly off the screen to follow the pointer, but you will not confuse it by using these buttons at the same time.
For now, do not concern yourself with how to move or erase lines that you have placed.

Share this post


Link to post

STARTING FOR REAL

Before starting for real, let's save the configuration for the current mode. Press F6 to enter the Game Configurations screen. Make sure "Doom: Doom 2 (Doom format)" is selected on the left hand menu, and then click "Add resource...". Navigate to your DOOM2.WAD folder again and select the WAD. Doing this will ensure that GZDB remembers where to find it for this configuration from now on.



Once you have done this, return to the main screen and begin a new map. You can do this via File > New Map, the dedicated icon on the left side of the toolbar, or by pressing Ctrl-N. GZDB will ask if you want to save the current changes; say no, then click OK on the Map Options screen again.

This first WAD will be very rudimentary—nothing more than the bare essentials. It will consist of a simple hexagonal room with a pillar in it.

The following shows how your first map should look when you’ve finished; the next section will lead you through the drawing process.

Share this post


Link to post

DRAWING YOUR FIRST MAP

Begin your drawing by clicking with the right mouse button at the point indicated in Figure 1.2. The exact location of your first click does not matter, but you should allow space for drawing to the right of (and also a little to the left of) and below your starting position. You can, of course, scroll the display later if you find that you need more space, but life may be a little easier if you plan not to have to!

Having placed the first point of your map, move the mouse to the right and draw a horizontal line (Angle: 90) that is 900 units or so long. (Do not worry if GZDB won’t let you have a line of exactly 900 units. This is normal.) This is line 1. Now add successive lines of the lengths and angles given in Table 1.1. Again, don’t worry about getting the values precisely as specified.



Finish this part of the drawing by connecting back to the first point you placed. You should now have a hexagon in your map display area. You will notice that it is filled in with a default floor texture; this is normal.

Now add another, much smaller, hexagon to the map, as follows. Start by positioning the mouse about 50 units east and 60 units south of the first point you placed. Make sure that none of your current lines show red (if any do, you are too close—move a little further away) before clicking. Then draw the new lines detailed in Table 1.2.



Line 11 should end in such a position that the line needed to close out the hexagon will be more-or-less parallel to the adjacent line of the larger hexagon (line 6). Complete the new hexagon by connecting line 12 to the start of line 7. Again, take care that you connect to the starting point of the inner hexagon, not to any point of the outer one.

You should now have two hexagons. At this point, we want to make the inner one a solid space. Press the "S" key to switch to "Sectors Mode". Hover the mouse over the inside hexagon. The hexagon should be highlighted in orange. When this is the case, without clicking on the hexagon, press the "Del" key to remove the interior area from the hexagon.

Share this post


Link to post

COMPLETING THE MAP

Next, press the "T" key to switch to Things Mode. (You can also press the associated icon on the left side of the screen.) Position the mouse pointer somewhere inside the larger hexagon, about 40 units in from one of its southwestern corners. Click once with the right mouse button. The "Edit Thing" window should pop up. The "Player 1 start" thing should be selected by default, so simply press OK.



One last step before we continue. Because our process has been a little unorthodox, we want to allow the editor to choose wall textures that we haven't placed ourselves yet. Press F4 to enter the "Map Analysis" screen. Leave all the check marks as their defaults and press "Start Analysis." You should get six warnings about missing middle textures. Highlight all six problems (you can click one and press Ctrl-A, or click the first and then shift-click the last) and click "Add Default Texture." Then press the X on the top right of the window to return to the main screen.

Share this post


Link to post

SAVING THE WAD

You now have enough of a map to try out in DOOM, so click the Save Map button (located third from the left in the top toolbar). Type a name for your WAD (perhaps MAP01.wad) and press the Return key.

When you are happy with the settings in the Save WAD popup, click the OK button. GZDB will rapidly display a sequence of messages (mostly too quickly for you to read) and then save your WAD. You can now start DOOM to try out your handiwork.

Share this post


Link to post

TRYING YOUR NEW WAD

GZDB supports testing your WAD by launching it directly from the editor. You can do this by clicking Tools > Test Map, or the associated icon on the toolbar, or by pressing F9.

Because we have never done this before, GZDB will ask us to set up the test program. Click yes.

You will be back at the Game Configurations screen, but in a different submenu. Input the information for a Doom source port you wish to use. First, type in the name of the port in the "Engine:" entry box. Then in the "Application:" box navigate to where the source port executable is located. ZDoom is a good one to start out with; it's relatively advanced and tolerant of errors.



Once this is done, you will find yourself back in the main editor window. Try the "Test Map" command again. If all goes well, the source port will load your level automatically, and you should find yourself located in one corner of a hexagonal room, with a pillar behind you.



With luck, your WAD loaded and started without trouble and you can now take a walk around your first DOOM scenario. Not bad for a few minutes of work, eh? Future WAD Sorties will build on this first, simple, one-room WAD.

Share this post


Link to post

KEEPING NOTES

Throughout the WAD-development process, you will find it useful to keep a notebook handy. Along with sketching out your WAD before you start, you should keep a list of the things you add during each edit, so that you will know exactly what you need to test during the next play session. As you wait for the game engine to start, decide on a logical strategy for working through everything that needs to be tested in this session. Make sure that you test all of your new additions before going back to the editor to fix any errors you spotted or put in any changes you thought of as you played your WAD. And of course, write down the problems you encounter and ideas you have while testing, so that you will have a list to work from when you return to the editor. Yes, you are right — it is just like programming.

Share this post


Link to post

USING AN APPROPRIATE MAP NUMBER

For convenience in starting your new WAD in DOOM, you are advised always to save your WADs as startup games, at least during the developmental stages. This means saving them as E1M1, E2M1, or E3M1 in DOOM, or as MAP01 in DOOM II. That way, you can go straight to your WAD to test it out when you begin DOOM. Even if you are working on a multi-map WAD, you should develop each map in a separate WAD file initially and, when they are all complete, use a utility such as SLADE to assemble your multi-map WAD for final testing and distribution. This will keep your WAD files small and quicker to load (and also reduce the damage that can occur if you have an accident with the editor).

Share this post


Link to post

DECIDING WHEN TO ADD MONSTERS

Opinions differ as to what stage of WAD development to start adding monsters and such - like, largely because of the added effort of checking a WAD populated with enemies. Many developers will leave the adding of the bad guys until almost the very end. I prefer to add some creatures to my WADs quite early on, usually so that I can check whether the various geographic components work well together as a combat arena. I find the easiest way of checking sightlines and firing lines is to put some monsters around the place and see how they behave. When WAD-building, it is easy to be seduced into producing clever scenery that looks very pretty but that turns out to be virtually useless when it comes to fighting in it. It is especially tempting when working with a map editor to build rooms and corridors that map out some grand design when viewed as a map, but which turn out to be boring to play. I find that adding creatures to the map as I go along keeps me concentrating on the real business at hand: providing the player with a survival challenge.

Once you start populating your WAD with hazards, be it with monsters or harmful scenery elements, the business of moving through it, testing out its general playability, and looking for faults becomes more difficult and time consuming. At this stage, you will find that the task of testing your work will be made easier if you learn the proper use of the developmental aids that id Software has provided: the command-line switches and the so-called cheat codes. (Other players may use these codes to cheat during play — you, of course, will only use them as they were intended: as aids to playtesting. Quite a different matter!)

Share this post


Link to post

USING SWITCHES AND CHEATS

The -nomonsters switch is useful for walk-through testing when you simply want to look around and inspect your scenery, layout, and so on. Having to battle monsters as you move through your WAD will just distract you from the real task at hand, and it will quickly become more of a chore than a pleasure.

A useful cheat code for checking out monster behavioral patterns is IDDT IDDT. Watch the map and use this code to check that monsters move around your layout and hunt the player as you intended. Of course, if you spend a lot of time simply observing the monsters from locations where they can see you, you will probably need to use IDDQD to stay alive long enough to see how they behave. IDKFA is useful for the later stages of your design, when you are trying to decide how much of what kind of weaponry and ammunition to make available, and also for moving quickly through areas that have keyed doors.

You may be tempted to use IDSPISPOPD (IDCLIP in DOOM II) to take shortcuts through your map to areas that you are working on that are far from the start. I do not recommend the use of this cheat in this way. You will find that the game plays very differently with this cheat active. You will not get a proper feel for your geography while you are using it. In my view, it is much better (and usually simpler) to relocate the player’s start position on your map so that you are already positioned at a convenient point when the WAD starts. This no-clipping cheat is useful for occasional quick trips through a WAD to check small fixes to the scenery, though.

Other codes can be usefully employed at various times during the play-testing process, but the ones mentioned here are generally the most useful. You should always bear in mind just what is available, though, and be sure to use whatever will speed up your play-testing the most.

Share this post


Link to post

THE IMPORTANCE OF PROPER FILE MANAGEMENT

The final point to make about the WAD-production process is really just a matter of common sense: don’t forget to take regular backups of your work in progress. Even the best of editors can occasionally get into something of a tangle. Often the only way of dealing with these tangles is to give up, load an earlier version of the WAD file, and rebuild your work from there. If you follow the strategy outlined here—of only working in fairly small and manageable chunks, and saving each major edit to a new file — then even when the worst does happen, you should never end up losing too much work. GZDB will keep several backups of your WAD files on hand, but you should never trust the program to do this flawlessly.

Share this post


Link to post

EXIT: MOPPING UP AND MOVING ON

This concludes the preliminaries. It is now time to take stock and move on.

From this lesson, you should have outfitted yourself for the WAD-building adventure ahead. You have had a chance to build and play a simple WAD and have been given some hints on the most painless ways to proceed.

In the next lesson, you will find an explanation of the steps you have just taken, an introduction to the basic elements of WADs, and more details about the use of GZDB.

Share this post


Link to post
Guest
This topic is now closed to further replies.
×