Direction in Isometric Games

Started by
2 comments, last by FLeBlanc 11 years, 6 months ago
I'm a Flash programmer and I wanna make an isometric game.
Every game I see thus far are all 8 or 4-Direction and I'm curious about more.
I know enough about diamond shape and tiles but is it possible to make an isometric game without any restriction.
Like everywhere in the map is possible to go without any tiles.

I don't know if this is true place to ask this and I'm still a beginner with games and more unexperienced with Isometric.
So please go easy on me.
Advertisement
The main reason for the restriction to 4 or 8 directions, at least in a 2D game, is memory usage. Consider that in an isometric 2D game, character sprites are represented as 2D bitmaps, vector images, or whatever. A sprite is a fixed cell of animation data. Due to the isometric viewpoint, mirroring of sprites is less effective than in other formats. It is conceivable that you could mirror the left/right facing frames and (in the case of 8 directions) the up-left/up-right and down-left/down-right facing frames, for an approximately 37% reduction.

Now, consider a character in, say, a typical RPG game. You have a walk animation, an idle animation, an attack animation, a spell-cast animation, a use item animation, and a die animation. (This is kind of a bare minimum; many games will provide alternates for each category.) This adds up to 6 animation sequences per facing direction. Assume 5 frames per animation, in an 8 direction isometric with no mirroring this adds up to 240 frames of animation for a single character. Now, say the sprites are 128x128, with alpha channels. This means that the animation data for one character can take up 15MB of memory. (240 frames x 128 x128 x 4 bytes). Want 16 facing directions? Double it. Want a bigger sprite size, say 256x256? Quadruple it.

It adds up in a hurry. Some games have used 16 or even 32 facing directions. (I think the first Starcraft used 32 if I'm not mistaken) but to do so they had to strictly limit the complexity of their animations and use small unit sizes. Even with compression schemes, the memory usage can balloon in a hurry.

Now, a second read tells me that you actually might be talking more about movement. In which case, yes, it is possible to build a map without tiles and to build a map that isn't restricted to tile based movement. But this ties back to the limitation on the graphics. In a game where you have 8 facing directions for a sprite, it can look weird and surreal to have the character moving in a direction different from his sprite facing. The weirdness is reduced by having more facing directions, but again you run into massive memory usage.

If you are on a platform that supports 3D rendering, it can be massively beneficial to render your characters as 3D models. That way, you have infinite facing directions (changing the facing is as simple as changing the orientation matrix) with no additional memory usage.
Thanks for your answer and sorry for my English and I have a few more questions in mind unsure.png .
Actually it will be a ship and sea based game and ships will just have one animation - sinking -. And despite the fact that I'm doing this in Flash, it will be an Air app so game will be running in desktop.
And what would happen if I make my ships 3D and a hundred ships come together? Will there be any difference If I make them 32-Direction 2D?

Thanks for your answer and sorry for my English and I have a few more questions in mind unsure.png .
Actually it will be a ship and sea based game and ships will just have one animation - sinking -. And despite the fact that I'm doing this in Flash, it will be an Air app so game will be running in desktop.


Ah, well, if you don't have long and many animations, then you could easily have 32 or even 64 facing directions. Even with just 32, you could move them along any vector without much weirdness.



And what would happen if I make my ships 3D and a hundred ships come together? Will there be any difference If I make them 32-Direction 2D?
[/quote]

A big explosion? I dunno. But the sprites would draw much faster than 100 3D ships.

This topic is closed to new replies.

Advertisement