user1035910
user1035910

Reputation: 125

Whats the best way to implement and design walls in an isometric tile game?

The game I am thinking about where this solution would be applied, is a game where tiles can be changed, sort of an editor. You are going to need to make graphics for 2 types of walls: west facing and east facing or north/west.

There seems to be 2 approaches to having walls in an isometric tile game:

Example drawing

The second method seems to be the easiest way to do it. Since the wall takes up the entire tile, you need not to worry about overlap into the floortile and having to design patterns around that. You do get another problem though if you want to make patterns in a different size than the grid. Like if you want to have rather slim walls. Your grid will then also need to be larger. On the plus side only 1 wall piece is needed.

The first aproach requires some code to detect the variation off wall to draw and might look a little odd unless the floor tiles are designed around it. It also requires at least 4 pieces.

Which method is the prefered way to go about this and why?

Upvotes: 11

Views: 2977

Answers (2)

Thomas
Thomas

Reputation: 182000

I would go with the second option, having the wall take up a tile of its own. This is easiest to implement and requires less work on the artist's part.

If you're worried about the ability to do thin walls, just ensure that your tile size is small enough. Your game's tiles don't need to follow the pattern that is drawn on the floor, e.g. a real-life floor tile could consist of 2x2 game tiles.

Upvotes: 1

Zoltán Haindrich
Zoltán Haindrich

Reputation: 1808

i would recommend to start rendering with the farthest objects and finish with the closest - this way you can get a simple invariant: objects positioned nearer to the camera can cover farther placed objects (as in real life)

alternative: you could use slight differences in the 'Z' coordinate of the objects to let the depthbuffer do the trick -- if you use depthbuffer, the rendering order is irrelevant, but it is desirable to start with the nearest - this way the rendered texelcount can be lower

Upvotes: 1

Related Questions