Knowledge Base - WadAuthor Basics: Creating Complex Sectors

WadAuthor Basics: Creating Complex Sectors

Goal to Achieve
Figure 1: Complex Object to Create

I have had several requests to do a tutorial on the basics of WadAuthor (WA). A lot of people have moved to WA because it handles ZDoom so nicely. However, since it is a sector based editor as opposed to a vertex based editor, it can be hard to figure out how to create complex objects like the one illustrated in Figure 1. This tutorial will explain in detail how to make the construct in Figure 1. By the time you finish this tutorial, you should be able to create anything in WA. The file mjwad.wad shows the final result of the tutorial. The wad was submitted by Mattias Johannson and modified by myself.

In WA you can filter the objects you want to manipulate. Press the S key to select sectors. Press the L key to select lines. Press the V key to select vertexes. Press the T key to select things. When I indicate that you should work with a particular object, it will make your life much easier if you filter on that object.

Create the Holding Sector
Figure 2: Create the Holding Sector

The first thing to do is to create the initial sector that holds our construct. Figure 2 shows the sector create button. If you don't see this toolbar, then select Tools-Options from the menu and click on the Toolbars tab. On the Toolbar dialog, check the View checkbox to enable the toolbar.

When you click the sector button a small white X appears on the screen. This indicates where you last inserted a sector. If this is the first sector, it defaults to the center of the screen.

Position the mouse pointer over the spot where you want your sector, and click the default mouse button (or left mouse button, if you haven't changed your mouse configuration) and the dialog in Figure 3 will be displayed.

Sector Create Dialog
Figure 3: Sector Create Dialog

There are two ways to create a sector on this dialog. You can use the default grid setting by setting the Use Grid Setting checkbox, or by using the length and width setting. In this case I have set the length and width to 512 to create a large initial sector.

Once the sector is in place, double click the sector to display the sector properties dialog (or right mouse button and select properties from the popup menu), as illustrated in Figure 4.

Sector Properties Dialog
Figure 4: Sector Properties Dialog

When you insert a new sector, it retains the last sector motif setting that was used or the default motif setting. Figure 4 shows the last motif setting I used, so we will need to create a new setting for this map. Motifs are an easy way to have a consistent look and feel for sectors. The revised setting is illustrated in Figure 5.

Revised Sector Properties
Figure 5: Revised Sector Properties

This dialog also has the linedef properties for the sector. Clicking on the Linedefs/Sidedefs tab displays the dialog illustrated in Figure 6.

Linedefs/Sidedefs Properties
Figure 6: Linedefs/Sidedefs Properties

On this dialog the impassible flag needs to be set and the middle texture needs to be selected. This will complete the first sector. Once you get skilled this whole process should take less than 30 seconds.

The next step is to start building the construct in Figure 1. You could go about this in several ways, but I am going to work from the inside out. So we are going to build the inside sector first.

The inside sector has the same floor and ceiling texture as the outer sector but has a floor of 16 and a ceiling of 128. To create the sector, click the sector create button and click somewhere inside the holding sector. At the dialog use the method of your choice to create a sector of the needed length and width. Make the sure the Make A Column checkbox is cleared.

Double click inside the sector you just created and set the floor height to 16. The ceiling should already be 128. If not, set the ceiling to the desired height. You should end up with a map that looks like Figure 7.

Progress So Far
Figure 7: Progress So Far

We don't need to add lower textures to this yet, since we are going to be adding sectors to this so the lowers will not show when we are done building our construct.

The next step in the process is to build the one-sides pillars and join them to our existing sector. Click the sector build button, but this time click the Make a Column checkbox to set it, as illustrated in Figure 8.

Make a Column
Figure 8: Make a Column

The result should look something like Figure 9.

Our New Column
Figure 9: Our New Column

We need to set the textures on all the lines, but WA has an easy way to do this. Hold down the shift key and left click (or default mouse button) each line in the column until all are selected. Then right click (or alternate mouse button) the lines and select Properties from the popup menu to display the linedef properties. Set the impassible flag and the middle texture to Metal.

We need to build 3 more columns for our construct, but we don't need to go through this process for each one. Rather we are just going to copy the column we have now.

With all the lines still selected on our column (or reselect the lines if need be), click on the Edit menu and choose Copy. This copies the the column to memory.

Select Edit-Paste from the menu (or CTRL-V), then position your mouse pointer on the desired location in the map and click the default mouse button to place the column. The column will be pasted to the point where your mouse was located. If you miss, just select all the lines then click and holding down the default mouse button, drag the column to the desired position. You should end up with a map that looks similar to Figure 10.

Progress So Far
Figure 10: Progress So Far

Now, what we want to do is to join these columns to our initial sector. This is quite easy, although not intuitive. After one example though, all should be clear.

What we need to do is to split the lines of our initial sector and create separate lines to join. The following set of illustrations are a step by step method for this process.

First, select the line we are going to split and press the X key. The line will be split in the center as shown in Figure 11.

Splitting Line
Figure 11: Splitting Line

Next drag the new vertex into position with the mouse as shown in Figure 12.

Vertex Position
Figure 12: Vertex Position

Now select the line to right of the vertex we just moved and split the line using the X key.

Splitting Line
Figure 13: Splitting Line

Move that into position, as shown in Figure 14.

Vertex Position
Figure 14: Vertex Position

Repeat the procedure for the other sides of the sector until it looks similar to Figure 15.

Split Sector
Figure 15: Split Sector

Now we need to prepare our column so that we can join the two together. Using the same techniques describe above, split the lines of the column and move the vertexes until is looks similar to Figure 16.

Split Column
Figure 16: Split Column

Now we need to join the two objects together. This is quite easy, but not necessarily obvious. The first step is to select the lines we want to join (using shift-click), as illustrated in Figure 17.

Getting Ready To Join
Figure 17: Getting Ready To Join

Now press the J key to join the lines. You'll get something similar to Figure 18. Don't panic this is normal.

Lines Joined
Figure 18: Lines Joined

Next select the other two lines we need to join.

Getting Ready To Join
Figure 19: Getting Ready To Join

Press the J key to join these lines.

Lines Joined
Figure 20: Lines Joined

It looks like a mess, but simply select all the lines of the column (shift-click) and then drag the column into place so it looks like Figure 21.

Final Result
Figure 21: Final Result

Repeat this same process for each corner. The map should like Figure 22.

Final Result
Figure 22: Final Result

OK, we are on the home stretch now. We need to add the "window" sectors to the maps. We will do this in exactly the same fashion. First, create a small sector inside the holding sector but outside the initial sector. Set the floor height to 48 and the ceiling height to 96.

Now, we want to flip the linedefs so that the first side (the side with the line sticking out), is pointing outward. Why? Well so I can illustrate how to flip linedefs. :) You don't really have to worry about the direction a linedef is pointing, unless you want to trigger some action.

Select all the lines of the new sector (using shift select) and right click (or alternate mouse button) to display the popup menu. Select Flip Linedefs from the menu and the Flip Linedef dialog will be displayed.

Flip Linedefs
Figure 23: Flip Linedefs

Make sure the Flip Orientation Only option button is selected. This will flip all the linedefs as illustrated in Figure 24.

Flipped Linedefs
Figure 24: Flipped Linedefs

Now select all the lines of the new sector and right click (or alternate mouse button) and select properties from the menu. Add an upper and lower texture to the front side of the linedefs.

Since we don't want to have to create this all over again for all four sides, we can copy the sector like we did with the column. Select the sector and press CTRL-C or Edit-Copy from the menu. Now, paste three more sectors as is illustrated in Figure 25.

Sectors Ready To Join
Figure 25: Sectors Ready To Join

Now using the techniques already described join the lines in the sector to the lines in the columns and initial sector.

Sectors Ready To JoinSectors Ready To JoinSectors Ready To Join
Figure 26: Joining Sectors

Join the other sectors in the same fashion so that the map looks similar to Figure 27.

Progress So Far
Figure 27: Progress So Far

One more item and we are done. We need to add the little step to the construct. Again, add a sector to the holding sector and set the floor to 16 and the ceiling to 112. Add an upper and lower texture of the back side of the lines in the sector since we are not going to flip these lines.

Next, we need to prepare the sector to be joined as illustrated in Figure 28. Just split and move the vertexes as needed to create the shape you want. To join two vertexes together just drag one on top of another.

Getting Ready To Join
Figure 28: Getting Ready to Join

Now join the the two lines together and move the vertexes of the step so that it looks like Figure 29.

Final Product
Figure 29: Final Product

There, it is pretty much done. Run the checks on the map and clean up any missing textures and you'll have some cool new architecture in your level. If you added all the textures and such I mentioned, the only errors you get will be the starts and exits. You shouldn't be missing any textures. This is why I add the textures before copying the sector.

These basic techniques are the core principles used in mastering WA editing. Once you understand these, nothing will stand in your way.


Mattias Johannson supplied the idea for this tutorial as well as the initial wad file.
WadAuthor help file.