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

[Vanilla Level Editing] Lesson 2: Reconnaissance Debriefing

Recommended Posts

LESSON 2: RECONNAISSANCE DEBRIEFING

In your first lesson, you experienced the thrill of producing your own WAD. In this lesson we will examine precisely what it was you did. We will introduce you to some of the fundamental constructs of all WAD files, showing you what the various map components are and how they interact.

You will be led on two further WAD Sorties, where you will learn more about using GZDB to edit both the lines of your maps and the things located within it.

Share this post


Link to post

SECURING THE SECTOR

In the preceding room, we produced a simple one-room WAD without too much effort. The WAD was built without much explanation, either. It is time now to review the actions we took in that first session and explain why we took them and what we achieved by them. You may find it helpful to reload GZDB with that first WAD (D2WAD1.WAD) before reading on.

Share this post


Link to post

DIVIDING SPACE INTO SECTORS AND VOID

Believe it or not, probably the single most important step you took in building your first WAD was making the final mouse click in drawing the outer hexagon shape of the room. It was this action that brought all of your other actions together and created the single room of this simple WAD. What you really created with that mouse-click was a special division of DOOM-space known as a sector. The extent of a sector is determined by the lines that bound it; when you made that mouse-click, GZDB used the lines that bounded the space in which you clicked to mark out this WAD’s single sector.

Share this post


Link to post

WHAT EXACTLY IS A SECTOR?

The game engine regards the sector as the fundamental building block of DOOM WADs. Sectors enable the engine to distinguish game-space from void space — that is, space within the map area which is not utilized during the game. In essence, they provide the engine’s point of access to all of the information about any particular location on the map. Any point on the map that is not assigned to a sector is regarded by the game engine as belonging to the void.

In your first WAD, you created a single sector, consisting of a hexagonal annular space. This was seen and displayed by the game engine as a single room. As far as DOOM was concerned, there was nothing outside the sector’s enclosing walls or even within the hexagonal pillar. It is a WAD-building rule that any area of the map into which a player can ever see must be assigned to a sector; otherwise an error results.

You can think of a sector as simply a designer-defined area of the DOOM map. That area is of a specific extent, defined by a series of lines. In order to mark off such an area without ambiguity, a sector’s bounding lines must completely enclose the space. There can be no gaps in the lines. The following image illustrates this.



The upper three shapes are all valid closed shapes—they could all form sectors. The lower two sets of lines form unclosed shapes — these shapes cannot form sectors, and they will not work properly if you try to use them.

Share this post


Link to post

LOOKING AT THE DIVISION OF SPACE

If you have GZDB loaded and your D2WAD1 map on the screen in front of you, you can readily observe this division of the map into sectors and void.

Press the S key to enter Sectors Mode, or click the corresponding icon on the left side of the screen. Now, taking care not to click the mouse button on the map while you do so, move the pointer around over the area of the map. Whenever the pointer is over space that belongs to a sector, the bounding lines of that sector will be highlighted orange. You should find that the only time any lines are highlighted in your WAD is when the pointer is over the annular space of your single room, at which time all the lines are highlighted. Whenever the mouse pointer is outside your large hexagon, or inside the small one, it is in the void, and all lines will show as white. GZDB also paints floor textures by default within sectors, which makes it easy at a glance to tell what is a sector and what is void.

Share this post


Link to post

ATTRIBUTES OF SECTORS

Each sector has a specific set of attributes, which tell the DOOM engine how that space looks and behaves during play. It is important to remember that a sector’s attributes are applied across its entire extent. A sector’s main attributes consist of the following:

* Floor details
* Ceiling details
* A brightness level
* A special characteristic

You will learn all about these attributes later; they are considered here only briefly. Note that there is no information here about your WAD’s walls. You’ll find out more about them later, too.

Share this post


Link to post

FLOOR AND CEILING

The floor of a sector is the horizontal plane that forms the lower boundary of the sector in space. It is the surface upon which the player (and most monsters) will walk while they are in that area of the map. The ceiling is the horizontal surface forming the sector’s upper boundary.

A sector’s floor and ceiling each possesses two definable properties:

* A height
* A texture

The height value specifies the surface’s absolute vertical placement in the range -32768 to +32767. Naturally, the ceiling is normally placed higher than the floor, and the difference between the two heights provides the apparent height of this area of the map, as seen by the player.

The texture value consists of an eight-character name that tells the game engine which pattern to render on the screen when showing this particular surface.

Share this post


Link to post

SECTOR BRIGHTNESS

A sector’s brightness level, expressed as a number between 0 and 255, determines how brightly anything occupying that sector (including the floor and ceiling textures) will be displayed on the screen.

Share this post


Link to post

SPECIAL CHARACTERISTIC

The special characteristic of a sector determines whether the game engine will do anything special with it. Examples might be making the lights flicker or doing damage to a player in the sector. The majority of sectors will have no special characteristic set.

Room 7, “Activating Sectors,” of this mission looks at the special-characteristic property of sectors. The next WAD Sortie will take a closer look at sector settings within your own embryonic WAD.

Share this post


Link to post

WAD SORTIE 2: CHANGING SECTOR ATTRIBUTES

You are probably wondering how your WAD managed to acquire ceiling, floor, and brightness settings without you having to specify any values for these attributes. The answer is that GZDB, like many editors, will generally supply sensible defaults for all values that you do not specify. Of course, GZDB also provides the facility for you to specify all of these settings for yourself. You may want to change some of them now.

Assuming you are running GZDB, with D2WAD1.WAD loaded, press S to enter Sectors Mode. Hover the mouse inside your only sector, and you will see its attributes displayed at the bottom of the screen. The sector identification number is shown at the top of the attributes bar, with parentheses exclaiming "12 Sidedefs" next to it; we can ignore that for now. Below is the "Effect", which should be Normal, and the floor and ceiling heights, as well as the overall height of the sector. Along with is displayed the sector’s Brightness level, and, to the right of that, the current ceiling and floor textures, as well as the names of the textures in use by those surfaces.

Share this post


Link to post

CHANGING SETTINGS

To change any of the settings, right click on the sector itself to open the Edit Sector window. To change any of the numerical settings, you can either use the up or down buttons alongside the particular value, or you can click the value itself and directly type in a new value. Try reducing the sector’s lighting level to 144, say, and bring the ceiling down a little, to 120.

You might also fancy a change of floor texture. In the right-hand side of the screen, to the right of the attributes area, you will see the current floor and ceiling textures. When you click on one, you will bring up a new window with a list of eight-character names, arranged in alphabetical order. These are the available floor and ceiling textures.

The Filter at the bottom allows you to start typing in the name of a texture you already know you want, or you can just scroll through the list and select a new one by hand if you so desire.



You can change the current floor texture as follows. With the main map-editing screen visible, right click on the sector and then left click on the floor texture. Scroll through the list of texture names until, say, MFLR8_1 becomes visible. Double-click the entry to select it. Now click OK. With this mouse-click, the sector’s floor-texture field changes to the new texture.

Save this WAD as D2WAD2.WAD and try it out. The differences are slight, so you may not notice them immediately, but you have now changed the way your room looks.

Share this post


Link to post

DRAWING THE BATTLE LINES

While the sector may be regarded as the DOOM engine’s starting point in its interpretation of your WAD, you began your drawing with something rather more fundamental: a series of lines. In fact, your map lines consist of even smaller units: the vertices between which the lines themselves are stretched.

Share this post


Link to post

LINES AND VERTICES

Lines and vertices are very simple elements to understand. Each vertex is nothing more than an X and a Y coordinate, representing a point location on the DOOM map. Lines are marks on the map running between two of these vertices. Lines cannot exist without a vertex at each end.

Share this post


Link to post

THE HANDEDNESS OF LINES

It is important to realize that lines in DOOM WADs are regarded by the game engine as vectors. In other words, they are deemed to run in a particular direction from one vertex (the starting vertex) to another (the finishing vertex). Most editors (GZDB included) watch the way you draw your lines and will take the vectoring information from your actions. (However, GZDB is smart enough to override this if it feels like your intent is something different; for instance, if you draw a new shape in the void going the "wrong way" so all the linedefs are pointing outward instead of inward, it will automatically flip them all so that it can create a new sector normally.)

This vectoring of the lines can also be regarded as a handedness; lines are said to have right sides and left sides. GZDB (along with most other editors) shows a line’s right side by means of a small tick mark. To appreciate what this signifies, imagine yourself standing on a line’s starting vertex (as made by the mouse-click that started the line), looking towards the line’s finishing vertex. This line’s right side lies to your right. Simple really — but confusing sometimes; hence the tick.

Share this post


Link to post

LINEDEFS AND SIDEDEFS

It so happens that lines in DOOM WADs are actually composite structures consisting of more than just start and end points. Each line has its own particular attributes (you will learn more about these in due course), which are held in a data structure called a linedef (short for “line definition”). In addition, each linedef has information attached to each of its sides, in a pair of additional structures known as sidedefs (short for “side definitions”). A line may have both a right sidedef and a left sidedef to tell the DOOM engine how it appears to the player when viewed from either side.

To economize on space in the WAD, if a line can only possibly be seen from one of its sides (like all of the lines in your first WAD), then only one sidedef is needed, and the second can be omitted. By convention, single-sided lines have only a right sidedef. Lines that can be viewed from either side must have a right and a left sidedef, or an error will occur.

You will encounter more about the roles of these structures in Lesson 4, “At the Sector’s Edge.”

Share this post


Link to post

CONTROLLING THE THINGS

In addition to the lines of the map — whose principal role is to mark out the sectors, remember — WADs can contain a number of items that are not part of the geography but that represent the various objects which the player will encounter when the WAD is played. These map items are termed Things. These are placed on the map by the designer to indicate where they will be when the WAD is started. Some Things may subsequently move with the progression of the game.

Share this post


Link to post

THINGS

You probably have a fair idea already what the family of DOOM Things include. Monsters are Things, as are all weapons, bonuses, and ammunition supplies. There are also a number of other items that you may not immediately think of as Things — their main categories are:

* Player start positions
* Enemies
* Gore (pools of blood, dead monsters, and so on)
* Weapons
* Ammunition
* Power-ups (health and armor bonuses, and so forth)
* Keycards
* Obstacles (barrels, pillars, and so on)
* Miscellaneous (currently just the teleport destination)

You will learn more about the use of Things as you progress through these lessons.

Share this post


Link to post

ATTRIBUTES OF THINGS

Each WAD Thing can possess a number of attributes which the designer can set. These are as follows:

* A facing angle
* Skill-level options
* A "deaf" option
* A multiplayer option

Not all categories of Thing can utilize all of these attributes, even though they possess them.

Share this post


Link to post

FACING ANGLE

The facing angle attribute determines the direction in which the Thing will be facing at the start of the mission. Only player starts, monsters, and teleport destinations make use of this attribute. All other categories of Thing look the same from all directions. (Have you noticed how corpses turn around as you walk around them?) The default facing angle in GZDB is South.

Share this post


Link to post

SKILL-LEVEL OPTIONS

The skill-level options determine at which difficulty level settings of the game the Thing will appear. There may be fewer difficulty levels than you might expect. They are as follows:

* Level 1 (“I’m too young to die” and “Hey, not too rough”)
* Level 2 (“Hurt me plenty”)
* Level 3 (“Ultra-Violence” and “Nightmare”)

Note the joining together of the “I’m too young to die” and “Not too rough” skill levels, as well as the “Ultra-Violence” and “Nightmare” levels. The differences within each of these groupings are achieved by mechanisms other than Thing availability. All Things may be set to appear (or not) at any of the three difficulty levels independently.

Share this post


Link to post

DEAF OPTION

The normal behavior of enemies is to remain asleep at their posts until they either see a player or hear a sound made by a player. The deaf option enables you to set particular monsters to awaken only upon seeing the player (or being hit by a shot).

The "deaf" terminology is a little misleading: a better name would be "ambush." "Deaf" monsters have in fact heard any gunshots within range, they are just choosing to stay still until the player comes into view. One side effect of this is that "deaf" monsters often cannot be snuck up upon from behind - if a "deaf" monster has heard gunshots, it will instantly turn to face you and begin attacking, even if you come into a room from behind them.

This attribute has no meaning for any other category of Thing.

Share this post


Link to post

MULTIPLAYER OPTION

The multiplayer option enables the use of Things that will only appear in Cooperative or Deathmatch multiplayer games. This is useful for the addition of obstacles to prevent player access to items such as teleports and for creating a different distribution of weapon and ammunition supplies for multiplayer games.

Share this post


Link to post

HIDDEN EXTRAS

For the sake of completeness, it should be said that there are a number of other essential resources that every WAD needs in order to operate. Principally, these are as follows:

* The blockmap
* The BSP (or nodes tree)
* The reject table

These resources will be considered here briefly.

Share this post


Link to post

BLOCKMAP

In order to speed up the collision-detection process during play, DOOM requires the map to be divided up into a series of blocks. These blocks provide the game engine with a list of lines for their particular area of the map. Without this blockmap, all lines would become completely walk-through and DOOM would become a very strange game indeed. The “no-clipping” cheat code operates, in fact, by telling DOOM to stop consulting the blockmap. Editors should build a blockmap automatically without you needing to worry about it.

Share this post


Link to post

BSP (NODES TREE)

The binary space partition has already been mentioned as an essential WAD resource. It is needed to enable the game engine to display all of the WAD scenery in real time. This structure is calculated from the lines you draw. Some editors include the generation of the nodes as an integral part of their operation; others require a separate nodes builder to be used before the WAD can be used.

Share this post


Link to post

THE REJECT TABLE

The reject table (or map) provides DOOM with some shortcuts for working out whether monsters can see the player(s) as they all move around. The purpose of this structure is to save the DOOM engine from some math calculations during operation of the game, thus speeding up play. Most editors will produce an empty reject table. This enables the WAD to operate, but not optimally. Unless your WAD contains a lot of monsters and many sectors, however, this will not be a problem for you. Aspecial utility, known as a Reject Builder, is needed to produce a fully optimized reject table. (Details of this utility are given in Episode 4, Mission 3, Room 1, “RMB.”)

Share this post


Link to post

WAD SORTIE 3: MOVING THINGS AROUND

So far, you have seen how to add new lines to a map but not how to move lines or how to reshape your layout. If you would care to start up GZDB again, I shall now show you how to do this, along with a few other useful things.

Share this post


Link to post

SPEAKING OF THINGS...

It is worth having a quick look here at Thing placement in more detail. You have already seen how to place a Thing into a WAD; you did this when you set your Player 1 Start Position just before saving your first WAD.

GZDB’s Thing placement process is very simple: press "T" while at the main GZDB window, or click the associated icon on the left side of the screen. Right click in the map where you want a new Thing to be located. In the "Edit Thing" window that appears, scroll through the list of things to find the proper category of thing you want to add. Do this now and scroll to the "Obstacles" category, and double-click on it or single-click on the small plus sign next to the label..

The scroll box shows a list of Things which belong to the currently selected category. The box displays a descriptive name of the Thing and also shows the graphic that GZDB will use to indicate this Thing’s position on the map. Scroll this list box’s highlight down quite a way, to the entry labeled "Tall techno pillar". With this selected, click OK. Figure 2.4 shows how the GZDB screen should look after placing your new techno-column.

Share this post


Link to post

CHANGING A THING’S ATTRIBUTES

Details of a selected Thing’s attributes appear in the Thing’s details box in the lower left of the screen, much as they did for sectors. Double clicking on the placed Thing returns you to the Edit Thing window and allows you to change its attributes. The Thing’s facing angle is shown by means of a line on a compass, which you can click and drag to change the angle at which the selected Thing faces.

There is no point changing the way the techno-column faces, as this will have no effect on it. You may want to select your current Player 1 Start Position, though, and change the way your player faces at the start of the game.

Share this post


Link to post

MOVING THINGS AROUND

You can move a Thing around on the map simply by using the left mouse button to drag it to where you would like it. Try placing a Cyberdemon (of the Monsters category) somewhere in your WAD. Drag it around a bit and try to decide where you would like it to be when you start the WAD. You can put a few items of gore about the place, for practice, if you must.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×