ID:41153
 
Keywords: design, maps
Quicklinks:
Some people believe that being able to create excellent maps for games isn't something that anyone can really teach you, it just comes naturally. I'm not going to argue whether that's true or not, but I am going to point out that there are numerous tricks that we can apply when drawing maps for games like RPGs, RTSs and even Racing Games.

In this article, I'm going to present a list of common techniques that can be applied to creating maps for games, and explain how to use them.



1) There Are No Straight Lines In Nature

In the real world, you will never visit a cave that has naturally crafted straight lines. It just doesn't happen. In a natural forest, you will never see trees growing in a perfectly straight row. That's not how it works. So why would you create a cave in your game that has rectangular rooms, or create a forest out of lines of trees? When people see something like this, it automatically stands out as wrong to them because they know that it isn't how things happen in nature.

So for these examples, we're going to use trees. The first rule that we want to follow when placing trees is: never place trees in a straight line. Here's an illustration:



The trees on the left were drawn in straight lines. Bad. It doesn't look right, either. It looks like some kind of manicured garden scene where, I suppose, it would be okay to put trees in straight lines like that. But the trees on the right look more like a natural forest. Plus, you don't see the grid. Also notice how the grid seems to disappear on the right side of the screen? That's done by placing trees in a triangular formation that's illustrated here:



However, in some situations you may want to create a full barrier of trees to prevent the player from crossing the line. In a situation like this, the triangle setup doesn't work. So how do you create an impassable line without drawing a line? Just don't make it straight:



Both the left and the right side of this illustration are impassable for a player, but the right side looks much more natural. Still, as a mapper, if you happen to have more than one tree available, you can do even better than this:



To achieve the effect on the right, you need to follow one simple rule. Never allow more than two or three of the same tile to stand next to each other in a row. Diagonals are okay, since you don't see the grid so much with diagonals. But if you let the player see things in rows, then it'll expose the grid, which is bad, because there are no grids in nature.

On a similar note, just because you're in a forest doesn't mean you have to rely on trees to create a barrier for the player. Rocks, elevation changes, fallen logs, vines, and similar natural items can all make effective barriers. Elevation changes are also one of the most common natural barriers you'll encounter, so no one will think it unusual if you have them all over. You don't always have to rely on trees.



2) Put Things Where They Belong

Lets use grass as an example. Grass grows pretty much everywhere as long as there's dirt and water available. Out in the forest where nobody ever travels, you're likely to see a lot of tall grass, because there's never anyone there to disturb it or stop it from growing abundantly. But what about when people are around?

In a village or city, there may be grass, but it probably won't be tall grass since people will either be walking on it or cutting it themselves. If people frequent a location enough they may even kill the grass, leaving nothing but a dirt path to follow.

There are a lot of situations where thinking about how things occur in real life can help you in mapping. You won't find a river running through the desert in real life, so why would you put one there in a game? And where you do find a river, there'll likely be trees and plants growing around it in abundance. You'll not going to find the swamp right next to the desert, or the snowy mountains. So when you design your maps, be logical about where you put things.

And don't put boulders or trees in front of windows. That's just plain annoying.



3) Architectural Guidelines

The best way to come up with good architecture for your maps is to base your ideas on functional environments, whether from real-life places or fictional ones. Try to mimic real-life environments instead of just creating places for things to happen. Also try to keep in mind any realistic challenges that will need to be overcome to create your structures. If you want to create an enormous great hall in a castle, its reasonable to conclude that there will need to be pillars supporting the ceiling. Little touches such as this can greatly improve the level of detail in your maps.

When you add items, characters and decorations, make sure that they fit the environment that they exist in. Decorations should fit the architectural style, characters should be what you'd expect to see in such an environment, and items should be the kind of things that those characters would normally need. Try to give your players the feeling that everything they see on your maps is there for a purpose.

One major pet peeve I have is uniform buildings. That is, you have a castle, and both the left and right side of the castle are identical mirror images. You will rarely see this in real-life, but it drives me nuts because I do it all the time.

In maps where space is limited and you need to cram as much in as possible, try forcing your players to backtrack a bit to get to the next area. This will make the map seem bigger, and will save you the trouble of building additional areas. Just make sure that players don't have to pass through the same area too often, otherwise your map will start to get boring.

Try to tell a story with the environment you create. If you're creating a ruined fortress, try to show how it was destroyed. Was a wall breached somewhere? Did they tunnel in from underneath? Whatever it was, show the results of what happened.

Also, if its available to you, take advantage of sound effects to enhance the feeling of an environment. The sounds of chirping birds or running water can really bring a place to life. Don't believe me? Check out Murder Mansion by SSGX.

One last tip from Hiead: Buildings should not be simple rectangles. Rectangular buildings make your maps look like they're downtown in a big city with endless waffle roads and you don't want that. Paths can easily be broken up into more interesting combinations if you avoid using rectangular buildings. Here's an example of what I'm talking about:



Notice how the building extends to the south on the eastern side. If such a protrusion wasn't there, then both entrances would be flush with each other and it would result in a very boring house. Plus, any pathways leading up to the doors would have to follow a straight line across the house, which looks bad.



4) Some Additional Tips

Explore your own maps. If you find anything wrong with them, fix it immediately. You don't want to find a glitch in your map only to forget about it and then have one of your players inform you again later.

If you want to get better at mapping, make sure that you ask for feedback on your maps. If you want to improve your mapping skills, try to get feedback on what people like in your maps, as well as constructive criticism.

Always make maps that you think will be fun to explore.


(Special thanks to Jmurph, Hiead and The Magic Man for contributing ideas.)
Tip: Have transitions, don't just go from one type of terrain to the next
Quaddw wrote:
Tip: Have transitions, don't just go from one type of terrain to the next

I prefer portals. They save me the trouble of making transitions!
Foomer wrote:
Quaddw wrote:
Tip: Have transitions, don't just go from one type of terrain to the next

I prefer portals. They save me the trouble of making transitions!

Meant like having a rectangular block of water for a pond, rather than rounding it and stuff like that.
One thing I make use of a lot now is randomness.

Don't use a single grass tile for a field of grass. Use several, and have them randomly selected when the world is started.
You can apply this to anything, trees (obviously for trees try to keep them of a similar type of tree) and plants, even human structures (a tiled floor might have some times which are aged and damaged).

Here are a few examples.
http://www.byond.com/members/TheMagicMan/files/grass.PNG
In this one the grass is randomly selected from about 4 different icons. If you put more effort into it you could make use of as many different grass tiles as you want.

http://www.byond.com/members/TheMagicMan/files/cracks.PNG
In this one again the ground is random. The cracks in it are uncommon however (again with more icons you could do more).

http://www.byond.com/members/TheMagicMan/files/displ.PNG
In this one the ground again is random. But so is the objects on display. The 4 stands in the middle are randomly picked from about 8 different ones, the shields, swords and arrows on the tables are randomly picked from a variety of different things. The spear stand at the back is randomly picked and so is the axe hanging on the wall. If you wanted you could make those cabinets at the back random (I did something similar for bookshelves in a library).

Although you don't achieve the same effect as when randomness is used in nature it still works pretty well in human structures.
These are really god article, although the palm trees don't really belong in the fourth picture down.
Okay, no more palm trees.
Another trick similar to The Magic Man's is to turn() the icon on New() randomly (of course, certain icons will have to be a certain directions, but a lot really don't. this is relevant for more than mapping, for example it would be much more realistic if on your Drop() verb you turned the icon (or in this case, dir) randomly, instead of it being put down exactly 'facing south' each time).
In TMM's example, the cracks on the floor would look more natural since the won't all be layered exactly the same on each tile, etc.
Kaioken wrote:
Another trick...

That's true, however, this article was mostly intended for people who are drawing the maps for the game, not the people who are programming the game. Although in a lot of instances this is the same person, for large games it may not be, and someone who's drawing up a map isn't in control of how the programmer sets up tiles to display.

So the mapper doesn't get to specify whether the grass tiles are randomized or not. They just get to put down grass tiles. There's a lot that you can do on the programming end to make things easier for your mappers, though.

In my game, everything auto-joins at startup so you don't have to worry about transitions as Quaddw brought out, since the game does them for you. But if that's not the case, then your mappers need to be mindful of it.
Foomer wrote:
That's true, however, this article was mostly intended for people who are drawing the maps for the game, not the people who are programming the game. Although in a lot of instances this is the same person, for large games it may not be, and someone who's drawing up a map isn't in control of how the programmer sets up tiles to display.

So the mapper doesn't get to specify whether the grass tiles are randomized or not. They just get to put down grass tiles. There's a lot that you can do on the programming end to make things easier for your mappers, though.

In my game, everything auto-joins at startup so you don't have to worry about transitions as Quaddw brought out, since the game does them for you. But if that's not the case, then your mappers need to be mindful of it.

I wasn't actually aiming my trick at anyone actually. Though you could do everything I said by placing everything on the map. The intention was that things (especially in nature) are random, and the best way to represent that is by actually making them random. Though it's not particularly important when it comes to map making it can just be used to add that little bit extra to maps (and random ground tiles are a good way of combating the grid).

It is kind of like sunlight shining through a window, cracks in floors and walls and so on. Though none of them are necessary and not using them wont make a map instantly bad, but using them can add that little big extra to a map. And a lot of these small details can significantly improve how a map looks and feels.
I don't mean to be nitpicky... no, wait... that's not true. Anyway, isn't the proper term "level designing", not "mapping"?
Silicon Viking wrote:
I don't mean to be nitpicky... no, wait... that's not true. Anyway, isn't the proper term "level designing", not "mapping"?

Says who? If you're not designing levels, how can you be level designing? Besides, look up "mapping" in a dictionary. It suits what I'm talking about just fine.

Mapping: The act or process of making a map. Doi!
Foomer wrote:
Says who? If you're not designing levels, how can you be level designing? Besides, look up "mapping" in a dictionary. It suits what I'm talking about just fine.

Mapping: The act or process of making a map. Doi!

Alright! alright! I'm sorry! The Anime crowd uses the term "coder" and "iconner", so I thought that "mapper" was another term they made up.

You are indeed designing a level, by the way.
Silicon Viking wrote:
You are indeed designing a level, by the way.

Not unless you're pointing out the technicality of a map being a "z level". Beyond that, its not a level unless you're doing it for a game that's designed to have levels.

Now stop pointing out issues you have with my terminology.