In video games, "isometric" refers to some form of parallel projection where the viewpoint
is rotated slightly to reveal other facets of the game environment than are visible from
a top-down perspective or side view, thereby producing a three-dimensional effect.
The terms "3/4 perspective", "2.5D" and "pseudo-3D" are also commonly used.
With the advent of more powerful graphics systems, "isometric" projection is becoming
less common, instead being replaced by perspective projection.
Overview
In the fields of computer and video games and pixel art, the technique has become popular
because of the ease with which 2D sprite- and tile-based graphics can be made to represent
a 3D gaming environment.
Because parallelly projected objects do not change size as they move about the game field,
there is no need for the computer to scale sprites or do the complex calculations necessary
to simulate visual perspective.
This allowed older 8-bit and 16-bit game systems to portray large 3D areas easily.
And, while the depth confusion problems of parallel projection can sometimes be a problem,
good game design can alleviate this.
Differences with "true" isometric projection The projection commonly used in videogames
deviates slightly from "true" isometric due to the limitations of raster graphics.
Lines in the x and y directions would not follow a neat pixel pattern if drawn in the
required 30° to the horizontal.
While modern computers can eliminate this problem using anti-aliasing, earlier computer
graphics did not support enough colors or possess enough CPU power to accomplish this.
So instead, a 2:1 pixel pattern ratio would be used to draw the x and y axis lines, resulting
in these axes following a 26.565° angle to the horizontal.
Therefore, this form of projection is more accurately described as a variation of dimetric
projection, since only two of the three angles between the axes are equal.
Similar projections The term is often applied to any game with
an overhead – usually fixed – projection that appears at first to be "isometric", including
games that utilize trimetric projection; games that utilize oblique projection; and games
that utilize a combination of perspective projection and a bird's eye view.
Other examples of games that utilize oblique projection include the original SimCity, EarthBound
and Paperboy.
History of isometric video games While the history of computer games saw some
true 3D games as soon as the early 1970s, the first video games to use the distinct
visual style of isometric projection in the meaning described above were arcade games
in the early 1980s.
1980s
The use of isometric graphics in video games began with the appearance of Sega's Zaxxon,
released in January 1982.
It was an isometric shooter that employed scrolling isometric levels where the player
controlled a plane to fly through the levels.
It was also one of the first video games to display shadows.
Another early isometric game was Q*bert, which Warren Davis and Jeff Lee began programming
in April 1982 and released in October/November 1982.
Q*bert showed a static pyramid drawn in an isometric perspective, with the player controlling
a character which could jump around on the pyramid.
The following year in 1983, the isometric platformer arcade game Congo Bongo was released,
running on the same hardware as Zaxxon.
It allowed the player character to move around in bigger isometric levels, including true
three-dimensional climbing and falling.
The same was possible in the 1984 arcade title Marble Madness.
At this time, isometric games were no longer exclusive to the arcade market and also entered
home computers with the release of Ant Attack for the ZX Spectrum in 1983.
The player could now move forward in any direction of the scrolling game, offering complete free
movement rather than fixed to one axis as with Zaxxon.
The views could also be changed around a 90 degrees axis.
The ZX Crash magazine consequently awarded it 100% in the graphics category for this
new technique, known as "Soft Solid 3-D".
A year later the ZX Spectrum saw the release of Knight Lore, which is generally regarded
as a revolutionary title that defined the subsequent genre of isometric adventure games.
Following Knight Lore, many isometric titles were seen on home computers – to an extent
that it once was regarded as being the second most cloned piece of software after WordStar.
Other examples out of those were Highway Encounter, Batman, Head Over Heels and La Abadía del
Crimen.
Isometric perspective was not limited to arcade/adventure games, though; for example, the 1989 strategy
game Populous used isometric perspective.
1990s and beyond Throughout the 1990s some very successful
games like Civilization II, Diablo and Fallout used a fixed isometric perspective.
But with the advent of 3D acceleration on personal computers and gaming consoles, games
previously using a 2D perspective generally started turning to true 3D instead.
This can be seen in the successors to the above games: For instance Civilization IV
and Diablo III both use full 3D; and while Diablo II used a fixed perspective like its
predecessor, it optionally allowed for perspective scaling of the sprites in the distance to
lend it a "pseudo-3D" appearance.
During the 1990s, isometric graphics began being used for role-playing video games on
console systems, particularly tactical role-playing games, many of which still use isometric graphics
today.
The use of isometric grids in RPGs began in the early 1990s, with tactical RPGs such as
the Ogre series.
By the late 1990s, RPGs like Vandal Hearts, Final Fantasy Tactics and Breath of Fire III
were using 3D graphics to create rotatic isometric environments where the player could freely
rotate the camera.
Mapping screen to world coordinates
One of the most common problems with programming games that use isometric projections is the
ability to map between events that happen on the 2d plane of the screen and the actual
location in the isometric space, called world space.
A common example is picking the tile that lies right under the cursor when a user clicks.
One such method is using the same rotation matrices that originally produced our isometric
view in reverse to turn a point in screen coordinates into a point that would lie on
the game board surface before it was rotated.
Then, by dividing the x and y values by the tile width and height and rounding down we
can derive the world-x and y values.
Another way that is less computationally intensive and can have good results if our method is
called on every frame, rests on the assumption that we have a square board that was rotated
by 45 degrees and then squashed by 0.5 vertically as explained above.
We first find the tile clicked on the a virtual grid that is laid on top of our projection
as shown on the diagram, we call it virtual-x and virtual-y.
As we can observe, clicking any tile on the central axis of the board where =, will produce
the same tile value for both world-x and world-y which in our example is 3.
By selecting the tile that lies one position on the right on our virtual grid, we actually
move one tile less on the world-y and one tile more on the world-x.
We can then derive a formula that calculates world-x by taking the virtual-y and adding
the virtual-x from the center of the board.
Like wise we can derive world-y by taking virtual-y and subtracting virtual-x.
These calculations measure virtual-x from the central axis, as shown, so we must subtract
half the board.
An example code in C can look like this:
This method might seem counter intuitive at first since we are taking the coordinates
of a virtual grid rather than the original isometric world and there is no one-to-one
correspondence between virtual tiles and isometric tiles.
A tile on the grid will contain more than one isometric tiles and depending on where
it is clicked it should map to different coordinates.
The key in this method is that the virtual coordinates are taken as floating point numbers
rather than integers.
A virtual-x and y value can be which means the center of the third tile.
In the diagram on the left, we see the 3rd tile on the y in detail.
As we can see, when the virtual-x and y can add up to 4 in which case the world x will
also be 4.
See also Filmation engine
Category:Video games with isometric graphics: listing of isometric video games.
Category:Video games with oblique graphics: listing of oblique video games
References