Dark Engine Level Design – Stepwise Refinement Method
By VK-GayleSaver

All information in this document comes from my own experience, unless noted otherwise by references to previously created missions.

DromEd was designed by programmers, and whichever way you turn, traces of that aphorism are visible.  Therefore, in my view, the best way to design levels in DromEd is to follow a top-down strategy, partially based on Tim’s Building Principles document; you should be familiar with it before you read this.  I’ve developed a set of steps that should be taken in designing and shipping a Dark mission.  Please be aware that this document does not cover artistic or general aspects of level design, such as fiction composition; however, these aspects are mentioned at appropriate locations.  This document is best read from start to end as a tutorial, then used as a reference document – it does not implement a step-by-step strategy for level design – it simply discusses it; several Steps refer the reader back to previous Steps for additional information.  Also be aware that you not only need to carry DromEd knowledge to this document, but also a bit of common sense.  There are many things that are never explicitly discussed; these things can usually be deduced easily.  I can’t put the entire philosophy of level design from the beginning of first-person-perspective game into a ten-page document.

Pre-step: Plan your mission
You must make several important decisions before you start creating the mission.  The first thing you need to think about is what kind of level it will be.  If it is going to be a progressive mission in which the player must get from one point to another, as Thief 1’s  “Assassins” or Thief 2’s “Ambush” and “Courier”, it is beneficial to carve the mission from the solid world which starts the process in DromEd.  If it is a centralized mission in which the player must infiltrate an installation, as most missions are in both games, creating large air brushes for world space is preferred.  Please see Tim’s document for details.  Before building, you must also decide for yourself what the level should look like when it is done.  The reason for this is consistency.  Have you ever tried writing without deciding on both a beginning and an end for your composition?  It is easier to wander off the main design path than you may think.  A general image in your mind is all that is necessary, but a design on paper can help.  When you have completed this planning, you can begin the building process.  There will be much more design work to do ahead, and stopping to think after each Step can help you polish your levels.  Also, this document assumes that the task of adding story to your mission is separate from building the mission, and is therefore not discussed here.

Step One: Create world space
The first step in my refinement method is the creation of world space using large air brushes or smaller brushes of specific shapes.  If your level is centralized, it is easy to build world space for it.  The dimensions of an entire-world air brush may differ, but the generous estimate is 80 feet in height and no more than 200 or 300 in either direction on the x-y plane.  If you need more space than 300, you should create separate air brushes adjacent to the primary air brush.  The reason for this is Dark’s limitation; a 300 by 300 air brush may or may not work, and it is better to be safe than sorry.  When texturing this air brush, you should choose a texture for the floor that you believe will best serve as the “outdoor” texture for this level; if you need a different texture for an area you can always carve another air brush inside the primary brush.  The ceiling should generally be the sky.  After you believe you have planted your world space for a centralized mission, you need to build your main building(s) Create solid brushes of specific shapes and sizes to prepare a rough draft of your level’s space.  As stated in Tim’s document, try to use Grid Size 14 for this initial stage.  Using any grid size smaller than 14 violates the principle of stepwise refinement, and can cause headaches when you build your interiors.  Try to use basic shapes; if you need to aesthetically improve your buildings later on, you can use air brushes to carve out a façade.  Leaving architectural improvements for later can also assist in keeping polygon counts low and will allow you to focus entirely on optimization when you begin making complex scenes.  A final note: you can leave some room on one side of your building for the outskirts of your mission (for example, streets and other buildings).  By making these outskirts before at least Step Two, Part Three, you could very well be locking yourself into a limited space.

In my limited view, this step is slightly different for progressive missions.  In progressive missions, air brushes must be used to carve corridors inside the world.  Therefore, you should begin with Step Two almost immediately, and consider the solid world to be your main building.

For centralized missions, you will find yourself backtracking into this Step from Step Two.  This is normal; the two steps are related closely and should be integrated.  You may need to jump back to this step when resizing buildings to gain more space, or creating space for a new room if you decide that one is needed.  Compare this to revising an essay; your final draft is based on your rough draft rather than written from scratch.  Portions of Step One are really just a draft for Step Two, and you may have to edit them when you decide on something more final.

Resist the urge to add details or change the grid size.  Details are hard to notice and easily forgotten due to the amount of them per mission, opening the door to the possibility of un-textured architectural quirks.  In addition, details can force you to build in a confined space.

It is not necessary to texture during this Step.  In fact, as I see it, texturing before the end of Step Two is a waste of time, as it breaks stepwise refinement.  As long as no fine details are added, it should be easy to do all the texturing of your rough cut at the end of the second Step.

Step Two (Part One): Design the rooms in buildings
It is now time to make rooms inside your building or buildings, or, for a progressive mission, create the world.  If you are creating a progressive mission, keep in mind that it is best to choose a base plane for your streets and stick with it.  You should attempt to stay relatively close to this plane.  Jumping in height while creating progressive levels makes them, in my opinion, less editable in the visual brush list.  A progressive mission designer’s Step Two (or Step One, for him) is considerably easier than a centralized mission designer, because all his world brushes are the same height.  Effectively, he creates alleys and uses the walls of those alleys in place of buildings.  In one sense, however, making progressive mission worlds is harder than making interiors for centralized missions:  space management.  In centralized missions, most interior space represents rooms with (relatively) thin walls.  In progressive missions, on the other hand, the “interiors” are corridors with large gaps between them.  One city’s design might help you as you build your progressive space.  Remember Manhattan?  All the streets run at right angles to each other.  Building progressive missions in a way such that the world brushes are perpendicular will ensure that when you continue onto Step Three, you have enough space to create niches and other eye candy in the building walls.

For centralized missions, this Step is different, primarily because it often flows back into Step One.  Your task in this Step is very simple: you must create the interiors of your buildings.  Tim’s document details many interesting points on how to build interiors, so I will instead focus on what kind of interiors to build.  Remember that walls should be 3’ thick.  As you create your interior for the building, be it a mansion or a cave, think about the primary functions of the building.  You need to make sure that rooms are big enough to serve the function you want them to serve and that they are shaped the way you want them to be shaped.  If you need to, go back to Step One and change your building’s external form in order to add or remove additional or unnecessary space.  Generally, details should be saved until later; however, there is one notable exception.  As you build unusual constructs, such as overhanging floors, make sure you add any supporting architecture to it, such as wooden beams or columns.  When you add this architecture (make sure that it is indeed supporting the construct in question), you should texture it right away.  Texturing guidelines are detailed in Step Two, Part Two.

When creating rough drafts of stairways, apply the Pythagorean theorem and trigonometric functions.  Use this formula and its transformations or variations to help you:
Ns – number of stairs
h(x,y) – Pythagorean formula of x and y
SWh – stairwell height (selected by designer)
SWw – stairwell width (selected by designer)
STw – stair width (selected by designer).

NOTE: Stair height should be .75

Ns ≈   h(STw, 0.75)
          ------------------ 
          h(SWw, SWh)

In this Step, you should prepare the space for the stairway by creating a solid wedge of the desired height and with.  Even if you are going to make a stairwell without using the wedge, it can be a helpful guide.  When selecting the stairwell height, remember that on average, each stair should be .75’ high.  In Step Three, you will fill in these wedges with actual stairs.  Special stair combinations such as spiral staircases will not be discussed, but you can look at some original Thief missions to see how they were done.

If you really want to do it, you can carve out doorways in this Step, although that is not strictly necessary.  As you build your interior, keep in mind that you’re not finalizing anything yet.  In Tim’s words, “If any of the objects in your rough cut are sized such that they would be difficult to reduce in size, you probably haven’t allowed yourself enough room...”

Think about room brushing.  You will need to room brush quite soon, so try to affirm the general structure of your level into your mind.  Design carefully, not haplessly.  Keep in mind the room brushing tips from one of the DromEd tutorials.

Keep the AI in mind.  As soon as you start inserting AIs, they will be assigned positions to guard and patrol routes, not to mention the ability to chase the player through most of the level.  Try to remember Tim’s info on the actual limitations of AI movement through space.  Remember that as you add details in Step Three, spaces are going to get more “cramped”.

Before you finish, remember that now your large space is clearly defined in a centralized model.  This may be a good time to go back and repeat Step One on the outskirts of your mission.  When you perform following Parts and Steps, you should start with the outskirts and move into the center of your mission.

Step Two (Part Two): Texture your exteriors and interiors
In this Step, you return to the very start of the mission (whether it be the outskirts, for a centralized mission, or the start location, for a progressive mission) and begin your texturing work.  For progressive missions, I would suggest picking your textures with the assumption that a lot of overwriting is going to be happening as you carve details out of the walls of your sky-corridors.  If your mission is centralized, start on the outskirts and apply textures to solids as necessary.  This is also the time to vary the shape of your buildings slightly and texture these shape variations (an action that takes your partly into Step Three).  This may prove useful later when you discover that if you had not done so, you would have had some trouble manipulating textures intuitively.  As you add these variations (such as arches, domes, balconies, and so on), however, ensure that your grid size remains 14, to maintain consistency with the rest of the building.  You should add the finer details in Step Three.  

Use the “default texture” feature (by selecting it in the PnP and using Alt-T -> Put On Brush.  It’ll really save you some headaches when you need to copy similar objects.

When you are done texturing the exterior in your level, you can begin the interior.  My personal advice is that you do the interiors as if you were wallpapering or painting them.  When you plan the textures for the floor, also keep in mind what kind of surfaces you are plotting – hard or soft.  As Tim mentions, you don’t want to leave the player stranded on a hard surface unless there is a specific reason for doing so.

A personal aesthetic tip:  go back over your entire level rough draft and make sure that every, and I mean every single texture makes sense in its context.  Nothing can ruin a well-designed mission more than a few haplessly chosen textures.  The reason for this probably lies at the core design of 3D-game textures.  If a texture is applied incorrectly, it loses its three-dimensionality.  The player’s mind no longer comprehends the texture’s role in the surroundings.  The natural reaction is the same as invoked by a bad painting – the texture becomes flat, boring, or sometimes even utterly revolting.  While you are doing this inspection, I also suggest rotating or aligning any textures gone astray.  If a wooden platform changes its length-to-width ratio in a different direction, the wood texture on that platform should be rotated to match the pattern used on its previous section.  In other words, if a non-uniform texture runs in one direction on a surface, and that surface changes relevant heading, the texture should change heading in the same direction as the surface.

Step Two (Part Three): Room brush the level

Room brushing is an interesting topic, and it has often been approached from a designer standpoint.  In my view, novice designers cannot be expected to understand a generalized explanation of what a room brush is.  Mathematically, room brushes are easily defined:  they are abstract three-dimensional parallelepiped shapes that define the nature of sound playback and propagation for the Dark Engine.  Room brushes have other functions as well, such as defining areas on the automap.  When you room brush, you must follow a set of specific mathematical rules that I will not explain here (since I am not familiar with all of them myself).  This section will instead deal with integrating room brushes into your general architecture.

When beginning to room brush, you need to think about sound.  Generally speaking, every operation brush that represents a room should be room brushed; however, room brushing does not limit itself to actual rooms.  Creating room brush intersections in small spaces can be very important for sound to propagate correctly.  Whenever you want to isolate an area by means of a block of solid, you need to create separate room brushes.  Remember that all room brushes are prisms.  This means that unusually shaped rooms will no doubt be difficult to room brush.  Be wary of room brushes extending far past the floor or ceiling – intersections of room brushes in a horizontal (flat) plane can result in weird effects, and should be used only if you have a crevice for the player to crawl through, such as a well opening.

Room brushing unusual spaces can, as noted elsewhere, take some guts.  Think about some mathematically annoying constructs that get in the way of normal room brushing.  Broadly, any operation brush with its center not in a horizontal or vertical plane is going to take some time and effort to room brush.  The key is to intersect the room brush prisms in such a way that they don’t intrude into one another.  Remember that you can rotate room brushes, too.  If the transition (opening) is between two surfaces that lie in non-parallel planes, you can use a small, banked connector brush that intersects both large brushes.

In a centralized mission, room brushing the outskirts can be tricky.  Do not encapsulate the level into a giant room brush.  Rather, place room brushes around the solid structures in the outskirts and intersect them in the alleys of space between the structures.

Room brushing should be tested as you go along.  However, you have no way to test a room brush configuration if there is nothing to guide you.  Start the player object in the area you want to test and drop a boulder in the room right outside the player’s starting location.  Repeat this process for other rooms – and make any necessary corrections – until you’re sure that you’ve got everything the way you want it.  After completing this trial, you need to return to the beginning for one last time and repeat this trial with an AI.  Give the AI a property that prevents him from harming you.  Since you are working with sound design, now might also be a good time to consider changing soft and hard surfaces around if any of them may harm the gameplay.  

You may need to come back to room brush again during Step Three in case you build smaller openings that could not be constructed with grid size 14.

Step Three:  Add architectural details
Architectural details create a visual mood for the mission.  After this Step, your mission’s space will be finalized, and you will be free to add lighting and objects.  This Step is arguably the most controversial.  It is very easy to tread too lightly in this Step, resulting in a level that seems to have been built correctly, yet in the end turns out bland and boring.  It is also easy to overdo detail insertion, which can cause high polygon counts and cramped spaces that ruin the atmosphere.  Since no other public document explains detail addition, I will attempt to relay my own knowledge to you.  However, before you proceed, ensure that you read the “Gameplay” and “Stealth” sections in Tim’s documents.  You will be utilizing the information presented there extensively throughout this Step.

The aim of adding details is simple: to set the level’s mood and make it more interactive.  There are two main categories f details you will add during the course of level construction: architectural atmosphere and world objects.  Both kinds of details are important to atmosphere, each in its own way.  It is these details that make Thief’s world unique among the countless 3D shooters and adventure games out there.

Architectural design is an art, and most of that art is exhibited in Step Three.  When you made your building exteriors in Step One, you defined a generic shape for your buildings as per your plan.  It’s time to crank grid size down to 12 and begin creating the details.  Assuming you followed Tim’s advice and your sizes are big, round numbers (a side effect of using Grid Size 14), aligning details should be a snap.  Begin by looking at real-world architecture and/or original Thief 1 FMs to examine how different buildings were constructed.  Then, create your building decorations.  Begin with functional details – anything the player will interact with.  Then, move onto atmospheric details – change the shape of your building to be as interesting as possible without overcomplicating it.  As you add these details, examine them closely from in game (preferably with gravity off), taking all the positions from which the player will have access to the scene.  You should ask yourself questions regarding what you see.  Is this a realistic scene?  Will the player find it boring from one of the viewpoints?  Are there any other viewpoints that can be added (by using windows, ledges, and simple raised terrain) to make this more interesting?  Are the functional details useful in helping the player or are they just there, in the way?  Are the atmospheric details successful in achieving their intended effect?  To answer several of these questions may require that others play your rough draft.  Please remember that this is the “no turning back” Step.  It will be very hard to fix any errors in your space design after you have completed it.  Add experimental lighting (using light brushes) to gain the ability to add play-testing AIs to your space and practice running away from them, slipping past them, and fighting them. 

After you have created your architectural space and think you have it the way you want it, you enter the most difficult phase of design.  This phase will integrate with Steps Four and Five, so do not overwork yourself lest you find you have to rid yourself of whatever you produce.  Creating world objects using brushes is similar to adding architecture: it enhances the game world’s atmosphere and it provides the player with interactivity (the principle that distinguishes games from virtual museum tours).  Although I have not mentioned it explicitly prior, you should think about story throughout the creation of your mission (whether the story is yours or someone else’s).  This is where that story becomes important.  As previously, work with the story- or game-relevant details first.  Make sure that each object looks the way it is supposed to look and serves the purpose it is supposed to serve.  Add AIs and experiment with their properties to make them fit the space they are navigating in.  Begin planning AI patrol routes.  When adding objects for atmosphere or effect, try to place them so the shadows they cast from lighting are interesting and provide a realistic tone for the setting you are trying to convey.  Remember that not only the books, scrolls, or even AIs talk to the player about your mission.  The mission itself – its architecture, its sound, its mood – is at least as important (arguably more, since in all missions the majority of the player’s time is spent looking at your space, regardless of the mission’s size or nature) in establishing atmosphere as the aforementioned objects.  

Recall that this is where things get unimaginably complex.  This and the next two Steps are often entangled in a web.  When planning early AI design, think about visibility.  To explain what I mean, I will use concrete examples.  In Lord Bafford’s Manor, there are two “watchtowers” to discourage the player from attempting invasion via the front door.  These archer guards are located at forte points that put them at an advantage against anyone who is between the two towers and attempting to go upstairs.  However, the guards can be easily dispatched from their backs – as long as the player douses the torch inside the tower to prevent the guard in the opposite tower from seeing what he just did.  Right there, in that mission – in that very spot, in fact – is a design flaw that I discovered while playing the Thief demo.  If you get the attention of the three guards at the front gate – even by attacking the guard in the opposite tower with an arrow – they will come running to search for you.  From that point, killing the three guards is a simple matter of patience, because their sound-based search algorithms do not account for elevation – they will search for the player under the watchtower, and each new arrow the player puts into a guard will simply reset the alert timer on him and his brethren, giving the player plenty of opportunity to knock off all three guards.  To avoid such situations, place light brushes in functionally important spots and set them to the brightness that is appropriate for that location, then play-test every visible viewpoint from which the AI can see the player or, more importantly, the player can see the AI.  Ensure that all your objects and architectural details provide for these viewpoints correctly.  Consider extinguishable lights.  Mark points where lights must not be extinguishable with POST_IT markers (special numbered markers with Design Notes on them that I like to use to remind myself of things to do later).  Take any other steps you feel are necessary to ensure that your objects serve their intended purpose.

Step Four:  Lighting
Lighting is an under-discussed subject.  Whereas it may seem that lighting is a natural (and mundane) topic, reality dictates that incorrect lights may severely damage a mission’s polish.  The reason for this is both the aesthetic value of and the many functions served by light in mission design.  Older games, such as Duke Nukem 3D, required the designer to do his own lighting work.  It is important to realize that a texture will look better if lit correctly, and so will architecture.  The lights in a mission must be placed after careful consideration.  Let us review what the psychological effects on the player from different combinations of lighting are.

Load a Thief mission in DromEd and turn on “light_bright”.  Play the mission as if it was built that way.  What effect does it have on you?  When lighting is relatively monotone, it results in a mental reaction that causes the player to believe that all the textures and architecture in the room have equal weight.  This may not seem to be an issue in Thief level design, but how many missions have you seen with boring, unimaginative lighting, or lighting that did nothing to the mission’s atmosphere?  Mono lighting should only be used when you want to emphasize an area or when you need to make a “hot zone” that the player should not be able to easily cross.  

Binary lighting, mentioned in Tim’s document, is one of the most common types of lighting in Thief.  The reason for this is the effect binary lighting creates on a player’s mind and on gameplay.  When there’s a clear distinction between light and shadow, the player knows where he can hide right away.  As for atmosphere, binary lighting removes the ambience effect, and thus reassures the player, since his visibility will drop as soon as he leaves the light.  It is also easier to avoid binary lights.  In a normal situation, the best way to create binary lighting is by placing the light source into a wall or ceiling, which causes a spot light to be generated.

Ambient-radius lighting is also a common type of lighting.  It is useful when you need to light a long hallway and want to make it interesting for the player.  Recall Thief Gold’s “Song of the Caverns”.  The hallway with the arguing male and female stars and patrolling archer provides a good example of ambient-radius lighting.  To create such lighting, simply place light sources close enough to each other so that the edges of their radii intersect.

Pressure lighting is less common.  I use that term to refer to lighting that causes the player to feel tense, such as the casino in “Thieves Guild”.  Consider setting up lighting that will cause the player to flinch and put away his weapon, then surprising him with footsteps.  The effect of pressure lighting (when combined with AI activity) is usually to alert the player.  Do not hesitate to use this effect to liven up a mission.  Creating such lighting usually involves some acrobatics:  you need to put time into deciding where in your space you can put the tense spots, and place lights that affect the radii you want them to affect.  If you would like to leave behind the radial form of standard lighting, use ambient lighting tools such as OmniLightPoints and light brushes.

There are other types of lighting combinations, of course, but for clarity’s sake I will let you discover them on your own.  Instead let us turn to the issue of AI interaction with lighting.  Remember that lighting determines the player’s visibility.  You need to build a lighting system that maintains atmosphere while keeping the player both in sight and seeing.  For this, to your aid come ambient lighting tools.  Light brushes and the slightly more flexible OmniLightPoint and SpotLightPoint provide you with the opportunity to create your own light – whether it be from textures, as an extension to physical light objects, or simply ambience.  You should never abandon the player.  Resist the desire to rely on flares in Thief 2 to provide a path; flares were created to allow players to examine the world more closely (there’s a chance the player didn’t buy any or he doesn’t have any left).  

A nice touch is to add additional sources of lighting for each higher difficulty level.  Or, alternatively, you can change extinguishable sources into non-extinguishable sources.  Simply ensure that you allow the player to solve a lighting problem in accordance with the difficulty level that he is playing.

For your lighting scheme to be effective, you need to try and combine realism (don’t put a burning torch in a cave or a mushroom into a manor unless you have a reason), atmosphere (create shadows that will change boring textures into interesting ones), and gameplay (never leave the player stranded; play on his nerves by changing his visibility as he walks by active spots).  If you are capable of doing this, your mission will undoubtedly rise above those that pay little attention to or disregard meticulous lighting.

Step Five:  Add AIs and script your level
It will be a certain cliché if I were to tell you that Dark’s AI is more advanced than that of any first-person game to date.  Thus it is redundant to convince you of the importance of utilizing that power correctly.  In this section, I will discuss several thoughts on AI not already mentioned or detailed elsewhere.

When placing an AI, be sure you understand its role.  Also, consider balance.  For the easier difficulties, the player has an opportunity to confront an AI.  Keep that in mind as you decide what AI to put where.  As you place AIs, also remember realism.  If you place a guard into a forbidden room, the player has to know why he is there.  Burricks walking around a bedroom might cause some puzzlement as well.  This point is sometimes overlooked, resulting in sometimes amusing but more often simply annoying scenes.  In addition, remember that AIs in Thief are not cookie-cutter products.  Each guard poses a puzzle for the player to solve in addition to helping move the storyline.

Let me digress to the technical side and discuss AI placement in terms of weak and strong points.  Swordsmen are of no use if placed in places where they cannot easily get to the player.  Archers are of no use when confronting players up front – if a player is allowed to kill an archer, he can do so easily.  Keep in mind that groups of AIs, when placed and coordinated correctly, can present very devious traps for the player to overcome.  On the other hand, when AIs are combined incorrectly, they can spoil the gameplay.  Never force the player to play Quake.  Over exaggerated?  Perhaps.  However, if you must force the player into combat, you must also ensure that he believes it was his own fault.  There are some dark ways to do so into which I shall not go.  Some things to keep in mind:  patrolling archers on the ground very rarely, if ever, achieve success; in fact, they are more susceptible to attack, yet they can be effective when placed on a raised ledge where the player has no choice but to run; swordsmen should not be placed in light and left to stand in units unless there are other swordsmen, or, better yet, archers, to support them in case of an attack; slow archers such as spell casters and burricks must take care not to kill their own teammates and should be supported by melee attackers.

When you place an AI in a setting, you receive a set of stock properties.  Thief is a dynamic engine, thanks in part to the efforts of Marc Leblanc.  When you place an AI, it is best to edit its features to suit the puzzle you intend to create with this AI.  Sometimes, it is also helpful to change guard behaviors depending on difficulty level.  Which properties should you change?  One of the first rules to follow when fooling around with creature properties is balance.  If you change the Time Warp value to give the attacker a speed advantage, place a speed potion in the area.  If you give him better vision, create expanses of soft surfaces and dark areas for players to hide in.  If you play with his alertness, allow the player to distract him with noisemakers.  One of the more exciting things to do with properties is create different “moods” for guards and other AIs – angry guards, bored guards, scared servants – was one of the original design goals for the new Thief AI (mostly written by Tom Leonard).  If you create these mood variations, be sure that you find the appropriate place for them and that they are noticeable by the player – a bored guard in an easy-to-pass location won’t do much good for the mission.

Creating AI patrol routes is a task that needs to be preplanned.  Along a patrol route, the player should have the opportunity to run and hide if he sees a guard approaching.  The routes should be carefully designed to cover enough ground in an effective way, yet sloppy enough for the player to be able to surpass any patrolling guards.  Groups of guards walking together in a “train” can be effective, but most likely will not result in anything other than two knockouts instead of one.  Instead of such a combination, it is better to use guards whose patrol routes intersect.  Recall “Assassins”.  At Ramirez’s mansion’s entrance, the patrolling guards create an interesting dead corner.  The player does not know how many guards there are, nor does he know if he will have time to knock out guards at the entrance.  This forces him to consider moss-arrowing the stony ground – his only clue that guards are approaching.  Then, he must douse the torch, which also takes away some of the visual cue.  All this time, the player is kept on his toes as he creeps behind the mansion and the shadows therein.  Such is a way that a simple T intersection can be turned into an AI nightmare.  Place several of these throughout your level, and you will discover that whatever criticism for your artificial intelligence may have existed will be turned into praise.  Such traps are characteristic of Thief’s nature.

Other AIs, such as innocents and fire elementals, merit further discussion.  Innocents exist in the game to add atmosphere, but that is most certainly not the only reason for their existence.  They also exist to alert guards.  If it were not for a feature in Thief I that allows a player to blackjack an innocent even after he begins to flee, then any innocent could scare the hell out of the player, despite the fact that they are unarmed without much work on the designer’s part (remember the golden child in “Life of the Party”?).  Since this is not so for that game, you may need to implement your own innocents, whose alertness is raised before they begin fleeing (a topic discussed in the next paragraph).  Aside from innocents, an interesting subject to examine is the fire elemental.  Fire elementals from Thief I have the ability to light their own way.  Assume that when running from a fire elemental, the player stands no chance unless he can gain a significant head on the creature by twisting his way.  Knowing this, add plenty of turns to areas where escape may be required.  Fire elementals belong to a broader group of non-human AIs, each with his own attributes.  For example, zombies cannot be blackjacked; therefore a design like that of St. Yora in “Return to The Cathedral” may be both frightening (and thus thrilling) and irritating.  A uniting property of non-humans is that most of them do not have schemas with relevant sounds.  With the exception of ApeBeasts, they cannot convey meaningful messages regarding their current state and/or mood to the player.  Keep that in mind when you place these AIs in your level.

No level is complete without the addition of “flee points” that can be used by the AIs to guide their escape.  I do not know the specifics of flee point creation; however, I do know that when you choose where an AI should flee, you should ensure that he flees to a location with other guards.  For this to be possible, try to avoid letting AIs walk into dead-ends without support outside – by the time they reach their flee point, everyone may be knocked out or dead.  Remember that not every guard must flee – certain guards, such as front gate guards, are better off fighting to death since they have no one to flee to.  Test your flee points carefully.  In Thief II, AI flee points are fully developed, and can be relied on.  In Thief I, you may need to do some juggling before you get flee points to work the way you want them to.

Of course, it’s very important to script your AIs.  If it were not for scripted AIs, Thief would be called Hitman: Code 47.  AIs that run for alarms when alerted, AIs that stand ready at the front gate to warn the player, AIs that converse with one another...  There is a whole slew of scripted behaviors that you can utilize in your mission.  This article will not go to any depth in describing how to place these AIs, merely because each AI is different, and explaining how to use different scripted AIs in different settings will take as much space as twice this article.  Simply remember all the concepts mentioned here.

You are almost ready to test your mission.  This is the time to take care of other technicalities (explained elsewhere), such as quest variable creation.  However, before you consider the level finished, there is one last Step you need to perform.

Step Six:  Equip the player (and test the mission in the process, too)
This is something that may seem very unimportant.  However, in the end it is this minor design phase and no other that makes or breaks gameplay.  Before designing a store for the player, you will need to give yourself a lot of everything using the start point and play your level on all three difficulty levels.  What equipment did you use?  Try various playing styles – this will ensure you predict everything.  Avoid the urge to leave game mode to correct mistakes – by now, all major bugs should have been eliminated.  Record on a piece of paper your equipment usage.  Next, take a weighted average as appropriate to your level.  When you get a set of numbers, curve them until you believe the loadout would be fit for the mission.  Your next task will be deciding how much of the equipment should be free.  After eliminating story-relevant equipment, you should be left with peripherals such as flash bombs, gas arrows, and healing potions to distribute between the store and starting equipment.  Place several of each item, as appropriate for your mission, in your player’s starting inventory.  Everything that remains behind will be placed in the store.  After adding special items such as Tips, add up the cost of the items.  Based on your evaluations, create a chart of which players (in terms of style) are likely to buy what on which difficulty level.  Then it’s a matter of distributing items so that the player has the opportunity to buy whatever he needs.  Tease the player – cause him to run out of money the first few times.  It should come naturally, and with the help of mathematics it can be perfected into a nice little touch of realism.

The reason this Step is so vital is because there is nothing in the world that can irritate the player more than running out of equipment when he shouldn’t have to.  I will not provide you with a lecture on power-ups, since everything that applies to other games in that respect applies to Thief as well.  Remember that in Thief the player doesn’t know what he’s getting if it is in a container.  A short synopsis of power-up placement techniques crammed into one word is: balance.  Keep your power-ups balanced with gameplay.  Consider power-up placement an extension of the equipment store.

Testing
You should not need to test your level extensively after completion of the Stepwise Refinement Process; if you’ve read this document, you know that testing along the way is better than testing all at once and discovering a slew of bugs.  The testing you conducted in the last Step was probably the most extensive, and if you’ve carefully planned your design path, should not have turned up many bugs.  After Step Six and another test run, it is time to allow others to test your level.  They should not find many bugs, either; however, any flaws in your storyline design or illogicalities in architecture that may have slipped past you will probably be caught by them.

Conclusion
I hope that this article helped you in some way.  The step-wise refinement method is only one way to do missions; yours may be better.  However, for what a programmer’s opinion is worth, I believe that these Steps can be a great help to you in creating missions that will be both enjoyable and professional.   As mentioned before, this article did not explore overly general or overly specific aspects of level design.   The reader of this article should discover things such as storyline creation, power-up placement, and loot location autonomously.