• Create Account

## ISO - Depth as TTD/SC2k

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

### #1BrainWare  Members

122
Like
Likes
Like

Posted 29 October 1999 - 07:10 AM

Im looking for Documentation, Sources or well anything that can help me get a MAP constructed like we know from Transport Tycoon Deluxe by Chris Sawyer or some of the bored games like Simcity 2/3k and many other games..

ISO but with Height levels..

I would prefere Docs or such, Else Pascal/Delphi Code, C++ just make it more confusing

Regards
Michael - brainware@cyberjunkie.dk

### #2Aldacron  GDNet+

4334
Like
Likes
Like

Posted 29 October 1999 - 06:16 AM

Sift through some of the links at this site:
http://www.multimania.com/hatti/MrY/isoxeng.html

I remember seeing something there.

### #3 Anonymous Poster_Anonymous Poster_*   Guests

Likes

Posted 29 October 1999 - 07:10 AM

If your engine works by blitting tiles, you can simulate height simply by subtracting (assuming 0,0 is top-left) the desired height from the Y value of the blitted tile. If you want tiles on top of one another, draw from the bottom up. (A linked list here could give you as many layers as you want!). You can handle ramps and other transitions between levels with tiles designed to *look* like they go up and down - artistic coverup, since the isometric projection is only fake 3D. This is pretty much how XCOM seems to do things (IIRC). Your render loop would be something like (in psuedocode):

y = just above the top of the screen;
WorldY,WorldX = screen locations of tiles
x = just to the left of the screen;
W = width of tiles
H = height of tiles
wx = a temporary integer

while (y < ScreenHeight)
if (WorldY MOD 2 = 1) then x=x-(W/2);
while (x < ScreenWidth)
blit basetile[wx,WorldY] to x,y
blit tile ontop of it to x,y-height
etc.
x = x + W
wx = wx + 1
endwhile
y=y+(H/2)
WorldY = WorldY + 1
wx = WorldX;
endwhile

(I hate psuedocode... been using C++ for too long). You'll notice that this is pretty similar to a regular isometric render loop - it merely deducts the Height value from the destination during the blit.

You could also do it by drawing tiles as textured polygons, which would let you have smooth transitions between levels without artistic fudging..... but thats not really practical without using something like Direct3D/OpenGL/LOW resolution screens.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.