Home » Community » Forums » » Introduction to Isometric Engines
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 Introduction to Isometric Engines
Post Reply 
Very nice article. Love your style.

.lick


 User Rating: 1469   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

I'm not quite understand your formula:

prestep_x = x_off - y_off
prestep_y = (x_off / 2) + (y_off / 2)

Could anybody explain that for me.

thanks in advance!~

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

A piece of squared paper and a pencil will do - trust me


 User Rating: 1710   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

This article is not very well explained. And some times I noticed things that are wrong because they get a little easier to understand when you are actually writing an isometric engine and experimenting with it.

For instance:

We will need to alter the addition of the x and y for every other vertical tile. What this means is if the vertical tile counter is even, we increase the map x when we move down. If the vertical tile counter is odd, we increase the map y when we move down.

This is confusing. You never explained what "vertical tile counter" is. One might thing that it is map y itself, but it is not. It is a temporary variable (starting at zero) that increments at each iteration of the vertical loop.

Start by setting the current screen x and y cords to 8,16. Remember to subtract the block width and height from those cords before you draw the tile.

Don't you mean "16,8" instead of "8,16"? I suppose it is because the 8 is in the middle of a tile height (screen y) and 16 is in the middle of the tile width (screen x) and not the other way around. So it is "16,8."

Now start a loop that draws horizontally. There are 12 tiles that can be drawn across (13 for every other vertical line). Pull the tile to draw from the map.

Actually there are 10 tiles that can be drawn across (11 for every other vertical line), because they are 32 points wide. So 320/32 = 10.

Draw the tile/tiles using the structure method above. Move right 32 pixels, add 1 to the temp map cords, subtract 1 from the temp cords.

"Add 1 to temp map cords then subtract 1"? But then I stay at the same place. Oh, wait. You mean "add 1 to temp map x and subtract 1 from temp map y". Now I get it.

There are more, but I think you get the point, besides this is getting very long.

 User Rating: 1015    Report this Post to a Moderator | Link

Yes, you are very right. But "vertical tile counter", as you said, should start at one, not zero.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Not that it matters a lot but the number 10 has been skipped in the picture IsoImg04.gif , the one that explains the draw-order for the tiles.

Nice piece of work =)

 User Rating: 1077   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

yes, I just found this little bug, you are so careful.
Anyway, it's a great article.
I just found other articles related to isometric engine, it's here:
http://bdn1.borland.com/article/0,1410,22928,00.html.
But I think it's not a good method, it likes the initial level.



 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: