Level design for a TDS

Level Design is one of the most important parts of your game. It takes all the different parts of your game and puts them together where the player will see them. Here is some advice on level design. While it is primarily for a top down shooter (TDS), many of the tips are fairly general. This also applies mostly for single player maps.

The first step
If you want to make a good level, first think of an idea and toss it around inside your head. Many good levels have a central gimmick, which can range from a level with lots of slippery mud areas, to one with lots of portals, or one with many traps. Alternatively you could have a central theme or setting, like a jungle level, or one on a spaceship. Just be sure to keep in mind your limitations!

Another thing is trying to combine two totally different themes. A sewer on a spaceship would make for interesting null gravity fights. Thinking along these lines can produce good and original results.

Planning it out
Now that you have an idea, it's time to get to work. Start thinking of how you will program unique things, and make some sketches of how the level work. This step isn't really mandatory, sometimes you can get away with hopping into the room editor, but it's a good idea to organize your thoughts first.

Blocking it in
This next step depends on how you're going to do the graphics. If you will have plain old walls with tile sets on top, design the level with just walls, no tiles. The point is to block in the entire level's terrain and walls, not always with graphical priority. Keep in mind checkpoints, enemy locations, and other features while you do this.

Enemies
Now that you have the structure of the level down, put in the enemies. Keep in mind their AI and abilities, and place them strategically.

Everything Else
Now you can fill in the gaps. Put in health and ammo pickups, portals, giant spinning blades, whatever.

Freshness
Remember not to put all the features of your game in one level! Not only will all the levels have the same things inside them, the player will be bombarded with many features before they can figure out how to play with them. This also affects difficulty and pace; add features to increase the player's desire to continue or to introduce a new design element (e.g. melee combat for dealing with locked doors). The same applies to themes; try to vary themes as the game progresses, but also add new design elements to make them unique and interesting.

Breaks
Don't always keep up a steady stream of enemies. The surprise will quickly wear off, and a sense boredom will set in; break up the action by providing puzzles, exploration or just periods where no action takes place. This serves as an anit-climax, and makes any following action increasingly tense.

Speed
Large levels can quickly get bogged down. Remember to optimize everything you can. Don't draw things the player can't see, etc... More on this can be found in this helpful article: Speed games up