parallax scrollingraster effectsvideo game graphicssprite methodlayer method

Parallax Scrolling Methods in Classic Video Game Systems

Parallax Scrolling Methods in Classic Video Game Systems

Parallax scrolling is a visual technique used in 2D video games to create an illusion of depth. By moving different background layers at different speeds, developers simulate the real-world effect where distant objects appear to move slower than objects closer to the observer. This technique has been implemented across arcade system boards, home consoles, and personal computers using four primary technical approaches.

Key Facts

  • Layer Method: Uses hardware-supported independent background layers to simulate a multiplane camera.
  • Sprite Method: Employs individually controllable objects (sprites) to create pseudo-layers.
  • Repeating Pattern Method: Animates individual tile bitmaps or uses color cycling to mimic depth.
  • Raster Method: Manipulates the display refresh cycle (scanlines) to change scroll positions in real-time.
  • Mode 7: A specialized technique involving rotation and scaling to project 2D planes into 3D perspectives.

The Layer Method

The most straightforward approach to parallax is the layer method. Some display systems support multiple background layers that can be scrolled independently in both horizontal and vertical directions. These layers are composited on top of one another, effectively simulating a multiplane camera.

In this system, parallax is achieved by changing each layer's position by a different amount. Layers that move more quickly are perceived as being closer to the virtual camera. Developers often place layers in front of the playfield—the area containing interactive game objects—to add dimension, obscure action, or create visual distractions.

[ไม่มีภาพประกอบ]

The Sprite Method

When dedicated background layers are unavailable, programmers use the sprite method. Sprites are individually controllable moving objects drawn by hardware. By arranging these sprites into pseudo-layers, developers can simulate depth.

Examples of this include Star Force on the NES, which used sprites for its starfield, and Final Fight on the Super NES, which used them for the layer immediately in front of the playfield. The Amiga computer further enhanced this via its copper co-processor, allowing sprites of any height to be set horizontally. In the game Risky Woods, sprites were multiplexed with the copper to create a full-screen parallax background as an alternative to the system's dual playfield mode.

[ไม่มีภาพประกอบ]

Repeating Pattern and Animation Methods

For displays built from individual tiles, the repeating pattern method allows tiles to "float" over a background. This is achieved by animating the bitmaps of individual tiles to portray movement. Color cycling—the rapid changing of colors across tiles—can also be used to create the illusion of a hardware layer.

While frequently used for scrolling star-fields, this software-based effect can produce intricate multi-directional movement, as seen in the game Parallax by Sensible Software.

[ไม่มีภาพประกอบ]

The Raster Method

The raster method leverages the way raster graphics are drawn. Images are refreshed from top to bottom, with a slight delay known as the horizontal blanking interval between each line of pixels (scanline). Older graphical chipsets from the third and fourth console generations used this characteristic to trick the eye into seeing more layers than the hardware actually supported.

Single-Layer Raster Effects

Many classic 8-bit systems, such as the Commodore 64, NES, Master System, PC Engine/TurboGrafx-16, and the original Game Boy, had only one background layer. To create parallax, games divided this single layer into horizontal strips. Each strip was scrolled at a different rate; typically, higher strips moved slower to represent distance, while some remained stationary for status bars.

The program waits for the horizontal blank and changes the scroll position just before the system draws the next scanline. This "raster effect" is also used to create gradient backgrounds by changing the system palette mid-frame.

Hardware Interrupts and Timing

Different platforms handle these updates differently:

  • Horizontal Blank Interrupts: Systems like the Amiga, Sega Mega Drive/Genesis, and Super NES allow registers to be set automatically via interrupts.
  • Cycle-Timed Code: The NES requires code written to execute in the exact time it takes the video chip to draw one scanline, or the use of timers inside game cartridges.

Games like Teenage Mutant Ninja Turtles II: The Arcade Game and Vice: Project Doom on the NES utilized these techniques to scroll background layers at varying rates.

Advanced Raster Techniques

Combining rasters with layers can create a sophisticated depth of field, a technique used in Sonic the Hedgehog, ActRaiser, and Street Fighter II. When every scanline has its own unique layer, it creates the Pole Position effect, producing a pseudo-3D road or court, as seen in NBA Jam.

Furthermore, Mode 7 allows for rotation and scaling, enabling the projection of a 2D plane into a 3D perspective, famously used in F-Zero and Super Mario Kart. Another advanced variation is row/column scrolling, where individual rows or columns of tiles are scrolled independently. This was implemented in various Sega arcade boards (such as System 16), the Sega Mega Drive/Genesis, and Capcom's CP System.

[ไม่มีภาพประกอบ]
Method Technical Approach Hardware Requirement Visual Result
Layer Independent background planes Multi-layer hardware support Smooth, multi-plane depth
Sprite Pseudo-layers of moving objects Hardware sprite support Foreground/Background objects
Repeating Pattern Tile bitmap animation/Color cycling Tile-based display Software-simulated depth
Raster Scanline-based scroll updates Horizontal blanking interval Horizontal strips/Pseudo-3D

Frequently Asked Questions

What is the difference between the layer method and the raster method?

The layer method relies on hardware that can natively handle multiple independent background planes. The raster method is a workaround for systems with limited layers, where the software changes the scroll position of a single layer multiple times during a single screen refresh.

What is the "Pole Position effect"?

The Pole Position effect is an advanced raster technique where each individual scanline is treated as its own layer, creating the illusion of a 3D perspective, typically used for roads or sports courts in 2D games.

How does Mode 7 differ from standard parallax scrolling?

While standard parallax moves layers at different speeds, Mode 7 uses rotation and scaling to warp a 2D plane, allowing the game to simulate a 3D floor or landscape that the player can move across.

What is a horizontal blanking interval?

The horizontal blanking interval is the brief pause that occurs after the video hardware finishes drawing one line of pixels (a scanline) and before it begins drawing the next. This interval is the window where raster effects are applied.

Which consoles used cycle-timed code for parallax?

The Nintendo Entertainment System (NES) frequently used cycle-timed code, which is specifically written to match the exact timing of the video chip's scanline drawing process.