Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I represent 3D world space with 2D tiles? I do not mean isometric, which is visually represent 3D objects in 2D space.

Let's say there's some height map, and each 2D tile (X, Y) represents a coordinate on the top of the map - so the Y is generated automatically, X stays the same and the tile's Y is the 3D Z component. Is it the right way to transform 2D coordinate to a 3D coordinate (again, on top of the terrain)?

Also - is it possible to implement water effect this way?

I'd like to read any articles/tutorials/opinions on this subject and how to implement it.


share|improve this question
Could you try rephrasing the question? It's not making any sense to me. – CiscoIPPhone Nov 7 '10 at 22:42
Cisco, I think what the OP means is: how can I take the x and y of a point on a heightmap to mean the x and z coordinates? Which is sort of what a heightmap already does. – The Communist Duck Nov 9 '10 at 13:47
up vote 7 down vote accepted

In order to represent 3d data, you need 3 coordinates (x,y,z). There's no way around that.

If you are using a heightmap, let's say, like this one:


Then you are already using 3 coordinates. x and y are the coordinates of each tile, and z is the number inside the tile.

share|improve this answer
Yep, don't think there's any more to it than this. Nicely explained. – Christopher Horenstein Nov 9 '10 at 0:10

I think the best solution for you would to be to make a 3D evironment and have a fixed camera, somewhat similar to Starcraft 2. Where they have actual 3D models and terrain, water, etc. Just that you use a fixed camera angle. There are many pre made 3D engines available to buy, and you can customise the camera to stay fixed.

Trying to implement 3D visuals into a 2D game will probably just be far too much work when there's a simple solution already available :)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.