Some display systems support multiple background layers that can be scrolled independently in horizontal and vertical directions and composited on one another, simulating a multiplane camera. On such a display system, a game can produce parallax by simply changing each layer's position by a different amount in the same direction. Layers that move more quickly are perceived to be closer to the virtual camera. Layers can be placed in front of the playfield—the layer containing the objects with which the player interacts—for various reasons such as to provide increased dimension, obscure some of the action of the game, or distract the player.
Many arcade system boards, especially from Sega, Capcom, and Irem, as well as Sega's Mega Drive and Saturn consoles, support the scrolling of individual rows and/or columns of a tilemap (ref) (ref) This allows the hardware to either produce parallax scrolling effects from a single tilemap, or add more layers of scrolling to increase the depth of parallax scrolling.
There are three main methods to simulate parallax scrolling in home computer or video game console systems that to not support multiple background layers.
Programmers may also make pseudo-layers of sprites—individually controllable moving objects drawn by hardware on top of or behind the layers—if they are available on the display system. For instance Star Force, an overhead-view vertically scrolling shooter for NES, used this for its starfield, and Final Fight for the SNES used this technique for the layer immediately in front of the main playfield.
Repeating pattern/animation method
Scrolling displays built up of individual tiles can be made to 'float' over a repeating background layer by animating the individual tiles' bitmaps in order to portray the parallax effect. Color cycling can be used to animate tiles quickly on the whole screen. This software effect gives the illusion of another (hardware) layer. Many games used this technique for a scrolling star-field, but sometimes a more intricate or multi-directional effect is achieved, such as in the game Parallax by Sensible Software.
In raster graphics, the lines of pixels in an image are typically composited and refreshed in top-to-bottom order with a slight delay (called the horizontal blanking interval) between drawing one line and drawing the next line. Games designed for older graphical chipsets—such as those of the third and fourth generations of video game consoles, those of dedicated TV games, or those of similar handheld systems—take advantage of the raster characteristics to create the illusion of more layers.
Some display systems have only one layer. These include most of the classic 8-bit systems (such as the Nintendo Entertainment System, the original Game Boy, and the TurboGrafx-16). The more sophisticated games on such systems generally divide the layer into horizontal strips, each with a different position and rate of scrolling. Typically, strips higher on the screen will represent things farther away from the virtual camera or one strip will be held stationary to display status information. The program will then wait for horizontal blank and change the layer's scroll position just before the display system begins to draw each scanline. This is called a "raster effect" and is also useful for changing the system palette to provide a gradient background.
Some platforms (e.g., SNES, Mega Drive/Genesis, Game Boy Advance, Game Boy, Nintendo DS) provide a horizontal blank interrupt for automatically setting the registers independently of the rest of the program. Others, such as the NES, require the use of cycle-timed code, which is specially written to take exactly as long to execute as the video chip takes to draw one scanline, or timers inside game cartridges that generate interrupts after a given number of scanlines have been drawn. Many NES games use this technique to draw their status bars, and Teenage Mutant Ninja Turtles II: The Arcade Game and Vice: Project Doom for NES use it to scroll background layers at different rates.
More advanced raster techniques can produce interesting effects. A system can achieve a very effective depth of field if layers with rasters are combined; Sonic the Hedgehog, Sonic The Hedgehog 2, ActRaiser, Lionheart and Street Fighter II used this effect well. If each scanline has its own layer, the Pole Position effect is produced, which creates a pseudo-3D road (or a pseudo-3D ball court as in NBA Jam) on a 2D system. If the display system supports rotation and scaling in addition to scrolling—an effect popularly known as Mode 7—changing the rotation and scaling factors can draw a projection of a plane (as in F-Zero and Super Mario Kart) or can warp the playfield to create an extra challenge factor.
Parallax scrolling originated from 2D side-scrolling arcade games in the early 1980s. In early 1981, Konami's Scramble and Super Cobra used two planes, one a static starfield and one a horizontally scrolling background. In late 1981, ADK/Hoei's Jump Bug used a similar technique, but with the starfield scrolling vertically (like Galaxian) and an additional cloud layer scrolling horizontally at a different pace. True parallax scrolling appeared in 1982 with Irem's Moon Patrol, which featured three planes scrolling horizontally at different paces.
Later arcade system boards from Sega, Namco, Taito and Konami during the mid-to-late-1980s introduced more advanced parallax scrolling effects, including more than three parallax scrolling background planes, line-scrolling where scanlines side-scroll at different rates, row-scrolling where rows of tiles side-scroll at different rates, and column scrolling where columns of tiles scroll vertically at different rates.
The first console to simulate parallax scrolling was Sega's Master System in 1985. While it only supported one scrolling layer, its VDP graphics chip had a raster interrupt feature allowing line-scrolling. NEC's PC Engine (TurboGrafx-16) also used the same method with its VDC graphics chip in 1987. The NES eventually implemented a raster interrupt feature with MMC enhancement chips in later games.
The first console to support true hardware parallax scrolling was Sega's Mega Drive (Genesis) in 1988, with two background planes scrolling at different rates. In addition, its VDP chip supported line-scrolling and row-scrolling, allowing for more advanced parallax scrolling effects. Subsequently, hardware parallax scrolling became standard for later 16-bit consoles, including the PC Engine SuperGrafx, Super Nintendo Entertainment System and Neo Geo.
Most of the 32-bit consoles lacked hardware parallax scrolling, abandoning it during the move to 3D, instead using a CPU or blitter chip to simulate parallax scrolling. The last home console to support hardware parallax scrolling was the Sega Saturn, which supported six parallax scrolling background planes.
The first personal computer to support true hardware parallax scrolling was Sharp's X68000 in 1987, displaying anywhere from 1 to 4 scrolling planes depending on the video mode. It also supported line-scrolling, allowing for more advanced parallax scrolling effects. The Yamaha V9990 graphics chip, released for the MSX TurboR in 1992, also had a video mode supporting hardware parallax scrolling, with 2 scrolling planes.
The FM Towns lacked true hardware scrolling, but its graphics chipset could simulate parallax scrolling backgrounds using sprites. The Amiga, Atari ST and IBM-compatible PC lacked hardware scrolling support altogether, but had to rely on either the CPU or a blitter chip to simulate parallax scrolling.