Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


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.

  • You cannot reply to this topic
2 replies to this topic

#1 BrainWare   Members   -  Reputation: 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


Sponsor:

#2 Aldacron   GDNet+   -  Reputation: 3270

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   -  Reputation:

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.



PARTNERS