Chapter 4 Planning and designing a level This chapter looks at designing a level with BUILD.EXE, the editor supplied on the CD (in \GOODIES\BUILD). 4.1 *Installing BUILD* An awful lot of people are having an awful lot of trouble getting BUILD to run. So here's the beef: * Install Duke3D to your hard drive. * Copy everything from \GOODIES\BUILD into the Duke3D directory (NOT into a subdirectory thereof!). As some people have trouble understanding what I mean (Heaven protect us if they decide to post their first levels ;), here are the DOS commands to use (assuming your CD-ROM is drive E): * CD C:\GAMES\DUKE3D COPY E:\GODIES\BUILD\*.* * Finally, remove all read-only attributes: ATTRIB -R *.* 4.2 *Before starting* I know you're eager to start building the level (why else are you reading this FAQ?), but there are several things you should do before firing up the editor and designing away: Play the game Play the whole Duke Nukem 3D game from start to finish. All three episodes. This will give you lots of ideas on what is possible and what you'd like to do. Look critically at how things happen: doors opening, aliens suddenly appearing, lights changing, gears rotating... View the maps Use the editor to have a close look at the existing maps. How do these doors open? What kinds of tricks were used to work around the limitations of the Build engine? How do people actually do a house - note how all walls are actually build out of one-sided walls. Things like that. Have a theme Please. Don't build yet another red light district with a sleazy bar and some dancers. We've got one already! Try to think of something original and take some time to really think about what you're trying to do: the New York traffic? A nuclear power station? An underwater base? A barren planetoid surface? Also try to think what would fit into the theme and what wouldn't - make a list. A .TXT file with a short story setting the mood and explaining your mission is also nice. Draw a map Take some graph paper and draw the whole map first. Believe me, your level is going to be lots better this way. You'll be able to take your time and think about everything you want to include. Another approach is to just make a rough sketch of the map with a good theme and create everything 'on the fly'. That's the way it usually ends up anyway :), but the map-drawing approach does produce nicer-looking maps. Less is more Zen, yes. Also known as the KISS principle: Keep It Simple, Stupid. Remember that you have lots of tools and tricks to create a map - don't use them all! Don't include, for example, dancers just because you can. Don't use the trip mines in a non-futuristic level. Leave out the security cameras in a medieval castle (time travel theme?). Rather build several levels, each based on one or two ideas. Keep it small Beginners usually make the mistake of designing cyclopian buildings. Massive forecourts, towering walls, huge gloomy halls - all empty. Rather keep the rooms small and full of detail - they will be more interesting and the game will run faster. Time You'll need loads of it. Much more than you think. Especially the shading and testing will take days. Weeks. Have a look at the original levels and see just how much time and care has been spent on them. Don't post a level which is substantially below the niveau of 3DRealms levels - nobody will like it. Data It is said that you should write what you know, and the same applies to level design. If you've never really looked hard at a subway station, don't try to create one. Read this FAQ Don't jump into drawing your level half-way through reading this FAQ - wait until you have a good idea just what is possible with the Build engine. Your first level Face it. Your first level is going to be something you'll be ashamed of after designing your third level. Don't post it. 4.3 Pros and cons of using real-world maps There are lots of levels based on maps of the real world. Maps of your campus (hello, first years!), maps of your dorm, your apartment, your house. The question is, should you use them? 4.3.1 *Advantages* Real-world maps are drawn by professionals (ok, ok, I've also seen houses designed by blind idiots) who know what they are doing. They don't forget to make the outer walls thicker than the inner ones. They don't forget the kitchen or the storage space. The halls are of the right width...in short, the whole map is realistic and believable. Also, it's real quick creating a level from such a map since you don't have to think and design as much. Finally, it's a great way to learn how the editor works as it forces you to implement some things you might otherwise be too lazy to work out. 4.3.2 Disadvantages Such maps are also boring. Believe it or not, but most architects didn't design their block of flats for gun-toting maniacs chasing each other through the corridors. There are too few places to hide and the map typically has a simple, utilitarian look. Scale is a hassle as well. Ever looked real closely at a subway station? It's actually very big and empty. And very boring as a Duke level. So you'll have to scale everything down by quite a lot anyway. Remember that it's great fun for yourself to run through a virtual representation of your house - but others who don't know you might find such a map terribly boring. And the biggest disadvantage of all: you don't think enough about your level. The more time you spend mentally planning your world, the better it will become. 4.4 Using DOOM maps With the Wad2Map program (see further below), it is now possible to convert DOOM maps to Duke3D maps. Do everybody a favour: don't. And here's why: * We've _seen_ the DOOM maps already. * They aren't designed to take advantage of the Build engine. * They aren't designed to work with the new monsters. * It's a heck of a lot of work checking a level after conversion (for example, switches won't work), and it's easy to mess things up and even forget textures (HOM, here we come!). 4.5 Designing the level When designing a level, keep in mind that there is no formula telling you how to build a fun level. Unfortunately, I can't just tell you "Do this and that, and everybody will love your level". But I can give you some tips and pointers. 4.5.1 Level types There are basically four types of levels: 4.5.1.1 *Single player* Single player maps are typically large and intricate, full of detail and clever monster ambush points. They are aimed at people who play them on their own. For example, nearly everybody here in Germany plays in single- player mode, as the telephone rates are simply shocking. 4.5.1.2 Co-op Few levels are actually designed for co-op playing only. If they are, they are larger versions of single-player levels, with a lot more monsters and perhaps the odd trap which can only be passed via teamwork. 4.5.1.3 *DukeMatch* Since the original levels in Duke3D are very very good as both single player and (usually, anyway) co-op, most people create DukeMatch-only maps. These maps are small and fast, concentrating on action instead of the surroundings. This doesn't mean that detail should be overlooked, though. 4.5.1.4 *My room/flat/dorm/house* These levels attempt to copy a real-world place with as much accuracy as possible. They are typically rather boring and only of interest to the people who know the place well. The only use I personally see for such levels is to learn how to use the editor. 4.5.2 Choosing a level type Your new level will usually be one of the above - very few maps suceed at being good at everything. Happily, there's an exception to the rule: JenApt (Jennies Apartment) is an early (and great) level which excels at combining all four level types in one. Created by Jennifer Lynn (fragment@cyberramp.net), it's well worth looking at. Single player levels are easy to do - all you need is a good idea, lots of imagination and plenty of time. If you make the level large enough, you might be able to combine it with a co-op level. DukeMatch levels are surprisingly difficult to create. Not only do tastes differ (by a lot! For example, do I Hide&Snipe or Chase&Blast?), but you have to do a lot of testing to make the level just right. And even then, it'll only be just right for you, and others might not like it at all. See the section on DukeMatch level design below. The 'My very own room in VirtualReality MultiMedia DataHighway CyberSpace (tm)' theme we'll leave to the VisualBasic programmers. 4.5.3 *Random tips and thoughts* ## Feedback needed! In this section, I'd like to simply list tips and tricks to keep in mind while designing a level. 4.5.3.1 *Working with Build* * Build from the outside in. When creating a house, for example, first create a huge bonding sector, containing everything else. You can always resize it later. * Do the rough work first. Build your house (or dungeon, or subway, or whatever) like you would build it in real life: start with the outer walls, add the rough rooms, connect everything up and only then add the details: glass in the windows, different textures, etc. * Save your level a lot. Use the 'save (A)s' option to create several versions of your level. Thus, if an idea goes wrong, you can always return to an earlier version. The more backups you have, the happier you'll be when (not if) BUILD nukes your map. * Beware the bug! BUILD is not perfect and contains some nasty bugs capable of rending your map to pieces. See the section on Build Bugs for more info. * Use F12 to dump the map to disk and print it out. 4.5.3.2 *Do* * Use F7 a lot while playing your map to make sure the scale is all right. Remember that scale is important! Duke levels are usually smaller that their real-world counterparts. * Most sprites are too large when just inserted as they are (especially the buttons). Make sure you scale everything right. * Take it easy on triangle-shaped sectors, the tip can look real bad. * Try to make everything look as realistic as possible: wooden ceilings are usually tilted and are held up with massive beams. Often, corners of rooms (especially large ones) will be held up by stone pillars. And so on. 4.5.3.3 *Don't* * Avoid cliches: do you NEED a shark in every bathtub? Why yet another lizard sitting on a toilet? Should this level really contain strippers? * Please don't overuse the effect of monsters warping in! It's so darn unrealistic! Rather open a hidden door or somesuch, and have the opponents boil out from there. * 3DRealms added lots of in-jokes: the doomed space marine, Indiana Jones, the Terminator, the alien on the toilet... Don't reuse these; nothing worse than an old, tired joke seen for the 100th time. Invent your own! * Don't post half-finished levels to let others see your 'work in progress'. What for? You'll only make a bad name for yourself if you release half-baked levels... 4.5.3.4 *General tips* * Scare the player. Dan Benge came up with the idea of breaking a (single player) level into scenes: lead the player into it (lots of ambience sound), lead him to the climax (octabrain in the face, whatever), reward him afterwards (triumphant music, power up, keys). Tension is very important in a level. * Have plenty of height variations: stairs, lifts, ledges. Force the player to jump, too. * Make players earn bigger and better weapons. Especially, guard the bigger ones well. * If the player falls into nukage, give him a way out (a button to press, stairs...). He should be punished for moving carelessly, yes, but not killed. * Mark secret doors - a lightly darker or mismatched texture (forcing you to look closely) will do. * Keep in mind that players will try _anything_ - if they are crazy enough to try and jump to that ledge, reward them if they make it (and punish them if they don't >:) * Pacing! Keep the player interested. This should also stop you from building mazes, which are plain boring to explore. * The Ending: make it good! When the player finally managed to finish the level, make it worth his while. 4.5.3.5 *Posting your level* When posting your level on the internet or anywhere else, please adhere to the following checklist: o I've read and understood all above thoughts. o My level is as good or better than the original Duke levels. o I have included a .TXT file giving details about the level (your address, if single play is supported, etc). o I'm not going to brag about how very cool and awesome my level is (sheesh, guys, how often have I heard that one? By now I'm not downloading any level with the word 'awesome' in the description as I know that it'll be a waste of time - again). 4.5.4 Typical mistakes to avoid This section contains, in no particular order, common errors which you should avoid: 4.5.4.1 Crossed lines By this I mean bounding lines from the same sector crossing each other. While the game will allow this, it usually looks bad. 4.5.4.2 Overlaying lines Overlaying lines very often leads to mysterious graphics glitches (a door texture suddenly spilling onto the floor is a typical example). Rather place the lines very close to each other (using Grid lock off). 4.5.4.3 Hall Of Mirrors The Hall Of Mirrors (HOM) is caused by a missing texture and is only really possible if BUILD is about to crash or you converted a DOOM map via WAD2MAP. 4.5.4.4 Door side tracks Make sure the side tracks of doors don't move up with the door if building a DOOM-type door. Use [O]. 4.5.4.5 *Unaligned Textures* Aaargh! Unaligned textures are one of the most ugly design errors around, and BUILD makes it so easy to avoid them! Use [.] a lot, and look at all the corners to make sure the textures fit. Even Our Hero Jenny made that mistake in the JenApt map :( 4.5.4.6 Missing Player Starts Make sure there are at least 7 co-op and 7 DukeMatch player starts in your map (the 8th one in each case is the normal player starting point). 4.6 DukeMatch level design The info in this section I've shamelessly swiped from the excellent 'Deathmatch level design guidelines v1.0' from Brian Kidby (thekid@ornews.intel.com). As the basis for this section was aimed at DOOM players, I haven't included as many Duke-specific things as I should. ## Please send me your thoughts and ideas, I'll be expanding this section. 4.6.1 Monster placement Pig cops are useful for supplying ammunition to the player. Since ammunition respawns, the question is if you want your players to fight for their ammo, especially as dead enemies don't always drop anything (it's easy to hack the GAME.CON file for this, though - see lines 1072/2862 and 188 in USER.CON). Other monsters (the leaping chaingunning lizard comes to mind) might give ammo as well, but they usually just distract from the main aim of the game - nuke your opponent! However, the placement of monsters can do a lot to generate the 'feel' for your level - minibosses might keep a large area clear for a long time, as nobody will want to get close to them if they dont have to... 4.6.2 Weapon placement 4.6.2.1 Power weapons Power weapons are defined as the favourite DukeMatch weapons: the chaingun and the rocket launcher. In nearly all DukeMatches I've played, the first priority of the players was to get one of these weapons. The second was to start using it >:) These weapons should be places as far apart as possible. This has three reasons: * Getting the gun Placing the weapons far apart forces the players to cover more ground. Thus they meet more opponents and monsters, possibly trigger traps and learn the layout of the level. * Defending the gun Many DukeMatchers will go to a power weapon and 'sit on it', waiting for the other players to show up. if the weapons are far apart, the players won't see much action during their wait, forcing them to move ot to hunt sooner - much more exciting. * Covering tracks In a new DukeMatch level, players like to keep the locations of the weapons secret for as long as possible. If the weapons are far apart, the chances of being followed are so much smaller. 4.6.2.2 Starting-point weapons Every starting point should have a shotgun next to it, so the players are not completely defenseless at the beginning. This also gives them more confidence to go out looking for bigger toys to use. On the other hand, some people prefere to place the starting points right next to 'normal' weapons - every start point next to a different weapon. This makes respawning interesting, as the kind of weapon available at the beginning (Shrinker vs. Trip bombs, for example) radically changes the style of play. 4.6.3 Ammo placement 4.6.3.1 Amount and location Place small amounts of ammo in high-traffic areas, and larger (not too large!) stashes in secret places. Adding a sniper spot near the bigger stashes makes life a lot more interesting, too. 4.6.3.2 Ammo Quantity Types Easily accessible ammo should be of the 'small quantity' type, eg single pipe bombs instead of pipe bomb boxes, as this eliminates waste when a player picks up more than he can carry. Also, larger amounts of ammo should be strategically placed (see above). 4.6.4 Health placement Rarely does health seem to be a problem in DukeMatch games. Usually, players either die really quickly of a massive lead overdose, or they run and hide, sniping at their opponent. If you do place health around (and I still think you should), do so sparingly, observing the same rules as for ammo. Also, place toilets and water fountains only in high-traffic areas, to avoid players disappearing for a long time to fill up their health slowly (although, if several nice sniper spots are nearby...). 4.6.5 Architectures First off, let me say that level layouts are always a matter of taste. Here are just some things which I like in DukeMatch levels: 4.6.5.1 Large, open areas Fun! Show your aim at long-range pistol shooting, have rocket launcher duels (have you mastered jumping over an approaching rocket?), fight several players at once and have lots of space to move about. 4.6.5.2 Long, wide passages Same as for large areas applies - running towards somebody, dodging his attacks while shooting your own is great fun. 4.6.5.3 Nooks 'n crannies Such areas should not be too large, but it is fun as well: * Hunting somebody through narrow, twisting passages is an adrenaline rush in itself - is he hiding behind this corner? * Lots of nice sniping spots. 4.6.5.4 Balconies, bridges and towers It's always fun watching your opponent walking under you, completely unaware of your presence until you pull the trigger... It's also nice blasting a sprite bridge out from under his feet :) 4.6.5.5 Fortresses At times, players may decide to pay a 'capture the flag' theme, with four players defending a fortress and four others trying to break it (perhaps with the aim of reaching/rescuing the dancer in the middle?). The fort should be well armed and not too large with lots of nice sniper spots (and the odd blastable wall to enable attacks through the back). 4.6.5.6 Obstacles Obstacles (pillars, crates, tables, sprites) are very important in DukeMatch, as they allow you to hide and dodge enemy fire. 4.6.5.7 Sniper spots Sniper spots greatly add to DukeMatch levels. They should always have an escape-route, though, just in case your first shot missed... One-way walls are good for this, but perhaps a bit _too_ easy. 4.7 *Once your level is done* A finished level is far from finished - lots of things remain to be done: Shading Shade your level! See how efficiently 3DRealms used light and shade in their levels? Do the same - carefully shade every single room. Add lamps and (colored) lights. Sunlight streaming through the windows. Shadows behind columns and buildings. Shade plays a major part in how realistic (and thus, how good) a level will look. Doing it well takes ages. Textures Well, we won't see the HOM (Hall Of Mirrors) effect from DOOM anymore. But make sure your textures are aligned. It's so easy to do using Build, please make sure they look alright! Nothing worse than seeing the brick texture break on the edge of a wall, clearly showing it to be fake. Use the [.] key a lot, make sure you know how it works (and save before you do, it crashed a couple of times on me). Also, don't use too many textures - the have to fit your theme and the game runs faster on fewer textures. Details 'All those tiny little details...' The TV in the corner. The discarded bottle on the street. Blood on the walls. The camera turning by just the right amount. The perfect ambience sound in the perfect place. Realism Your map must be totally convincing. As said, shade plays a large part in this, but so does the map itself: are the walls thick enough? Are they too thin? Does that texture belong here? Is it too noticable that this sprite always seem to turn to face you? Should you really use this type of monster here? Testing Lots! Play the level on your own. Play in in coop. DukeMatch it for hours (if you can't play in it for hours, something's wrong). Fine-tune it: is the window at just the right height? Is that elevator positioned in the perfect place? Testing is really important - let your friends play with your level (without you being present) and listen to their comments. Difficulty If you're told that your level is too easy, don't make it more difficult by simply adding lots more monsters! That's a typical newbie mistake - rather place the monsters in better positions and redo the layout a bit. Light Next to shading (see above), the amount of light in a level is important. While a dark, gloomy level can create great atmosphere, keep in mind that few of us enjoy playing in pitch darkness.