Scaling and sprite tricks
The simplest pseudo-3D technique was sprite scaling: drawing a 2D sprite smaller as it moved away from the player and larger as it moved closer, simulating depth through size variation. The technique was computationally cheap if the hardware supported scaling, and powerful enough as a depth cue that early racing games — Pole Position (1982), Out Run (1986) — built entire visual systems around it. The horizon was a line across the screen; objects above the line were distant and small; objects below the line were close and large; the road surface was implied by the transition from the horizon-distance sprites to the near-distance sprites that filled the lower screen.
Sega's Super Scaler hardware — developed for System 16 and used in Hang-On (1985), Space Harrier (1985), and Out Run (1986) — implemented sprite scaling in dedicated hardware that could scale sprites smoothly and rapidly enough to produce convincing movement toward or away from the player. Space Harrier's visual effect — the player character flying toward the viewer over a checkerboard ground plane, with enemies appearing as dots on the horizon and expanding rapidly to fill the screen — was produced entirely by sprite scaling: there was no 3D geometry, no polygon rendering, just scaled 2D sprites at positions calculated to maintain the spatial illusion. The hardware that scaled them was fast enough to update the scale values every frame without the flickering or tearing that software scaling would have produced.
Ray casting and Wolfenstein
Ray casting was a rendering technique that produced a first-person view of a 2D grid as if it were a 3D environment. The player occupied a position on a 2D map divided into cells; for each vertical column of screen pixels, the renderer cast a ray from the player's position in the direction that column corresponded to, calculated the distance to the nearest wall cell that the ray intersected, and drew a vertical stripe of wall texture whose height was inversely proportional to the distance. A wall that was close produced a tall stripe; a wall that was far produced a short stripe. Drawing all 320 stripes across the screen simultaneously produced the illusion of a 3D corridor from a 2D grid map.
John Carmack implemented this technique — adapting a method he had read about in computer graphics literature — for Catacomb 3-D (1991) and refined it substantially for Wolfenstein 3D (1992). The key insight was that the ray casting calculation, while requiring a division per screen column, was fast enough on a 386 processor to run at playable frame rates if the renderer was optimised correctly. Carmack's optimisations — lookup tables for trigonometric values, fixed-point arithmetic to avoid floating-point operations — reduced the per-frame calculation time to the point where Wolfenstein ran at smooth enough frame rates on contemporary hardware to be playable and feel fast.
Doom (1993) extended ray casting into a more general approach that its author called a BSP (Binary Space Partition) engine. Where Wolfenstein's maps were simple grids where all walls were the same height, Doom's maps allowed different floor and ceiling heights, stairs, open-sky areas, and sectors that changed lighting level independently. The walls were still arranged on a 2D grid — Doom's engine was technically not true 3D, because the map structure didn't support rooms above rooms — but the variable heights and lighting produced a visual result that appeared three-dimensional to players who didn't analyse it carefully. The distinction between Doom's "2.5D" and true 3D was not obvious in play; the visual effect was compelling enough to sell millions of copies and define the first-person action game for the following decade.
Mode 7 and SNES transformations
Mode 7 was a graphics mode in the Super Famicom/SNES hardware that applied a hardware-accelerated affine transformation to a single background layer — scaling, rotating, and translating the background plane based on values written to the SNES's hardware registers. The transformation was applied uniformly to the entire background layer, which meant all parts of the layer scaled and rotated by the same factor. When combined with the perspective trick of changing the transformation values for each horizontal line of the display (using the SNES's scanline interrupt to update registers mid-frame), the transformation produced a convincing perspective view of the background plane from above — the ground-plane perspective that appeared in F-Zero (1990), Super Mario Kart (1992), and Pilotwings (1990).
F-Zero's racing tracks appeared to extend to the horizon in a perspective view because the background scale factor decreased continuously from the bottom of the screen (large, as if close) to the top of the screen (small, as if distant), while the horizontal offset changed to simulate the camera following the ship's movement over the track surface. The result was not three-dimensional in any geometric sense — the track was a flat 2D image that the transformation was applied to — but it was convincing enough that players perceived it as a three-dimensional surface and navigated it accordingly. The SNES hardware performed the transformation in real time, per scanline, without CPU involvement; Mode 7's ability to run without burdening the CPU was as significant as the visual effect it produced.
Voxels, pre-renders, and the end of the era
Voxel rendering — representing 3D environments as grids of volume elements rather than polygon surfaces — was used in games including the Comanche helicopter series (1992) and the early Outcast (1999) to produce landscapes that polygon rendering struggled with. A voxel landscape could represent every point of the terrain surface as an independent unit of volume, allowing smooth, organically shaped terrain without the visible polygon facets that early 3D engines produced. The computational cost was high — raycasting through a voxel grid per pixel required significant processing — but for specific applications (terrain rendering at moderate distances) the visual result was superior to polygon alternatives of the era.
Pre-rendered 3D was the technique most visible in the commercial game market through the mid-1990s. Donkey Kong Country (1994) rendered its sprites in 3D modelling software — Silicon Graphics workstations — and converted the rendered frames to 2D sprite sheets that the SNES displayed using its normal sprite hardware. The result was character and enemy sprites with a visual depth and surface detail that no SNES-native 2D art could have produced, running on hardware incapable of real-time 3D rendering. The technique was production-intensive — every animation frame of every character required separate renders — but the visual distinction in the market was sufficient that Rare's investment paid off commercially and initiated a trend of pre-rendered characters in 2D games through the following three years.
The pseudo-3D era ended not because the techniques became inadequate — Mode 7 perspective is still a beautiful visual effect — but because hardware 3D acceleration arrived at consumer price points and made the techniques unnecessary. A GPU that could render genuine 3D polygons in real time made the elaborate mathematical tricks for simulating depth from 2D hardware obsolete. The techniques remain visible in the games they produced and are now applied deliberately by designers who value the aesthetic of scanline perspective effects and scaled sprites. The discipline of producing apparent depth from fundamentally flat hardware required a form of applied mathematics that no longer needs to be applied, and is now an art form rather than a necessity.