# How to render axometric/isometric tiles that are a 2d array in logic, but inclined 45º visually?

I am making a tile-based strategy game which i plan to have 2.5D visuals in an axometric/isometric fashion.

Right now i'm programming it's logic and rendering it as a literal 2-dimensional array (perfect squares, like an isometric top-down-view).

In short, i have something like this:

And i want to turn it to something like this:

Do i keep going on the 2d-array logic?

Is it all just a change in rendering behavior, as i'm thinking it is? or 2d-array is the wrong approach for my objective and I should change before it's too late?

What are the ways of doing it, anyways? How should i apply the 2.5D axometric/isometric view (45º rotation to the side, and 45º rotation upwards)?

• See @JohnMcDonald's answer to this question as he sums it up well. Essentially, yes, it's just a change in rendering behavior.
– House
May 31 '12 at 21:25
• Thanks very much, @Byte56. This is exactly what I was wanting. Bad thing the question's title there is on collision detection; It made me skip it when I searched for previous question's solutions. May 31 '12 at 22:59
• Well I think your question has created the link that future visitors may need then :).
– House
May 31 '12 at 23:01

Yes, that's exactly what you should do! Only a few days ago I answered another guy, suggesting him such logic here: Free movement in a tile-based isometric game

This is a simple MVC approach. Keep your model and controller simple, every 3D game with objects on flat surface with same height and on same height is really 2D underneath it's view.

• MVC is a burden for such a simple case, it's not even suitable for development of non-web applications. -1 May 28 '16 at 13:14
• I'm not suggesting using a MVC framework, just dividing different layers of the app. Where did you get the idea that MVC is only for web? Thanks for giving the reason for -1. May 29 '16 at 14:26

A good example with pictures using libgdx was provided in libgdx's blog Isometric Tilemap Rendering with libgdx

Yes, isometric maps are just rendered differently. For the game logic it makes no difference what kind of angle the coordinates have.

Isometric rendering is similar to the rendering of square tiles, the difference is just how the tiles are aligned (how the drawing position is calculated).

Instead of drawing tile x,y at

x*tileWidth, y*tileHeight


they are drawn at

tileWidth/2*x+tileHeight/2*y, tileWidth/2*x+tileHeight/2*y