Overview
As game hardware improved, sprite scaling became a popular technique, first for arcade games in the 1980s, and then for console and computer games in the 1990s. Scaling allowed for characters, items, or other sprites to smoothly grow or shrink on the fly, allowing the development of three-dimensional games using sprites. Sprite-scaling was an early form of 3D texture-mapping.
History
The first games to use sprite-scaling were arcade driving/racing games, by companies such as Sega and Namco; some of the earliest examples include Sega's Fonz (1976) and Turbo (1981), and Namco's Pole Position (1982). Some of the earliest action games to make use of extensive sprite-scaling were Sega's SubRoc-3D (1982) and Buck Rogers: Planet of Zoom (1982).
Super Scaler
After Burner, released for the Sega X Board arcade system in 1987. Its Super Scaler technology featured advanced sprite scaling and rotation capabilities.See: Super Scaler
Sprite-scaling was later popularized by Sega's powerful Super Scaler arcade graphics boards, which were capable of scaling thousands of sprites every second; some of Sega's popular Super Scaler arcade games included Hang-On (1985), Space Harrier (1985) and Out Run (1986). With After Burner (1987), Sega introduced sprite rotation, adding greater three-dimensional depth. They continued producing hits such as Thunder Blade (1987), Galaxy Force (1988) and Last Survivor (1988).
Following the success of Sega's Super Scaler games, rival arcade developers such as Konami, Namco and Taito began producing their own sprite-scaling arcade games in the late 80s.
X68000 and Neo Geo
Knight Arms, released by Arsys Software for the Sharp X68000 computer in 1989, made use of sprite-scaling graphics.See: Sharp X68000 and Neo Geo
Among home gaming systems, the Sharp X68000 computer (launched 1987) was capable of smooth sprite-scaling, though it wasn't able to scale as many sprites as Sega's Super Scaler arcade systems.
SNK's Neo•Geo arcade-based console (launched 1990) was notorious for utilizing sprite scaling in its fighting games to simulate a camera "zooming" in and out of the actions depending on how close the combatants were to each other.
Mode 7
Doom, released for PC in 1993, uses software to project and scale sprites in its 3D world.See: Mode 7
Another popular type of sprite-scaling was Mode 7, used to scale and rotate backgrounds for various games on the SNES console (launched 1990).
Billboarding
See: Billboarding
While long past its heyday, sprite-scaling is still used today in polygonal 3D games, in the form of billboarding. This technique was commonly used for rendering trees in early 3D games, although this has become less common in modern games. It is still frequently used when rendering smoke and fire.
Hardware Capabilities
This is a table listing the sprite scaling/zooming and rotation/mirroring capabilities of various classic gaming systems and/or graphics chips. Only systems and chips with hardware support for some form of hardware zooming/scaling or rotation/mirroring are listed here.
Integer zooming (including 1/2/4/8× vertical and 1/2/4/8× horizontal) indicates that sprites can only be zoomed in terms of integers (such as doubling or quadrupling), rather than smooth scaling. Voltage control indicates an analog method of smooth scaling through hardware voltage control. Anisotropic and affline indicate smooth scaling, i.e. what usually comes to mind when thinking of sprite scaling. Similarly for rotation effects, screen orientation means the screen can only be rotated in right-angles, while mirroring means it can only be flipped, whereas affline indicates smooth rotation.
For the other sprite capabilities of these systems and chips, see here. For a full detailed table of sprite capabilities, with references, see here.
Systems / Chips
| Year | Zooming / Scaling | Rotation |
Fujitsu MB14241 | 1975 | 1, 2× vertical, 1, 2× horizontal | Screen orientation |
Atari 2600 | 1977 | 1, 2, 4, 8× horizontal | Horizontal mirroring |
Taito Z80 | 1977 | No | Screen orientation |
Atari 8-Bit & 5200 | 1979 | 1, 2× vertical, 1, 2, 4× horizontal | No |
Namco Galaxian | 1979 | 1, 2, 3× vertical, 1, 2, 3× horizontal | Horizontal and vertical mirroring |
ColecoVision, MSX, Sega SG-1000 | 1979 | 1, 2× integer | No |
Namco Pac‑Man | 1980 | No | Horizontal and vertical mirroring |
Sega G80 | 1981 | Vector scaling | Screen orientation |
Sega VCO Object | 1981 | Voltage control scaling | Background tile mirroring |
Commodore 64 | 1982 | 1, 2× integer | No |
Namco Pole Position | 1982 | Yes, anisotropic | Horizontal and vertical mirroring |
Sega 315‑5011 & 315‑5012 | 1982 | Yes, anisotropic | Horizontal and vertical mirroring |
Famicom / NES | 1983 | No | Horizontal and vertical mirroring |
Amiga (OCS) | 1985 | Vertical by display list | No |
Sega Master System & Game Gear | 1985 | 1, 2× integer, 1, 2× vertical | Background tile mirroring |
MSX2 | 1985 | 1, 2× integer | Horizontal and vertical mirroring |
Sega OutRun | 1986 | Yes, anisotropic | Horizontal and vertical mirroring |
Namco System 2 | 1987 | Yes, anisotropic | Yes, affine |
PC-Engine / TurboGrafx-16 | 1987 | No | Horizontal and vertical mirroring |
Sharp X68000 | 1987 | 1, 2× integer | Horizontal and vertical mirroring |
Sega X Board | 1987 | Yes, anisotropic | Yes, affine |
Taito Ninja Warriors | 1987 | No | Horizontal and vertical mirroring |
Taito Z System | 1987 | Yes, anisotropic | Horizontal and vertical mirroring |
Capcom CPS | 1988 | No | Horizontal and vertical mirroring |
Sega System 24 | 1988 | Yes, anisotropic | Horizontal and vertical mirroring |
Sega Y Board | 1988 | Yes, anisotropic | Yes, affine |
Taito B System | 1988 | Sprite shrinking | Horizontal and vertical mirroring |
MSX2+ & MSX TurboR | 1988 | 1, 2× integer | Horizontal and vertical mirroring |
Sega Mega Drive / Genesis | 1988 | 1, 2× integer | Horizontal and vertical mirroring |
Fujitsu FM Towns | 1989 | 1, 2× vertical, 1, 2, 3, 4, 5× horizontal | Horizontal and vertical mirroring |
SuperGrafx | 1989 | No | Horizontal and vertical mirroring |
Amstrad Plus | 1990 | 1, 2, 4× vertical, 1, 2, 4× horizontal | No |
Neo Geo | 1990 | Sprite shrinking | Horizontal and vertical mirroring |
Sega System 32 | 1990 | Yes, anisotropic | Yes, affine |
Super Famicom & SNES | 1990 | Background, affine | Background affine rotation and sprite mirroring |
Amiga (AGA) | 1992 | Vertical by display list | No |
Taito SZ System | 1992 | Yes, anisotropic | Horizontal and vertical mirroring |
Atari Jaguar | 1993 | Yes, anisotropic | Yes, affine |
Capcom CPS2 | 1993 | No | Horizontal and vertical mirroring |
Sega Saturn & ST-V | 1994 | Yes, anisotropic | Yes, affine and distortion |
Sony PlayStation | 1994 | Yes, anisotropic | Yes, affine |
Capcom CPS3 | 1996 | Yes, anisotropic | Horizontal and vertical mirroring |
Data East MLC System | 1996 | Yes, anisotropic | Horizontal and vertical mirroring |
Hyper Neo Geo 64 | 1997 | Yes, anisotropic | Yes, affine |
Game Boy Advance | 2001 | Yes, affine | Yes, affine |
Nintendo DS | 2004 | Yes affine | Yes, affine |
Systems / Chips | Year | Zooming / Scaling | Rotation |
Log in to comment