Part of a series on |
Video game graphics |
---|
In computer graphics, a sprite is a two-dimensional bitmap that is integrated into a larger scene, most often in a 2D video game. Originally, the term sprite referred to fixed-sized objects composited together, by hardware, with a background. [1] Use of the term has since become more general.
Systems with hardware sprites include arcade video games of the 1970s and 1980s; game consoles including as the Atari VCS (1977), ColecoVision (1982), Famicom (1983), Genesis/Mega Drive (1988); and home computers such as the TI-99/4 (1979), Atari 8-bit family (1979), Commodore 64 (1982), MSX (1983), Amiga (1985), and X68000 (1987). Hardware varies in the number of sprites supported, the size and colors of each sprite, and special effects such as scaling or reporting pixel-precise overlap.
Hardware composition of sprites occurs as each scan line is prepared for the video output device, such as a cathode-ray tube, without involvement of the main CPU and without the need for a full-screen frame buffer. [1] Sprites can be positioned or altered by setting attributes used during the hardware composition process. The number of sprites which can be displayed per scan line is often lower than the total number of sprites a system supports. For example, the Texas Instruments TMS9918 chip supports 32 sprites, but only 4 can appear on the same scan line.
The CPUs in modern computers, video game consoles, and mobile devices are fast enough that bitmaps can be drawn into a frame buffer without special hardware assistance. Beyond that, GPUs can render vast numbers of scaled, rotated, antialiased, partially translucent, very high resolution images in parallel with the CPU.
According to Karl Guttag, one of two engineers for the 1979 Texas Instruments TMS9918 video display processor, this use of the word sprite came from David Ackley, a manager at TI. [2] It was also used by Danny Hillis at Texas Instruments in the late 1970s. [3] The term was derived from the fact that sprites "float" on top of the background image without overwriting it, much like a ghost or mythological sprite.
Some hardware manufacturers used different terms, especially before sprite became common:
Player/Missile Graphics was a term used by Atari, Inc. for hardware sprites in the Atari 8-bit computers (1979) and Atari 5200 console (1982). [4] The term reflects the use for both characters ("players") and smaller associated objects ("missiles") that share the same color. The earlier Atari Video Computer System and some Atari arcade games used player, missile, and ball.
Stamp was used in some arcade hardware in the early 1980s, including Ms. Pac-Man . [5]
Movable Object Block, or MOB, was used in MOS Technology's graphics chip literature. Commodore, the main user of MOS chips and the owner of MOS for most of the chip maker's lifetime, instead used the term sprite for the Commodore 64.
OBJs (short for objects) is used in the developer manuals for the NES, Super NES, and Game Boy. The region of video RAM used to store sprite attributes and coordinates is called OAM (Object Attribute Memory). This also applies to the Game Boy Advance and Nintendo DS.
The use of sprites originated with arcade video games. Nolan Bushnell came up with the original concept when he developed the first arcade video game, Computer Space (1971). Technical limitations made it difficult to adapt the early mainframe game Spacewar! (1962), which performed an entire screen refresh for every little movement, so he came up with a solution to the problem: controlling each individual game element with a dedicated transistor. The rockets were essentially hardwired bitmaps that moved around the screen independently of the background, an important innovation for producing screen images more efficiently and providing the basis for sprite graphics. [6]
The earliest video games to represent player characters as human player sprites were arcade sports video games, beginning with Taito's TV Basketball , [7] [8] [9] released in April 1974 and licensed to Midway Manufacturing for release in North America. [10] Designed by Tomohiro Nishikado, he wanted to move beyond simple Pong -style rectangles to character graphics, by rearranging the rectangle shapes into objects that look like basketball players and basketball hoops. [11] [12] Ramtek released another sports video game in October 1974, Baseball, [10] which similarly displayed human-like characters. [13]
The Namco Galaxian arcade system board, for the 1979 arcade game Galaxian , displays animated, multi-colored sprites over a scrolling background. [14] It became the basis for Nintendo's Radar Scope and Donkey Kong arcade hardware and home consoles such as the Nintendo Entertainment System. [15] According to Steve Golson from General Computer Corporation, the term "stamp" was used instead of "sprite" at the time. [5]
Signetics devised the first chips capable of generating sprite graphics (referred to as objects by Signetics) for home systems. The Signetics 2636 video processors were first used in the 1978 1292 Advanced Programmable Video System and later in the 1979 Elektor TV Games Computer.
The Atari VCS, released in 1977, has a hardware sprite implementation where five graphical objects can be moved independently of the game playfield. The term sprite was not in use at the time. The VCS's sprites are called movable objects in the programming manual, further identified as two players, two missiles, and one ball. [16] These each consist of a single row of pixels that are displayed on a scan line. To produce a two-dimensional shape, the sprite's single-row bitmap is altered by software from one scan line to the next.
The 1979 Atari 400 and 800 home computers have similar, but more elaborate, circuitry capable of moving eight single-color objects per scan line: four 8-bit wide players and four 2-bit wide missiles. Each is the full height of the display—a long, thin strip. DMA from a table in memory automatically sets the graphics pattern registers for each scan line. Hardware registers control the horizontal position of each player and missile. Vertical motion is achieved by moving the bitmap data within a player or missile's strip. The feature was called player/missile graphics by Atari.
Texas Instruments developed the TMS9918 chip with sprite support for its 1979 TI-99/4 home computer. An updated version is used in the 1981 TI-99/4A.
These are base hardware specs and do not include additional programming techniques, such as using raster interrupts to repurpose sprites mid-frame.
System | Sprite hardware | Introduced | Sprites on screen | Sprites per scan line | Max. texels on line | Texture width | Texture height | Colors | Zoom | Rotation | Collision detection | Transparency | Source |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amstrad Plus | ASIC | 1990 | 16 | 16 | ? | 16 | 16 | 15 | 2, 4× vertical, 2, 4× horizontal | No | No | Color key | [17] |
Atari 2600 | TIA | 1977 | 5 | 5 | 19 | 1, 8 | 262 | 1 | 2, 4, 8× horizontal | Horizontal mirroring | Yes | Color key | [18] |
Atari 8-bit family | GTIA/ANTIC | 1979 | 8 | 8 | 40 | 2, 8 | 128, 256 | 1 | 2× vertical, 2, 4× horizontal | No | Yes | Color key | [19] |
Commodore 64 | VIC-II | 1982 | 8 | 8 | 96, 192 | 12, 24 | 21 | 1, 3 | 2× integer | No | Yes | Color key | [20] |
Amiga (OCS) | Denise | 1985 | 8, can be reused horizontally per 4 pixel increments | Arbitrary, 8 unique | Arbitrary | 16 | Arbitrary | 3, 15 | Vertical by display list | No | Yes | Color key | [21] |
Amiga (AGA) | Lisa | 1992 | 8, can be reused horizontally per 2 pixel increments | Arbitrary, 8 unique | Arbitrary | 16, 32, 64 | Arbitrary | 3, 15 | Vertical by display list | No | Yes | Color key | |
ColecoVision | TMS9918A | 1983 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× integer | No | Partial | Color key | |
TI-99/4 & 4A | TMS9918 | 1979 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× integer | No | Partial | Color key | |
Gameduino | 2011 | 256 | 96 | 1,536 | 16 | 16 | 255 | No | Yes | Yes | Color key | [22] | |
Intellivision | STIC AY-3-8900 | 1979 | 8 | 8 | 64 | 8 | 8,16 | 1 | 2, 4, 8× vertical, 2× horizontal | Horizontal and vertical mirroring | Yes | Color key | [23] |
MSX | TMS9918A | 1983 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× integer | No | Partial | Color key | [24] |
MSX2 | Yamaha V9938 | 1986 | 32 | 8 | 128 | 8, 16 | 8,16 | 1, 3, 7, 15 per line | 2× integer | No | Partial | Color key | |
MSX2+ / MSX turbo R | Yamaha V9958 | 1988 | 32 | 8 | 128 | 8,16 | 8,16 | 1, 3, 7, 15 per line | 2× integer | No | Partial | Color key | |
Namco Pac-Man (arcade) | TTL | 1980 | 6 | 6 | 96 | 16 | 16 | 3 | No | Horizontal and vertical mirroring | No | Color key | [25] |
TurboGrafx-16 | HuC6270A | 1987 | 64 | 16 | 256 | 16, 32 | 16, 32, 64 | 15 | No | Horizontal and vertical mirroring | Yes | Color key | [26] |
Namco Galaxian (arcade) | TTL | 1979 | 7 | 7 | 112 | 16 | 16 | 3 | No | Horizontal and vertical mirroring | No | Color key | [27] [28] [29] |
Nintendo Donkey Kong, Radar Scope (arcade) | 1979 | 128 | 16 | 256 | 16 | 16 | 3 | Integer | No | Yes | Color key | [30] | |
Nintendo DS | Integrated PPU | 2004 | 128 | 128 | 1,210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 65,536 | Affine | Affine | No | Color key, blending | [31] |
NES/Famicom | Ricoh RP2C0x PPU | 1983 | 64 | 8 | 64 | 8 | 8, 16 | 3 | No | Horizontal and vertical mirroring | Partial | Color key | [32] |
Game Boy | Integrated PPU | 1989 | 40 | 10 | 80 | 8 | 8, 16 | 3 | No | Horizontal and vertical mirroring | No | Color key | [33] |
Game Boy Advance | Integrated PPU | 2001 | 128 | 128 | 1210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15, 255 | Affine | Affine | No | Color key, blending | [34] |
Master System, Game Gear | YM2602B VDP (TMS9918-derived) | 1985 | 64 | 8 | 128 | 8, 16 | 8, 16 | 15 | 2× integer, 2× vertical | Background tile mirroring | Yes | Color key | [35] [36] |
Genesis / Mega Drive | YM7101 VDP (SMS VDP-derived) | 1988 | 80 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | No | Horizontal and vertical mirroring | Yes | Color key | [37] [38] |
Sega OutRun (arcade) | 1986 | 128 | 128 | 1600 | 8 to 512 | 8 to 256 | 15 | Anisotropic | Horizontal and vertical mirroring | Yes | Alpha | [39] [40] [41] [42] [43] [44] [45] | |
X68000 | Cynthia jr. (original), Cynthia (later models) | 1987 | 128 | 32 | 512 | 16 | 16 | 15 | 2× integer | Horizontal and vertical mirroring | Partial | Color key | [46] [47] [48] |
Neo Geo | LSPC2-A2 | 1990 | 384 | 96 | 1536 | 16 | 16 to 512 | 15 | Sprite shrinking | Horizontal and vertical mirroring | Partial | Color key | [49] [50] [51] |
Super NES / Super Famicom | S-PPU1, S-PPU2 | 1990 | 128 | 34 | 256 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15 | No | Horizontal and vertical mirroring | No | Color key, averaging | [52] |
System | Sprite hardware | Introduced | Sprites on screen | Sprites on line | Max. texels on line | Texture width | Texture height | Colors | Hardware zoom | Rotation | Collision detection | Transparency | Source |
The Atari 7800 ProSystem, or simply the Atari 7800, is a home video game console officially released by Atari Corporation in 1986 as the successor to both the Atari 2600 and Atari 5200. It can run almost all Atari 2600 cartridges, making it one of the first consoles with backward compatibility. It shipped with a different model of joystick from the 2600-standard CX40 and Pole Position II as the pack-in game. Most of the announced titles at launch were ports of 1981–1983 arcade video games.
Parallax scrolling is a technique in computer graphics where background images move past the camera more slowly than foreground images, creating an illusion of depth in a 2D scene of distance. The technique grew out of the multiplane camera technique used in traditional animation since the 1930s.
A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to another relatively quickly, and in parallel with the CPU, while freeing up the CPU's more complex capabilities for other operations. A typical use for a blitter is the movement of a bitmap, such as windows and icons in a graphical user interface or images and backgrounds in a 2D video game. The name comes from the bit blit operation of the 1973 Xerox Alto, which stands for bit-block transfer. A blit operation is more than a memory copy, because it can involve data that's not byte aligned, handling transparent pixels, and various ways of combining the source and destination data.
A graphics processing unit (GPU) is a specialized electronic circuit initially designed to accelerate computer graphics and image processing. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.
2.5D perspective refers to gameplay or movement in a video game or virtual reality environment that is restricted to a two-dimensional (2D) plane with little or no access to a third dimension in a space that otherwise appears to be three-dimensional and is often simulated and rendered in a 3D digital environment.
Galaxian is a 1979 fixed shooter arcade video game developed and published by Namco. The player assumes control of the Galaxip starfighter in its mission to protect Earth from waves of aliens. Gameplay involves destroying each formation of aliens, who dive down towards the player in an attempt to hit them.
The X68000 is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan.
The FM Towns is a Japanese personal computer built by Fujitsu from February 1989 to the summer of 1997. It started as a proprietary PC variant intended for multimedia applications and PC games, but later became more compatible with IBM PC compatibles. In 1993, the FM Towns Marty was released, a game console compatible with existing FM Towns games.
The Television Interface Adaptor (TIA) is the custom computer chip, along with a variant of the MOS Technology 6502 constituting the heart of the 1977 Atari Video Computer System game console. The TIA generates the screen display, sound effects, and reads the controllers. At the time the Atari VCS was designed, even small amounts of RAM were expensive. The chip was designed around not having a frame buffer, instead requiring detailed programming to create even a simple display.
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments, in manuals referenced as "Video Display Processor" (VDP) and introduced in 1979. The TMS9918 and its variants were used in the ColecoVision, CreatiVision, Memotech MTX, MSX, NABU Personal Computer, SG-1000/SC-3000, Spectravideo SV-318, SV-328, Sord M5, Tatung Einstein, TI-99/4, Casio PV-2000, Coleco Adam, Hanimex Pencil II, and Tomy Tutor.
The golden age of arcade video games was the period of rapid growth, technological development, and cultural influence of arcade video games from the late 1970s to the early 1980s. The release of Space Invaders in 1978 led to a wave of shoot-'em-up games such as Galaxian and the vector graphics-based Asteroids in 1979, made possible by new computing technology that had greater power and lower costs. Arcade video games switched from black-and-white to color, with titles such as Frogger and Centipede taking advantage of the visual opportunities of bright palettes.
Multi Emulator Super System (MESS) is an emulator for various consoles and computer systems, based on the MAME core. It used to be a standalone program, but is now integrated into MAME. MESS emulates portable and console gaming systems, computer platforms, and calculators. The project strives for accuracy and portability and therefore is not always the fastest emulator for any one particular system. Its accuracy makes it also useful for homebrew game development.
The following article is a broad timeline of arcade video games.
Fueled by the previous year's release of the colorful and appealing Pac-Man, the audience for arcade video games in 1981 became much wider. Pac-Man influenced maze games began appearing in arcades and on home systems. Pac-Man was the highest grossing video game for the second year in a row. Nintendo's Donkey Kong defined the platform game genre, while Konami's Scramble established scrolling shooters. The lesser known Jump Bug combined the two concepts into both the first scrolling platform game and the first platform shooter. Other arcade hits released in 1981 include Defender, Frogger, and the Galaxian sequel Galaga.
1979 saw many sequels and prequels in video games, such as Space Invaders Part II and Super Speed Race, along with new titles such as Asteroids, Football, Galaxian, Head On, Heiankyo Alien, Monaco GP, Sheriff and Warrior. For the second year in a row, the highest-grossing video game was Taito's arcade game Space Invaders and the best-selling home system was the Atari Video Computer System.
A raster interrupt is an interrupt signal in a legacy computer system which is used for display timing. It is usually, though not always, generated by a system's graphics chip as the scan lines of a frame are being readied to send to the monitor for display. The most basic implementation of a raster interrupt is the vertical blank interrupt.
The TMS34010, developed by Texas Instruments and released in 1986, was the first programmable graphics processor integrated circuit. While specialized graphics hardware existed earlier, such as blitters, the TMS34010 chip is a microprocessor which includes graphics-oriented instructions, making it a combination of a CPU and what would later be called a GPU. It found use in arcade video games from the late 1980s through the mid 1990s, including Mortal Kombat and NBA Jam, and computer workstation video accelerator boards. TI later released the TMS34020 with an emphasis on 3D rendering.
A tile-based video game, or grid-based video game, is a type of video game where the playing area consists of small square graphic images referred to as tiles laid out in a grid. That the screen is made of such tiles is a technical distinction, and may not be obvious to people playing the game. The complete set of tiles available for use in a playing area is called a tileset. Tile-based games usually simulate a top-down, side view, or 2.5D view of the playing area, and are almost always two-dimensional.
Sprite multiplexing is a computer graphics technique where additional sprites can be drawn on the screen, beyond the nominal maximum. It is largely historical, applicable principally to older hardware, where limited resources meant only a relatively small number of sprites were supported. On the other hand, it is also true that without multiplexing, the sprite circuitry would be idle much of the time, and limited resources were wasted.
[…] 6 moving characters, what you would call today "sprites" we called them "stamps" back then, […].
{{cite web}}
: CS1 maint: bot: original URL status unknown (link)