Isometric Engines: Are they for you?

      English Doc 2005-2-12 23:40
By Geoff Howland

Isometric engines have gone back into the early years of graphical computer games, made famous by games such as Fairlight and Populous and more recently Diablo. They provide a representation of three dimensions, but with only the work of drawing a bitmap. In this article I'm going to talk about what isometric engines are, how you would use one and why you would need one.

What does isometric mean?

Isometric is a perspective where given 3 lines that are of equal length in 3 axis's their length will appear equal. What these means in simplified terms is that if you have three 1 foot sticks and you place one pointing upwards, one pointing away from you and one pointing directly to your right they will all look the same length from your perspective. Such a perspective would be said to be in a 1:1 ratio because it is as long as it is wide in 2D-pixel format. A rough example of how this might look is shown below.

In computer usage isometric is actually a misnomer. It basically means the same thing but most games do not use a 1:1 ratio. A lot of games use a 2.1:1 ratio because it gives the perspective that the viewer is looking mostly down on the world. This generally looks better than a straight 1:1 ratio, which explains its use.

What is an isometric tiling system?

Often when anyone refers to a game that is using a perspective that is similar to an isometric perspective they will refer to it as an isometric game. There are several ways of drawing 2D tiles that make objects look isometric. The first way is to draw a square tile with images on it that are drawn in an isometric perspective. The second way is to shape tiles in the forms of diamonds and line them up with each other so that they mesh together neatly. An example of this can be seen below.


Looking at the picture you can see that there are diamonds connected together. I colored them vastly differently to help you see that if you look at them in another way they look like squares that you are viewing from above.

This is the effect you produce using an isometric tiling system.

What are the benefits of using an isometric tiling system?

The only reason you would want to use an isometric tiling system is if you want to portray a lot of walls. Walls are simple to display with this kind of tiling system because all you have to do is draw a wall however tall you want it and then display it so that the bottom edge lines up with one of the edges in the diamond isometric tile. There are a lot of tutorials on the Internet that already explain how to do this and if you want further information do a search on "isometric tile game programming" and you should find them without much of a problem.


In the above picture I added a quadrilateral that in perspective looks like a wall. You can also add ceilings, overhangs and just about anything else that pertains to a wall you want fairly simply and easily. This is why this has been one of the preferred methods for doing role playing games (RPGs) because they are usually set in places with a lot of walls, like dungeons.

Isometric tiling system's also allow you to easily sort where your character is behind walls so that you draw the walls over him and it therefore looks like he is farther away. You will still have to sort sprites in the same tile but this is much less complicated than sorting all the sprites and walls at once. In this manner an isometric tiling engine will save you time, if you are using walls.

What are the reasons I should not use an isometric tiling system?

The first and probably most important reason you should not use an isometric tiling system is because it's hard to create tiles that wrap easily in an isometric perspective. When an artist is drawing in a rectangle area he can simply check the boarders and see if it wraps across. With isometric tiles he would have to figure out where in the next tiles opposite edge he would have to connect the pixel. At the same time he will also have to draw the diamond so that it really looks like it’s a square rotated in an isometric perspective. Doing both of these are once is extremely difficult and the graphics usually end up suffering.

If you are only drawing floors that consist of square slabs then you can get away with this. Trying to do grass and other more natural looking images can be very tricky and time consuming.

Isometric engines also are harder to program than square tile engines. You have to do some math to figure out which tiles are drawn where, and how to convert your mouse to the tile that it's over. This can be a bit tricky, and while it may only take you a week or so to complete if you're not gaining much from the tiling then it may be a waste of your time.

So what should I do?

This is really up to how you want your game to look. If you're going to have a lot of walls in your game then an isometric tiling engine is a good way to go. It simplifies drawing them and naturally looks like game has a 3D perspective.

If your game is not using a lot of walls you could just be making your life, and the life of your artist harder than it needs to be and ultimately your graphics will suffer because of the challenges this method requires you to overcome. You can just as easily draw your images so that they look like they are in an isometric perspective.

Either way this is an important decision to make before you start programming your game. I put a good 3 weeks into designing an isometric tiling engine for my current game Force Recon before realizing it was going to only make it harder to work with and make the graphics look worse.
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}