Difference between revisions of "Isometric 3D"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Control and Gameplay)
(Control and Gameplay)
Line 107: Line 107:
  
 
**'''3D :''' Pacmania is a complete example of a real '''oblique 3D'''.
 
**'''3D :''' Pacmania is a complete example of a real '''oblique 3D'''.
To move vertically, you need to jump, otherwise the basic 4 directions really stick to the 2 horizontal plane axis', one of them being "diagonal". This is helped by the railroaded aspect of the labyrinth which prevent any Diagonal to be exploited. As a result, you can jump in X and Z axis.
+
To move "vertically" (Y axis), you need to jump (Fire button), otherwise the basic 4 directions really stick to the 2 horizontal plane axis' (X and Z), one of them (Z) being "diagonal" on the screen. This is helped by the railroaded aspect of the labyrinth which prevent any Diagonal move (on the X/Z plane) to be exploited. As a result, you can jump in X and Z axis.
  
 
*'''Isometric :'''
 
*'''Isometric :'''
  
Isometric environment has some issues concerning distances.
+
**Square/Rhombus Grid issues.
a Square's diagonals are longer the its sides.  
+
  
To get a realistic distance/time ratio, you may need to compensate or else the diagonal moves can be exploited.
+
Carré/Losange (F) Quadrat /Raute (D)  Cuadrado/Rombo (E)
  
The same problem happens in 2D games anyway and in all 8 direction planes (square grid).
+
 
 +
most 2D or Isometric environment may have some issues concerning distances.
 +
 
 +
A Square's diagonals is longer the its sides.
 +
 
 +
To get a realistic distance/time ratio (speed), you may need to compensate or else the diagonal moves can be exploited, be it in real time or turn based games.
 +
 
 +
The problem often happens in action 2D games and in many 8-directional games (square grid).
 +
 
 +
****Examples are many Football game (view from above) where running in diagonal often enable to actually run faster than in Horizontal/Vertical on-screen directions (provided the game doesn't lag due to real time multiscrolling issues).
 +
 
 +
****Also strategic/tactical turn based games using "square grid" instead of hexagonal grid... if possible, using the diagonals of the squares is often advantageous movement wise...
 +
 
 +
 
 +
But in isometric the problem can be even more complicated as the 2 diagonals of the "theorically square grid" of the "horizontal plane" (X/Z plane), now a Rhombus/Losange grid, actually have 2 differently sized diagonals.
  
 
Real Isometric 3D environment lead to some diagonal horizontal (X and Z axis) movement problems : the 2 horizontal plane axis (X and Z) are (visually) diagonals... but the joystick does not use its diagonal to move in X/Z axis. So you have to choose whether you use X=left/Right and Z=up/down or  X=up/down and Z= left/Right... (orientation of the joystick to the right or left...)
 
Real Isometric 3D environment lead to some diagonal horizontal (X and Z axis) movement problems : the 2 horizontal plane axis (X and Z) are (visually) diagonals... but the joystick does not use its diagonal to move in X/Z axis. So you have to choose whether you use X=left/Right and Z=up/down or  X=up/down and Z= left/Right... (orientation of the joystick to the right or left...)
Line 122: Line 135:
 
Some isometric games enable you to move horizontally in 8 direction... such engine often don't manage the vertical axis (jump) and are therefore often 2D.
 
Some isometric games enable you to move horizontally in 8 direction... such engine often don't manage the vertical axis (jump) and are therefore often 2D.
  
*'''3D :''' Head over heels example.
+
It is to notice that getting a player go in 8 direction also means that you need a larger set of sprites to display the additionnal movements, which could be heavy RAM-wise, added to an isometric engine.
 +
 
 +
**'''3D :''' Head over heels example.
  
 
You move on the horizontal plan with only 4 directions (X and Z axis), and you can jump (Y axis) to get some platformer gameplay.
 
You move on the horizontal plan with only 4 directions (X and Z axis), and you can jump (Y axis) to get some platformer gameplay.

Revision as of 13:55, 1 October 2011

Projections, courtesy from wikipedia
samples courtesy from www.olivierleborgne.com games :Head Over Heels, Batman, Super Hero, Sweevo’s World et Hydrofool.

This page is intended to complete the Category:Isometric 3D, check the categories at the bottom of this page to get more related links.

It will feature technics in creating Isometric 3D and graphics.


Isometric 3D is a representation of 3D with a total lack of perspective.

The proper concept is actually Parallel Projection, as some games are are sometime using other parallelprojections than isometric.

Pac-Mania for exemple is not really "isometric" but actually "Oblique".

Yet the term Isometric is the most commonly used, as it suit for most of those pseudo 3D games, so we'll use it as a whole, despite sometimes unproperly.


Types of pseudo 3D

The global term is parallel projection.

Used parellel projections are often :

  • Horizontal Oblique projection : Pac-Mania obviously, yet "Beat Them Up" games (like Double dragon or Renegade) or even few "Shoot them Up"s (Mag Max) do use some kind of this.
    • In those case, we can talk about Perspective Cavalière (F) / Kavalierperspektive (D) / Perspectiva caballera (E) (is there en English equivalent) which is a perspective with unchanged 2D vertical and horizontal and a 3rd Axis in oblique. This specific projection enable to keep the 2D gameplay based on vertical and horizontal movement.
    • Backgrounds or graphics in such projection are easily obtained in Mode0 as it need an oblique matrix with a scale of 1vertical for 2 horizontal. Sadly the blocky pixels of Mode0 don't enable to do finely detailed sprites
    • Sadly this kind of projection bring some problems concerning the diagonals and control as we'll see later.


  • Oblique 135°/135°/92° projection :It is some sort of Mode1 isometric. In this, the ratio for the diagonal grid is 1 for 1. This was sometimes used in some Speccy originated games as this enable to put more tiles or elements on the horizontally limited Speccy resolution
    • Example : W*H*B, a modern Bloxorz' Clone on ZXSpectrum.
    • A More CPC oriented example game is probably Frontiers (Zafiro Software (1988)).

Masked Sprites and Elements

A proper isometric render need to get masked sprites so they may appear upon the background.

Also some Elements which are to be put in front of sprites also have to be masked.

A heavy job is needed to define the masks and sprites "priority" so the 3D effect works : the background elements being obscured by the foreground elements.

Shadows

Getting the sprites a shadow is a nice way to ease the player's comprehension of the 3D effect and environment, yet it was rarely used.

Head over Heels is notable because when your Sprite (mostly "Head" who could glide in the air) was in "altitude" you may not easily see were it is actually in the X,Z plane.

Yet putting a vertical shadow was heavier on the CPU and Ram consuming...

Video modes

The square pixels from Mode1 was usually prefered for real Isometric.

Yet games in mode 0 managed well with it or other parallel projections type too.


Some reasons the Mode1 was anyway quite popular :

  • Many isometric games were Speccy Ports.
  • the fine square pixels in mode1 also enable to get fine detailed sprites, while the blockier Mode0 would need those sprites to be bigger in order to manage a proper level of details.

HUD

a problem with Isometric was the need to put HUD in corners of the screen. As a result, it was rarely possible to add extra colours thanks to raster interrupts because the HUD often cross the games windows (horizontally).

Scrollings

Few Isometric games actually included scrollings as an Isometric engine is quite heavy for the system.

A proper scrolled isometric game would need 2 diagonal scrolings and perhaps a vertical scrolling too.

Not the easiest to get.


Yet Pac-Mania is a notable exemple of scrolled parallel projection game, its Oblique projection being more suitable for scrollings as it need only 1 diagonal scrolling and 1 horizontal scrolling.


Pixel Art

Isometric is often used in classic Pixel Art and is emblematic of it as it was the best way to display good looking pseudo 3D FX on old computer 2D systems.

(in opposition to the modern full-real-3D).

Level design

The background elements being obscured by the foreground elements, a proper level design is needed so most crucial elements remain visible.

Yet this can also used to put hidden features and secret passages too.

Control and Gameplay

A Projection based environment can be used as 2D or 3D environment/engine.


  • Horizontal Oblique :

Because it still have some traditional Horizontal and vertical axis, this projection often stick to the up/down and left/right way to move the Player's sprite. as a result, this projection if more than often only cosmetic : the background looks like 3D but the game and the sprites are clearly 2D.

    • 2D : As in most Beat'hem'all like Renegade. Or even some shooters like MagMax. They are indeed 2D games. The vertical axis being only limited to jumps on the X axis (left/right) if available.
    • 3D : Pacmania is a complete example of a real oblique 3D.

To move "vertically" (Y axis), you need to jump (Fire button), otherwise the basic 4 directions really stick to the 2 horizontal plane axis' (X and Z), one of them (Z) being "diagonal" on the screen. This is helped by the railroaded aspect of the labyrinth which prevent any Diagonal move (on the X/Z plane) to be exploited. As a result, you can jump in X and Z axis.

  • Isometric :
    • Square/Rhombus Grid issues.

Carré/Losange (F) Quadrat /Raute (D) Cuadrado/Rombo (E)


most 2D or Isometric environment may have some issues concerning distances.

A Square's diagonals is longer the its sides.

To get a realistic distance/time ratio (speed), you may need to compensate or else the diagonal moves can be exploited, be it in real time or turn based games.

The problem often happens in action 2D games and in many 8-directional games (square grid).

        • Examples are many Football game (view from above) where running in diagonal often enable to actually run faster than in Horizontal/Vertical on-screen directions (provided the game doesn't lag due to real time multiscrolling issues).
        • Also strategic/tactical turn based games using "square grid" instead of hexagonal grid... if possible, using the diagonals of the squares is often advantageous movement wise...


But in isometric the problem can be even more complicated as the 2 diagonals of the "theorically square grid" of the "horizontal plane" (X/Z plane), now a Rhombus/Losange grid, actually have 2 differently sized diagonals.

Real Isometric 3D environment lead to some diagonal horizontal (X and Z axis) movement problems : the 2 horizontal plane axis (X and Z) are (visually) diagonals... but the joystick does not use its diagonal to move in X/Z axis. So you have to choose whether you use X=left/Right and Z=up/down or X=up/down and Z= left/Right... (orientation of the joystick to the right or left...)

Some isometric games enable you to move horizontally in 8 direction... such engine often don't manage the vertical axis (jump) and are therefore often 2D.

It is to notice that getting a player go in 8 direction also means that you need a larger set of sprites to display the additionnal movements, which could be heavy RAM-wise, added to an isometric engine.

    • 3D : Head over heels example.

You move on the horizontal plan with only 4 directions (X and Z axis), and you can jump (Y axis) to get some platformer gameplay.

    • 2D :Gauntlet 3 is some precursor of Diablo-like games.

The backgrounds elements are in 3D but you can't use the Y vertical axis, therefore you can move on the horizontal plane in 8 direction.

But this leads to a strange and odd impression as the levels are designed in diagonals but the player would instinctively move mostly in up/down/left/right 2D fashion.

List of Amstrad "Isometric" and "Oblique" games :

you can visit CPCpowers to get a list thanks to the "3d iso" keyword.

Here are some limited and notable examples

Isometric examples  :

(X and Z axis are oblique/diagonal on screen, Y axis is vertical on screen)

  • Mode1 :
    • Batman
    • Head Over Heels
    • Alien Highway
    • H.A.T.E
    • Hero Quest
    • Black Land
    • Marble Madness
    • Revolution


  • Mode0 :
    • Bactron
    • Chicago 90
    • Crafton & Xunk (Get Dexter)
    • Cubert
    • Desqpotik Design


Horizontal Oblique examples :

(X Axis is horizontal on the screen, Y axis is vertical on the screen, Z axis is oblique/diagonal on the screen)

  • Mode1 :
    • PacMania


  • Mode0 :
    • Ball Breaker
    • Dragon's Lair
    • Paperboy

Various Oblique examples :

(X and Z axis are both oblique but with different angle)

    • Crystal Castles (Diamond Plateaus In Space)


Dimetric examples :

(an even more flatened isometric, ratio is 4x1)

    • Firetrap
    • Pro Skateboard Simulator
    • Zaxx

135x135x90 Oblique

(a narrower isometric, rarely seen on Amstrad CPC, ratio of 1x1, only possible in Mode1 untless you use 1x2 Mode0 pixels)

    • Frontiers

Modern day isometric

Isometric 3D is still used in modern day, mostly to get an old-styled "Pixel Art" flavour.

  • Online MMORPG "Dofus" is notable for it's use of isometric 3D.
  • "Habbo Hotel" is also a well known modern example.


  • Baldur's Gate (and some spinoffs like Planescape Torment) featured perhaps the last great 2D engine ever produced for a Commercial super-production game : the Infinity Engine.

Links

Wikipedia's articles :

Graphical projection

Parallel projection

Isometric projection