Java 2d(2.5?)Isometric tutorials for a newbie

I’m looking for tutorials about isometric(diablo1 like) map drawing, i’ve searched inside the forum, some things are missing(too old threads and links poiting to nothing) and other are just too complex for me.

I need to draw a plain isometric map, no shadows or anything just the floor.
Maybe something more after this(like showing character on the center of the screen e show only a portion of the map and highlight a cel selected with the mouse) but first i need to understand how to draw an isometric map.

JonJava has put his head into this stuff. He even did it with java 2D. The Isometric stuff he does is pretty good:

http://www.java-gaming.org/topics/drawing-isometric-tiles-inside-a-screen/24922/msg/212780/view.html

i’ve seen it but i’m still stuck at drawing an isometric tile starting from an image(rotate, scale and draw it)… any suggestion?

The method that I use doesn’t rotate anything, the isometric tiles are already drawn with an isometric look. I only place them in the correct order so they all fit together. If you’re rotating the map 45 degrees when drawing then you shouldn’t need to worry yourself about the projection (since they’re all already drawn in their correct places with each other).

If you’re going to rotate the whole map you might consider taking a look at an excellent post made by theagentd: http://www.java-gaming.org/topics/rendering-tiles-fast-isometric-too/25292/view

It uses OpenGL, however, since you’re rotating and scaling the whole image to get the isometric look you might not be able to do it with simple java2D, or at least not as fast.

The source for my isoapplet thing is available: http://jonjavaweb.orgfree.com/IsoWorldSource.zip
(added easier to notice link to it in the post) WARNING: source code is messy.

Yes, i know but i suppose would be much easier to edit the tile and then let the program rotate and scale them for me.

[quote]If you’re rotating the map 45 degrees when drawing then you shouldn’t need to worry yourself about the projection (since they’re all already drawn in their correct places with each other).
[/quote]
What do you mean? i mean actually i dont have an isometric map it’s just a 45 degrees rotated map…

Well fundamentally the data that represents a normal map and an isometric map is 100% exactly the same. It’s only the projection (how it looks on the screen) that is different.

So, yes, you do actually have an isometric map when you rotate it 45 degrees, although a more traditional look would also to scale its height by half (½) after you’ve rotated it 45 degrees.

So i just need to give to my tile a diamond look, right?

You could also just rotate the tile by 45 degrees and then scale it 0.5 times in height. Which would also give you a isometric look for your tile…

But that would make everything look very stretched and rotated… It would look bad…

Just draw your tiles like diamonds and everything will be fine :slight_smile:

well i’ve done some tries and i must admid that this way would be much much easy and fast programming-wise.