Parallax scrolling gives a 2D
video game a greater sense of depth and immersion by creating the illusion of a third dimension.
There are three main methods of
parallax scrolling on
video game console systems.
If your display system supports multiple background layers, you can scroll them by simply changing each layer's horizontal offset by a different amount.
However, you don't want to place too much in front of the layer containing the objects with which the player interacts;
otherwise, you'll obscure the action, which is annoying, and annoying games don't sell.
To parallax-scroll within one layer (necessary on classic 8-bit systems such as
Nintendo Entertainment System and the original
Game Boy), divide the layer into sub-layers and change the layer's horizontal scroll value 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 (
Super NES,
Sega Genesis,
Game Boy Advance,
Game Boy) provide horizontal-blank interrupts for automatically setting the registers; others, such as the NES require the use of cycle-timed code.
Many NES games such as the classic
Super Mario Bros. 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. You can achieve breathtaking depth of field if you combine layers with rasters; Sonic the Hedgehog 2, ActRaiser[?], and Street Fighter II used this effect well. If you make each scanline its own sub-layer, you get the [Pole Position] effect, which creates a pseudo-3D road (or in NBA Jam's case, a pseudo-3D ball court) on a 2D system.
If your display system supports rotation and scaling in addition to scrolling, changing the rotation and scaling factors can draw a projection of a plane (F-Zero, Super Mario Kart) or can warp the image to create an extra challenge factor (Tetanus On Drugs[?]).
If you have a lot of
sprites (individually controllable moving objects drawn by hardware on top of or behind the layers) available on your display system, you may want to make a pseudo-layer out of sprites.
Star Force[?], an overhead-view vertically-scrolling shooter for for NES, used this for its starfield, and
Final Fight[?] for Super NES used this technique for the layer immediately in front of the main playfield.
But watch out for sprite flicker; you'll want to heed these tips for
preventing sprite flicker on old consoles (
http://everything2.com/index.pl?node=preventing%20sprite%20flicker%20on%20old%20consoles).
All Wikipedia text
is available under the
terms of the GNU Free Documentation License