Level Design is probably the most important production stage of any game: The environment of a level is what the player directly interacts with -- visually and physically -- and determines what, how, when, and why all of the different elements come together.
This design can hopefully provide the player with an enjoyable and challenging experience. The secondary objective is to do so without frustrating them so much they rip the offending product from their device and fling it out the window, raging at having just wasted $XXX.99 of their grind-earned Gil.
So, fundamentally Level Design is about creating an interactive environment that's entertaining, challenging, and educational (both in the broader sense and within the game itself, as the player will have to learn its own specific history and rules). This includes using the different gameplay mechanics of the world -- such as rope swings, springboards, tile-puzzles, and so-on -- achieve the goal of information conveyance. Similarly, these should guide the player steadily through the overarching narrative and individual stages of the story in a desired order.
There are many ways to accomplish this and they will also be dependent on the type of game being created, but some general guidelines can be applied to most of them:
Approach to Level Design
If you find yourself working on maps and mods - for example, those found in our Skyrim overhaul - approach the design of your levels with a "mash-up" mentality to make them interesting. Fusing one style of environment with another that would otherwise seem incompatible is a good way to create unique, innovative, and dynamic gameplay opportunities.
For example: Take a snow-covered tundra and "mash it" together with a volcanic mountain. So now you have both a fire and ice themed level, with all the effects that these require and would have upon the character's movement and abilities, presenting a mix of potential challenges and obstacles from both types to create for them to negotiate. Make sure your levels stay within the ruleset of physical properties for your universe, though - keep it believable for the rest of the game or RPG.
Basic Top-Down Level Design
Always try to design the level from the top-down. This means you start by first considering the world it is set in, then the particular level itself and how it relates to the world. Followed by the experience you want the player to have (their thoughts, feelings, actions) as they travel through it. And finally, focus on the moment-to-moment gameplay: what order you want things to occur in, what the player has to do to progress from one area (or stage) to the next, and how each of these follows from (or leads to) the other.
Information Conveyance in Game Levels
Ensure that plenty of information is given to the player either through maps, collectible items/artifacts, conversations with NPCs, and even signposts (literally or subtly disguised as part of the environment). This helps build anticipation and makes the objectives more clear.
People will gravitate toward well-lit areas, so use lighting techniques to your advantage (to lure or repel players).
Level Theming and Structure
Give your levels a theme and design them accordingly. Ensure that events, obstacles, and achievement that occur within the level run parallel to the player's overall goals.
Take Disney's resort design as an example; Disney uses four thematic categories when designing a vacation resort: Escape/Survival, Exploration, Education, or Morality. Try using these as a template, especially on more narrative-driven mods/games.
Make the most of your gameplay systems and mechanics by re-using them. Apply them in different environments from the ones they were created for with a slight tweak to their appearance or placement.
It's also important that gameplay be varied as much as possible throughout the level; don't just have one rope-swing after another -- give the player time to recuperate, restock, and explore the environments after bouts of intense action.
Though this does not mean throwing in an arbitrary 'chase' stage full of Quicktime events in a game that has, up to that point, primarily been a "sandbox" style. This only serves to frustrate the player and yank them violently out of their immersion in the game by taking away their control of the character's direction and actions.
Sandbox vs. Alley
Decide if your level will be open or strategically cramped: Levels featured in more open-world "sandbox" style games like Grand Theft Auto or Crackdown are freeform, whereas an "alley" (Dark Souls, Mass Effect) will streamline play and make things more directed.
The two level subtypes can also be mixed-and-matched. For example: one area of the level could be above ground as an "island-type" environment with freedom of exploration and no set path to follow; underground could be caves or dungeons, more claustrophobic "alleys" where the player is guided along a specific, more linear route, to the intended goal.
Map it Out!
Map out your levels on graph paper first, then "whitebox" a 3D prototype using software like Studio Max or Maya to plan the layout of structures and objects. Get a sense of their scale and mark out where your camera placements, enemies, and other elements will be and adjust them as necessary. This helps prevent architectural issues and gameplay problems and can also be used to playtest everything.
You'll probably go through a whole pad of paper before you're happy, especially if there are multiple tiers, and this might require overlaying several sheets to convey the layout and path progression clearly.
Avoid Unnecessary Travel Distance
Avoid making the player walk long distances between locations. Suffering isn't gameplay. Well, not unless you're overburdened in Skyrim and forced to waddle like an infant across the landscape, admiring the scenery as infrequent wolf packs try to savage and eat you.
If travel between locations is necessary, especially to give the player a break between two particularly intense events, then try to give them something to do - or even just to look at.
A short divergence from the path into a cave or clearing with a reward at its end will continue to engage and stimulate the player so the journey doesn't seem long.
You could also vary the mode of transport by introducing vehicles, animals/creatures, powers or technology that allow them to cover more ground in shorter time and in a more interesting fashion (like flying). Alternatively, reveal shortcuts once they've reached their next destination, maybe in the form of a magic portal or teleportation device, so they don't have to travel back over the areas they've just come from (unless required by the story).
Use Elevation Wisely
Try to give the player the sensation of building up (or leading down) to something, even if it's just a 'reveal' of an impressive landscape. Elevation correlates with anticipation, and the feeling of delving or climbing should match the feeling of the impending encounter.
Keep it Fun
If something feels too long or boring, it usually is. Simply shorten whatever area/section of the level you feel is slowing the pace down. Though it might be hard to let go of something you've worked hard to create, you'll appreciate it afterwards when you realize how much it improves the overall gameplay experience.
Eliminate Lazy Level Design
If it looks like a player can go somewhere, they should be able to. It's lazy level design to just put up an invisible wall to prevent a character from reaching or entering another area. Find more visually interesting ways to prevent them from trying to access these so they don't feel cheated, like an impassible pile of rubble that was once a huge statue. To that end, why not give them something to investigate, too?
You only have to create what the player will need to interact with. If the room behind the barricaded door of the Inn is not required by the story for the character to explore, it's not necessary to create it.
So there you have it, all the basic info you need to design a level. Now get the graph paper out and start planning death traps!