Last modified on 1 October 2011, at 13:26

Isometric 3D

Revision as of 13:26, 1 October 2011 by MacDeath (Talk | contribs)

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.

  • Mode1 :

In Mode1, the limited set of inks (only 4 ink) need a proper colour management.

The following was certainly the best one, it is probably the technique used in Head Over Heels :

      • Background : can be in 4 colours, it is used for the floor, HUD and backgrounds walls only. You can use a set of 2D tiles with no mask and those can never be "foreground"
      • Sprites and fore-ground elements (objects, doors, platforms...) : they use only 3 colours and the 4th ink is used to get the mask.

Heroquest per example is quite similar.

The floor-tiles and background walls are masked, the "4th colour" (grey, actually ink0) is nearly never used except for the "emptyfloor" or the "Mouse cursor"...

A clever use of the transparency/mask ink on the Floor/Wall tiles could enable to display this backgriound grey on those floor/wall tiles but it wasn't done... which is a serious graphical limitation alongside a poor colours choice.

It is also to notice that the basic floor tiles use only 2 inks (Blue and dark blue) the "light cyan" seen in the jointed floor-tiles being sometimes obtained with the pixels-crossing of pixels from 2 tiles different.


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...


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.


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).


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 or Z axis), and you can jump (Y axis) to get some platformer gameplay.

You can't actually move in diagonals on the horizontal plane (X+Z movement)

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

The backgrounds elements are in "3D" (isometric oriented) and you can't use the Y (3D vertical) axis, therefore you can move on the horizontal plane (X/Z) in 8 directions.

This leads to a strange and odd sensation as the levels are designed in "diagonals" on screen but the player would instinctively move mostly in up/down/left/right 2D fashion (X+Z axis at the same time).

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