Basic Concepts: Maps


      Functionality Over Vanity

      Everyone likes a visually appealing game, and by all standards you should expect to have a visually stunning end result. The problem that many map makes run into, especially with deathmatch maps, is vanity. The concepts of themes, base pallettes, and prefabs are all well and dandy but come a dime a dozen. In all reality this should be the art departments concern. Really in my opinion level design is entirely logical thinking while all that flashy crap comes from someone who is not specifically logically motivated but a inductive thinker. Basically the key is to make sure that every room has a purpose.

      The first step is original design. First of all know what you're designing. Deathmatch, CTF, Team/objective based, or Single player. Know what you're intentions are because your objectives are going to change dramatically based on gameplay type. For example the design portions of a single player map consist of puzzles, traps, and challenges. Deathmatch maps may have traps and secrets but the main focuses are controlling your "centers" and giving players reason to follow seperate paths. Team based games, CTF and objective based games already have dead set reasons to follow paths and off shoots. In this case the point is to balance paths, control centers, and prioritize and balance objectives. Also with team games normal concepts go out the window for example fun teamplay maps are loaded with cheap weapons not normally celebrated in deathmatch and camping becomes a legitimate strategy that can be enabled. So basically decide your objectives and design around them. For the rest of this tutorial we'll focus on the simplest objectives of the deathmatch map. The other objectives will be elaborated on in a follow up.

      The first way to put functionality on the top of your list is originality. Originality is hard to distinguish between bad ideas. Original ideas and bad ideas have both never been tried before but for different reasons. One clear cut example of this is the Faces map for UT. If you have anything except distain for that horribly made map then you need to get out of this tutorial right now. You have no hope in the functionality area of mapping. The fundemental flaw with faces is placing spawns behind objectives. Imagine having a center room in a deathmatch with no spawn points or easy paths leading to that point. You have just fundmentally eliminated all function from your center. But to get back on topic any idea, even bad ones, are worth trying once as long as they are original. Now originality is objective so if it's original to you then it's worth trying even if just for the experience. Also if your originality turns out to be a bad idea, then redesigning is another skill to be practiced so don't fret.

      So now that you have your original idea the next thing you need to do is create a pseudocode of your map. No I'm not using that term correctly but I am stressing logical design. Draw the crappiest drawing completely out of scale that you possibly can. Just get your idea down on paper. The less straight lines the better. Draw a side and a top view and any additional view if needed to stress specific places like multilevel towers or rooms that stress high fighting angles like Quake 2's the Edge or Tokay's Towers. Most map makers in recent history have fallen to the endless corridor mistake that was all of Diakatana. Every room needs a function whether you have a specific item to fight over in mind like a rocket launcher pit, or a certain trap or secret, or just a basic center. The main purpose of corridors are to connect centers and rooms with function. Make sure every room has a purpose even if it's just to show off some cool effect or statue that you think is original. Function doesn't have to be clear, in fact subtleties in function add to overall emmersion, just make sure it makes sense to you so that you can try to emulate that idea or emotion to the player when they experience it. This is functionality through design.

      The next step, however it's an ongoing step after initial design, is item placement. The easiest way to add function to a non functional room or hallway is through item placement. For example in a Quake 2 railwar map called The Box an extremely well implemented function was created by adding 2 ramps on either side of a room that lead to a single piece of 2 armor. The first step to item placement is determining your definites. For example having a room with a large pedistal that you have to jump on that holds a railgun. The entire purpose of that room is getting that gun so it's a definite. This is fuctionality through item placement.

      With item placement in the back of your mind now you need to focus on actually mapping your BSP solids. This basically means putting together your walls, stairs, ramps, roofs, obsticles, statues and any other nonmoving prefabs or brushes. Here you're taking your rough design and mapping it to come up with an idea for scale. It's very hard to make maps exactly to scale because games in which humans move at normal human running or walking speed aren't very fun. So walls that you want to peep over will actually be so tall that you have to jump to see over them. Chairs and tables and other real world prefabs that you want to interact with will need adjusted for jump height and how fast you can run around them. For example if you make a realistic sized fridge you can generally jump right on top of it in most games. Also it's not much of an object because allowing for appropriate strafe room, a realistic sized fridge is about as wide as your player. So map out your basic walls and other solids to get a feel for how much leg room and manuverability you want. This is functionality through implementation and then trial and error. Most redesign of your level occurs at this step.

      From here start adding basic entities. This includes ladders, preliminary water without any kind of currents, simple doors and elevators. Ladders and water can add so much game play to otherwise boring rooms that a single ladder can add all the function needed by a single room. This will really help to gauge how much leg room is needed and where to put obsticles and items. Items in water and abover ladders are harder to get than just adding the item on the floor. It's now a struggle to swim there or climb the ladder without being shot in the back.

      At this point we're going to focus back on item placement, obsticles, and then specifics. Now you can run around ingame in your map and find out where you want your items. I have a handy guide to make this part easy. Prioritise! Decide a number of importance for items. I generally use a scale of 3. Priority 3 being crappy weapons, health, and ammo. Prority 2 being heavier weapons or heavy weapons and some items. Priority 3 being big items and big weapons so important you're probobly going to put them behind a trap or in a secret. Another scheme I like 2 use is 5 level. The 5 levels being: 1. Crappy weapons, 2. Health and ammo, 3. Medium weapons, 4. Armor, 5. Big weapons. Decide what items and weapons you want to leave out. Decide if you want health or armor to be scarce or plentiful. Decide if you want one specific weapon to not have any ammo pickups to limit use. Once you know how important an item is you'll know how many obsticles to put in the way. A low importance item can be lying in hall ways or next to spawns. A high importance item you need to design a trap around. Medium importance you can just put on top of a box that you simply need to jump twice to get. This is where you'll find out which rooms are your centers. You can purposefully design a room to be a center but until you start item placement and especially spawn placement you'll never know where most of the fighting will occur. This is functionality through observation and revision.

      Also at this stage along side your obsticles and traps, start to map out your specific "real life" prefabs like computers and cars. One of the easiest way to reduce function from a map is to put prefabs in just for the sake of having a prefab and not based on function. Also and this is extremely important do not, and I repeat do not, limit players from interacting with these prefabs. You'll have to do a lot of trouble shooting but few things add to playability than unpredicted mobility. If someone figurs out a way to jump on top of a doorknob, get on top of the fridge, swing on the chandaleir and then start camping on top of the book case then more power to them. If your map is fun enough for someone to waste the time to try then you've done something right. Also as annoying as it is to get clipped on small edges between doors and pillars, another easy way to ruin functionality is through adding invisible walls to prevent exploring. Remember part of functionality is through immersion into the level. Make it feel tangible. If you add invisible walls to keep people out then it's like approaching a kid in the lost forest who says "press 'a' 'b' 'start' and 'select' at the same time". Even though what the player finds may be called a glitch, it's still less professional to forcibly implement rules through cheesey and self satirical "invisible wall." Basically your purposefully breaking the fourth barrier and that adds no play value exept maybe as a joke. I describe thise best as functionality through letting the physics engine take care of itself.

      Remember that everything you do has a hero and a villain to struggle against. In mapping you are the hero. What you're fighting against is the limitations of the engine. IT IS NOT YOU AGAINST THE PLAYER. So hindering the player is a no no. Instead you're focusing on expanding the user's possibilities through level design. Think of it this way. The programmer added the sub routines and the code that allow a door to swing open however there is no door for the player to swing open until you as the map maker put it there. So once again it is you versus the engine to expand playibility not you versus the player to constrict tangible exploration. Another way to emphasize this is by saying this. The programmers create fun game play. The ammount of gameplay however that the programmer has the ability to create is limited to the ammount of fun you can have fighting an end boss in an open field using a "give all" cheat. Even adding a single set of stairs expands playabilty well beyond the control of the programmers. So as a mapper your goal is to create a tangible and explorable environment for the game engine to prove itself in. The best example of this is in Goldeneye for N64 which had little to no lighting affects. Instead of implementing lighting, mappers with the art department just used darker textures where they wanted it to apear to have less light. As a mapper you should allow the physics engine and graphics engineto take care of themselves and not babysit them. This does not mean that you shouldn't trouble shoot and add invisible walls when absolutely neccisary to prevent getting stuck, but you should keep all nooks and crannies explorable and allow the game engine to decide how far you can jump instead of forcing your boxes to be too far apart or too tall. Does the bunny hop or the double jump make sense? No. Is it preventable through mapping? Yes. Does that mean that either aren't any fun? No! For the last rule add functionality by just letting the game engine take care of it's own functionality.

      After you know you have a fun, original, and immersive map then you can add all the fancy shmancy lighting and texturing to your hearts content. Just make sure that functionality is part of your design before you even start to worry about pointless concepts like vanity.