Isometric Object Rendering

Hello,

I’ve recently begun experiementing with rendering tiles isometrically, currently I’m using 128 * 64 tiles however I’m running into some difficulty on how to render objects that span multiple tiles and are larger than 128 * 64, a pattern I’ve noticed is that when the objects width exceeds 192 it begins to become offset from the terrain tiles. I thought prehaps breaking the larger objects down into 128 * 64 tiles but then wouldn’t that requiring rendering the individual tiles in a specific order?

Any tips would be great!

It might be easier to see with a screen shot and some code of how you place your tiles (ie calculate x,y). It might also be good to see your projection matrix.

I’m simply using a nested for loop which contains the following

                  
 int tileX = (j * tileWidth / 2) + (i * tileWidth / 2);
 int tileY = (i * tileHeight / 2) - (j * tileHeight / 2);


and then im drawing the tiles using the tileX and tileY, no matrix is being used.

I’m also curious how I would render sprites, I’ve tried finding articles explaining the process but I can’t seem to wrap my head around it.

This may help, maybe not: http://www.java-gaming.org/topics/drawing-isometric-tiles-inside-a-screen/24922/msg/212780/view.html

Maybe my reply will be disappointing but… the fact they’re called “tiles” lets out the fact that they’re supposed to have a regular size, and match each other in size. In my isometric game I have spent a lot of time into “preparing” tilesets, i.e., once I have the 3D rendered image, cut and split it in tiles so I can then compose it as in a puzzle in the editor.

However, sometimes the big effort is not neccessary. For instance, I have created a layer called “scenery” that is always behind the objects layer (drawn first). another called “roofs” that is painted above (drawn later). It comes in handy for large structures like buildings, rock walls, etc that you know won’t be walked around, and saves you the effort of splitting in tiles.