Here are 10 basic golden rules for level design and level designers, it's a little dated now, but most are still relevant today I think.
/01 .you are not the player!
This is the most important, key thing you should remember when building a level. You are not the audience. You are building this level for other people. You need to think about whom this is aimed for, your target audience, and what you want them to experience. You need to pair the game design and its rules with your intended market and think carefully about the environment and the level pacing and atmosphere. Should the levels be short but still fulfill many aspects of the game designs needs, or do they need to teach the player something (in which case, you may need to constrain certain mechanics and the where the player can go). Whatever you do, do not assume the role of the player when you are designing your level.
/02 .it's too hard!
Or, what I also like to call, ‘50% off’. Take whatever you’ve done so far: jumps, platforming, puzzles, enemies (amount and difficulty), and make them all 50% easier. You have to give the player a chance! When you play your level, you are a god within his own kingdom! You know every nook and cranny; you know where every enemy is coming from and what is telling them to do so. You know why, because you told them all why! Players who start your map for the first time are likely to die within the first 30 seconds if you have not thought about this very important rule! Just remember… ‘50% off’.
/03 .don't teach with death!
This is an evil, evil thing that games too often end up doing (Tomb Raider, Prince of Persia and too many FPS games are guilty of this!). It’s okay if the player dies because he makes a mistake, as long as he knows why, and was given fair warning or some indication that he could make a mistake. If, for example, the player is walking across a tiny beam and there is a big drop, the player has had his warning. He saw the drop. If he falls now, it’s his own fault. However, if the player was to come across the same tiny beam without at first seeing the drop and/or the beam itself, it becomes unfair. In this situation, the chances are the player is going to plummet to his death, and although he is now aware of the hazard, should he be penalised for what is really an error in the level design? This can be easily thwarted by the simple use of some lighting and/or simple textures to show a difference between where the crossing beam is and where the holes are. Better yet, remove the hole of death altogether and put it somewhere more friendly and obvious! The same is true for enemies and patterns and lead-ins etc. But, this is specific to level design for now.
/04 .don't lead the player
Wherever possible, I feel it is much better to try and entice the player to his destination. The player should not feel like he is being pushed around a level. This will remove the atmosphere and immersion for the player. You want to try and persuade the player which route to take, while leaving him the option to wander elsewhere if he so wishes, even if it is the wrong direction. This makes the player feel like he’s making the decisions, not the level designer. It's okay if the player is occasionally a little lost (I don’t mean DOOM III’s haven’t-I-seen-this-corridor-150-times-already lost though!).
Essentially, the player is the donkey and you have a carrot. But the stick with which you are holding the carrot should be extendable and retractable, it should swing, and occasionally go completely invisible (but only briefly!).
A bad example I recently noticed of level design constantly pushing the player was during Call of Duty II. There were only a few times during that game that I felt like I was really the person making the level advance. It always felt like the level was happening around me, which to some extent helped in creating that frantic feel of war. However, even some of the gunfights felt that if you weren’t gunning in the right places at the right times the way the designers had intended, you were very often already screwed. That to me is bad design. It shouldn’t be one way or the highway. Player adaptation, curiosity and error should always be considered and planned for.
/05 .make the player feel smart!
Make them feel that they are accomplishing things as often as possible. They don’t have to be big or complicated things, in fact, the opposite is preferable. This could have a lot to do with the difficulty ramp. As the player reaches each new section it gets a little tougher, but because of what the player learnt in the previous sections they are better equipped to deal it. If they can do it without dying, then that is an accomplishment. Make secret areas, but don’t make them too secret. When the player finds them, it will give them a buzz. Distribute weapons, ammo and items sensibly. The player shouldn’t feel too scared to move because they only have one bullet left and the room just around the corner is full of ammo but also surrounded by enemies!
A great technique is to slowly increase the difficulty up to a point that challenges the player, then directly afterwards swarm them with weaker enemies. This should allow the player to totally kick ass for a moment while revelling in besting the difficult part and acts as an intense breather. Complete player satisfaction.
This is not just about enemies though; make sure the player always has something to do and is aware of their goals and objectives at all times. Players needs tasks. Get them to find an item or a place to use an item they've already found. The smaller and more often the player gets to complete these tasks, the more immersed, involved and rewarded they will feel.
/06 .interaction is interesting.
Okay, so pushing a crate into a hole to create a little bridge in a corridor is neither original nor super exciting. However, it does break an otherwise plain and uneventful corridor into an interactive event for the player. This means he has more to do than just pressing forward on his controller, which is never a bad thing!
Whenever you can, try and get the cerebral juices flowing. Obviously, in some games, the design is simple: to create a visceral, non-stop brawling mess. However, generally speaking, most games ask more of the player (or at least should) than aim, shoot and reload (Black, for example). Interaction is a great way of slowing down the pace of a advancing through a level before you swarm the player with beasties! It can be anything from finding a switch to lower a drawbridge to the classic (although archaic) Resident Evil key system. Let the player breath and have to think, even if it is a little laterally at times.
/07 .try and be original.
This covers two things really.
The first is about other games; try not to simply add something that worked from one games level and place it in your own piece for piece! It’s good to be inspired, but instead of carbon copying, try and imagine what more you could do with it. Or better still; ask what they’re doing that works so well. Find the roots at the core of its design and then you can easily branch away. Making something better than the original, albeit inspired by.
The second part of being original is aimed more toward mappers. Please, for the love of all that is good and pure, do not build your house, school, village or anything in that vein as a playable level for anything other than a bit of fun! No-one else will get it, it is highly unlikely to translate into good level design and in general creates noise in a landscape of other people's work. Unless you are willing to say, "Okay, I am going to build my house, but as a level for UT", then don’t bother. If you do it this way, at least you are taking the concept of, your house and filling it with good level design while ignoring what fundamentally makes it your house. You could always add in little details, like pictures from the walls or your couch even. This way you still create the feel of your house, but with the level design as its more important component.
/08 .if it's not fun, f*#k it!
This is a message to your pride. You came up with a great idea for your level, you loved it when you jotted it down, you have planned it meticulously and you’ve been building it for a month now and it’s nearly finished. However, sadly, when you play it, the idea just isn’t quite as cool as you had imagined it would be. Don’t be proud. Know where the flaws lie, and don’t be afraid to snip it or let it go and start again.
/09 .if it ain't broke...
You know the saying and it is very important. I'm not talking about bugs and such. Instead this is about knowing when something is done enough and time to be let go.
We could all spend just one last week tweaking the enemies and the weapons. Maybe even moving around a few corridors cause you're sure that would make all the difference. However, at some point it becomes a retrodden mess and everything becomes too hard to compare anymore. It is better to let it go and move on to your next thing. Yes, you may be a perfectionist but I don't care, especially when in proper development; there is a schedule to keep!
Don't worry, the next map you make will be bigger, better and more awesomer! Don’t get stuck in a rut!
/10 .have fun!
It may be the last rule, but it’s a bloody important one and one that I truly don't think can be overstated!
Level design is a creative processes and should be enjoyable and fun. Sometimes it’s might be a labour, yes… but it should always remain a labour of love; of passion. If that isn’t the case then something is wrong.
Level design should not be a chore. Perhaps you are over-complicating your design, or maybe the way you need to construct your design is altogether too difficult and time consuming. Try and remember to start small and be patient. Sometimes it really is better to let the bad ones die and start anew.