gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Beginners > Isometric With Square Tiles

#132514 - biubid_boy - Wed Jun 27, 2007 11:38 am

Hello everyone.
I've decided on making at least a demo using an isometric viewpoint, but I think I might have some problems with the rendering of the isometric tiles with the square tile system on the GBA. The best solution I have been able to think up is to use one layer with all even isometric tiles and another underneath the first with all odd tiles.

eg. (0 means bg0, 1 means bg1)
Code:

/ \ / \ / \
 1   1   1
\ / \ / \ /
0  0   0  0
/ \ / \ / \
 1   1   1
\ / \ / \ /


The problem comes when I need to use elevated isometric tiles. Is there any easy way to utilize elevated isometric tiles without making a sprite for each tile? I would much prefer it if there were some way to do it in hardware (or software) as opposed to having to draw height transition tiles.

Thanks in ADV, (lol @ ADV)
Biubid_boy.

#132540 - Lick - Wed Jun 27, 2007 5:42 pm

You could store a basemap with all the groundtiles. Then with a elevationmap you iterate through the map (starting from the bottom) and manually elevate the tiles by changing the tile-indices accordingly. In this case you can have a lot of elevations. But the downsides are the elvations are always 8px and to make a change in the map you have to rebuild it (with the basemap).

If you have dynamic height elevations and just a few of them, use sprites!

I can't think of anything else.
_________________
http://licklick.wordpress.com

#132541 - wintermute - Wed Jun 27, 2007 5:44 pm

http://sc.tri-bit.com/Implementing_Iso_and_Iso_Hex_Grids_on_Tiled_Systems
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#132567 - ScottLininger - Wed Jun 27, 2007 9:40 pm

Here's a link with a description of how I did it in my isometric engine (with example tile set, etc.)

http://www.rhythmspanker.com/IMPBuilder/

-Scott

#132573 - NeX - Wed Jun 27, 2007 9:52 pm

Isometric looks nice, but it isn't half confusing whether something is far away or above your head!
_________________
Strummer or Drummer?.
Or maybe you would rather play with sand? Sandscape is for you in that case.

#132582 - gauauu - Wed Jun 27, 2007 10:50 pm

Good level design and clever use of shadows eliminates that.

Compare solstice for nes with Snake Rattle n Roll for nes. Both are isometric. The simple shadows of snake rattle n roll generally make it pretty easy to understand where things are. Solstice is a nightmare (though a pretty cool game, nonetheless)

#132611 - tepples - Thu Jun 28, 2007 4:48 am

gauauu wrote:
Compare solstice for nes with Snake Rattle n Roll for nes. Both are isometric. The simple shadows of snake rattle n roll generally make it pretty easy to understand where things are. Solstice is a nightmare (though a pretty cool game, nonetheless)

Fact: Solstice was published by CSG Imagesoft, which became Sony Imagesoft, which became 989 Studios. Moral: Don't try to make a PlayStation game on an NES.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#132679 - Quirky - Thu Jun 28, 2007 5:42 pm

I'd never heard of Solstice before. Looks a lot like Head Over Heels or Batman. Someone did a GBA remake of Batman a few years ago - they used sprites for the in-room objects. Using tile layers is probably too limiting, you can't have "over-under-over" layouts, where your character can walk behind an object while being partially obscured by another, without sprites. Otherwise you're stuck to Tactics Ogre or FFTA style isometrics; low in one corner and high in the opposite one.

#132681 - gauauu - Thu Jun 28, 2007 6:13 pm

It does look really similar. Solstice was a really fun puzzle/adventure game, but the lack of shadows giving perspective really hurt the playability.

It never occurred to me to question technically how they made it. On the nes, not having multiple background layers, I would guess that all the terrain stuff, blocks and whatnot, were all sprites, so, like you suggested, they could layer everything nicely.

#132684 - keldon - Thu Jun 28, 2007 6:29 pm

Well I remember this one isometric ninja game on the Commodore called the last ninja. It was quality, it took all afternoon to get it to load, but once it did I played it right through the night.

#132713 - Quirky - Thu Jun 28, 2007 9:55 pm

Another approach I'd forgotten about: Monster Max on the Game Boy (classic B&W one) is by the same team responsible for the two 8-bit Spectrum games I mentioned earlier. It uses the tile mode as a bitmap and then implements its own isometric sprite and tile engine pixel by pixel.

It wasn't emulated too well on any of the GB emulators I tried it on a couple of years ago. I don't know too much about the old-skool GB hardware, but I assume the problem was due to the timing required for the vram bank switching used in the game to get enough video for the "bitmap". The video glitching seen in emus certainly gave that impression. Perhaps Solstice does something similar within the tile modes?

While spectacular on an 8-bit, I can't help but feel that the same approach on the DS or GBA would be a bit of a cop out, not using all the hardware available to you. The sprite idea seems more elegant, even if it limits the engine to an absolute best 128 blocks per room.