Isometric video game graphics



Isometric video game graphics are graphics employed in video games and pixel art that use a parallel projection, but which angle the viewpoint to reveal facets of the environment that would otherwise not be visible from a top-down perspective or side view, thereby producing a three-dimensional (3D) effect. Despite the name, isometric computer graphics are not necessarily truly isometric&mdash;i.e., the $x$, $y$, and $z$ axes are not necessarily oriented 120° to each other. Instead, a variety of angles are used, with dimetric projection and a 2:1 pixel ratio being the most common. The terms "3/4 perspective", "3/4 view", "2.5D", and "pseudo 3D" are also sometimes used, although these terms can bear slightly different meanings in other contexts.

Once common, isometric projection became less so with the advent of more powerful 3D graphics systems, and as video games began to focus more on action and individual characters. However, video games using isometric projection&mdash;especially computer role-playing games&mdash;have seen a resurgence in recent years within the indie gaming scene.

Advantages
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 3D gaming environments. Because parallelly projected objects do not change in size as they move about an area, there is no need for the computer to scale sprites or do the complex calculations necessary to simulate visual perspective. This allowed 8-bit and 16-bit game systems (and, more recently, handheld and mobile systems) to portray large game areas quickly and easily. And, while the depth confusion problems of parallel projection can sometimes be a problem, good game and level design can alleviate this.

Further, though not limited strictly to isometric video game graphics, pre-rendered 2D graphics can possess a higher fidelity and use more advanced graphical techniques than may be possible on commonly available computer hardware, even with 3D hardware acceleration. Similarly to modern CGI used in motion pictures, graphics can be rendered one time on a powerful super computer or render farm, and then displayed many times on less powerful consumer hardware, such as on television sets, tablet computers and smartphones. This means that static pre-rendered isometric graphics often look better compared to their contemporary real-time-rendered counterparts, and may age better over time compared to their peers. However, this advantage may be less pronounced today than it was in the past, as developments in graphical technology equalize or produce diminishing returns, and current levels of graphical fidelity become "good enough" for many people.

Lastly, there are also gameplay advantages to using an isometric or near-isometric perspective in video games. For instance, compared to a purely top-down game, they add a third dimension, opening up new avenues for aiming and platforming. Secondly, compared to a first- or third-person video game, they allow you to more easily field and control a large number of units, such as a full party of characters in a computer role-playing game, or an army of minions in a real-time strategy game. Further, they may alleviate situations where a player may become distracted from a game's core mechanics by having to constantly manage an unwieldy 3D camera. I.e., the player can focus on playing the game itself, and not on manipulating the game's camera.

In the present day, rather than being purely a source of nostalgia, the revival of isometric projection is the result of real, tangible design benefits.

Disadvantages
Some disadvantages of pre-rendered isometric graphics are that, as display resolutions and display aspect ratios continue to evolve, static 2D images need to be re-rendered each time in order to keep pace, or potentially suffer from the effects of pixelation and require anti-aliasing. Re-rendering a game's graphics is not always possible, however; as was the case in 2012, when Beamdog remade BioWare's Baldur's Gate (1998). Beamdog were lacking the original developers' creative art assets (the original data was lost in a flood ) and opted for simple 2D graphics scaling with "smoothing", without re-rendering the game's sprites. The results were a certain "fuzziness", or lack of "crispness", compared to the original game's graphics. This does not affect real-time rendered polygonal isometric video games, however, as changing their display resolutions or aspect ratios is trivial, in comparison.

Differences from "true" isometric projection
The projection commonly used in video games deviates slightly from "true" isometric due to the limitations of raster graphics. Lines in the $arctan(sin(45°))$ and $arctan(sin(≈35.264°))$ 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. Instead, a 2:1 pixel pattern ratio would be used to draw the $arctan(sin(arctan(sin(45°))))$ and $arctan(sin(30°))$ axis lines, resulting in these axes following a ≈26.565° ($x$) angle to the horizontal. (Game systems that do not use square pixels could, however, yield different angles, including "true" isometric.) 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 to each other, i.e., $y$.

History of isometric video games
Some three-dimensional games were released as early as the 1970s, but 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 Data East's DECO Cassette System arcade game Treasure Island, released in Japan in September 1981, but it was not released internationally until June 1982. The first isometric game to be released internationally was Sega's Zaxxon, which was significantly more popular and influential; it was released in Japan in December 1981 and internationally in April 1982. Zaxxon is an isometric shooter where the player flies a space plane through scrolling levels. It is also one of the first video games to display shadows.

Another early isometric game is Q*bert. Warren Davis and Jeff Lee began programming the concept around April 1982. The game's production began in the summer and then released in October or November 1982. Q*bert shows a static pyramid in an isometric perspective, with the player controlling a character which can jump around on the pyramid.

In February 1983, the isometric platform game arcade game Congo Bongo was released, running on the same hardware as Zaxxon. It allows the player character to traverse non-scrolling isometric levels, including three-dimensional climbing and falling. The same is possible in the arcade title Marble Madness, released in 1984.

In 1983, isometric games were no longer exclusive to the arcade market and also entered home computers, with the release of Blue Max for the Atari 8-bit computers and Ant Attack for the ZX Spectrum. In Ant Attack, the player can move forward in any direction of the scrolling game, offering complete free movement rather than fixed to one axis as with Zaxxon. The views can also be changed around a 90 degrees axis. The ZX Spectrum magazine, Crash, consequently awarded it 100% in the graphics category for this new technique, known as "Soft Solid 3-D".

A year later, the ZX Spectrum game Knight Lore was released. It was 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, according to researcher Jan Krikke. Other examples out of those were Highway Encounter (1985), Batman (1986), Head Over Heels (1987) and La Abadía del Crimen (1987). Isometric perspective was not limited to arcade/adventure games, though; for example, the 1989 strategy game Populous used isometric perspective.

1990s
Throughout the 1990s several successful games such as Syndicate (1993), SimCity 2000 (1994), Civilization II (1996), X-COM (1994), and Diablo (1996) 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 switching to true 3D (and perspective projection) instead. This can be seen in the successors to the above games: for instance SimCity (2013), Civilization VI (2016), XCOM: Enemy Unknown (2012) and Diablo III (2012) all use 3D polygonal graphics; and while Diablo II (2000) used fixed-perspective 2D perspective like its predecessor, it optionally allowed for perspective scaling of the sprites in the distance to lend it a "pseudo-3D" appearance.

Also during the 1990s, isometric graphics began being used for Japanese role-playing video games (JRPGs) on console systems, particularly tactical role-playing games, many of which still use isometric graphics today. Examples include Front Mission (1995), Tactics Ogre (1995) and Final Fantasy Tactics (1997)&mdash;the latter of which used 3D graphics to create an environment where the player could freely rotate the camera. Other titles such as Vandal Hearts (1996) and Breath of Fire III (1997) carefully emulated an isometric or parallel view, but actually used perspective projection.

Isometric, or similar, perspectives become popular in role-playing video games, such as Fallout and Baldur's Gate. In some cases, these role-playing games became defined by their isometric perspective, which allows larger scale battles.

2010s
Isometric projection has seen continued relevance in the new millennium with the release of several newly-crowdfunded role-playing games on Kickstarter. These include the Shadowrun Returns series (2013-2015) by Harebrained Schemes; the Pillars of Eternity series (2015-2018) and Tyranny (2016) by Obsidian Entertainment; and Torment: Tides of Numenera (2017) by inXile Entertainment. Both Obsidian Entertainment and inXile Entertainment have employed, or were founded by, former members of Black Isle Studios and Interplay Entertainment. Obsidian Entertainment in particular wanted to "bring back the look and feel of the Infinity Engine games like Baldur's Gate, Icewind Dale, and Planescape: Torment". Lastly, several pseudo-isometric 3D RPGs, such as Divinity: Original Sin (2014), Wasteland 2 (2014) and Dead State (2014), have been crowdfunded using Kickstarter. These titles differ from the above games, however, in that they use perspective projection instead of parallel projection.

Use of related projections and techniques
The term "isometric perspective" is frequently misapplied to any game with an&mdash;usually fixed&mdash;angled, overhead view that appears at first to be "isometric". These include the aforementioned dimetrically projected video games; games that use trimetric projection, such as Fallout (1997) and SimCity 4 (2003); games that use oblique projection, such as Ultima Online (1997) and Divine Divinity (2002); and games that use a combination of perspective projection and a bird's eye view, such as Silent Storm (2003), Torchlight (2009) and Divinity: Original Sin (2014).

Also, not all "isometric" video games rely solely on pre-rendered 2D sprites. There are, for instance, titles which use polygonal 3D graphics completely, but render their graphics using parallel projection instead of perspective projection, such as Syndicate Wars (1996), Dungeon Keeper (1997) and Depths of Peril (2007); games which use a combination of pre-rendered 2D backgrounds and real-time rendered 3D character models, such as The Temple of Elemental Evil (2003) and Torment: Tides of Numenera (2017); and games which combine real-time rendered 3D backgrounds with hand-drawn 2D character sprites, such as Final Fantasy Tactics (1997) and Disgaea: Hour of Darkness (2003).

One advantage of top-down oblique projection over other near-isometric perspectives, is that objects fit more snugly within non-overlapping square graphical tiles, thereby potentially eliminating the need for an additional Z-order in calculations, and requiring fewer pixels.

Mapping screen to world coordinates


One of the most common problems with programming games that use isometric (or more likely dimetric) 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 the 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, the world x and y values can be calculated by dividing by the tile width and height.

Another way that is less computationally intensive and can have good results if the method is called on every frame, rests on the assumption that a square board was rotated by 45 degrees and then squashed to be half its original height. A virtual grid is overlaid on the projection as shown on the diagram, with axes virtual-x and virtual-y. Clicking any tile on the central axis of the board where (x, y) = (tileMapWidth / 2, y), will produce the same tile value for both world-x and world-y which in this example is 3 (0 indexed). Selecting the tile that lies one position on the right on the virtual grid, actually moves one tile less on the world-y and one tile more on the world-x. This is the formula that calculates world-x by taking the virtual-y and adding the virtual-x from the center of the board. Likewise world-y is calculated by taking virtual-y and subtracting virtual-x. These calculations measure from the central axis, as shown, so the results must be translated by half the board. For example, in the C programming language:

This method might seem counter intuitive at first since the coordinates of a virtual grid are taken, 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 tile, and depending on where it is clicked it should map to different coordinates. The key in this method is that the virtual coordinates are floating point numbers rather than integers. A virtual-x and y value can be (3.5, 3.5) which means the center of the third tile. In the diagram on the left, this falls in the 3rd tile on the y in detail. When the virtual-x and y must add up to 4, the world x will also be 4.