![]() |
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 such as the Atari VCS (1977), ColecoVision (1982), Nintendo Entertainment System (1983), and Sega Genesis (1988); and home computers such as the TI-99/4A (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 CRT, 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, the term 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, rather than being part of the background data in the screen image table, instead "floated" on top without affecting the data in the framebuffer below, 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, used the term sprite for the 1982 Commodore 64.
OBJs (short for objects) is used in the developer manuals for the NES, Super NES, and Game Boy. The region of RAM used to store sprite attributes and coordinates is 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, dating back to 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 later 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 on line | Max. texels on line | Texture width | Texture height | Colors | Zoom | Rotation | Collision detection | Transparency | Source |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amstrad Plus | 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 5200 SuperSystem or simply Atari 5200 is a home video game console introduced in 1982 by Atari, Inc. as a higher-end complement for the popular Atari Video Computer System. The VCS was renamed to the Atari 2600 at the time of the 5200's launch. Created to compete with Mattel's Intellivision, the 5200 wound up a direct competitor of ColecoVision shortly after its release. While the Coleco system shipped with the first home version of Nintendo's Donkey Kong, the 5200 included the 1978 arcade game Super Breakout which had already appeared on the Atari 8-bit family and Atari VCS in 1979 and 1981 respectively.
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–83 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 fonts 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.
The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on the Texas Instruments TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. The associated video display controller provides color graphics and sprite support which were only comparable with those of the Atari 400 and 800 released a month after the TI-99/4.
Battlezone is a first-person shooter tank combat game released for arcades in November 1980 by Atari, Inc. The player controls a tank which is attacked by other tanks and missiles, using a small radar scanner to locate enemies around them in the barren landscape. Its innovative use of 3D graphics made it a huge hit, with approximately 15,000 units sold.
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles.
2.5D perspective refers to one of two things:
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 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, Sord M5, Tatung Einstein, Texas Instruments TI-99/4, Casio PV-2000, and Tomy Tutor.
Though not a complete history, herein is a list of what many would consider most of the "game" changers that made arcade experiences so powerful and nostalgic.
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 video display controller or VDC is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing or game system. Some VDCs also generate an audio signal, but that is not their main function.
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 serves both purposes in a number of high-profile arcade games beginning with 1988's Narc and also Mortal Kombat and NBA Jam. Hard Drivin' (1989) from Atari Games contains two of the processors. The TMS34010 was used in professional-level video accelerator cards for IBM PC compatibles in the early 1990s.
A tile-based video game is a type of video or 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.
The ColecoVision, SG-1000, CreatiVision, and first-generation MSX computers use the TMS9918A Video Display processor (VDP), which has its own 16 KiB of video memory that was not shared with main memory. Compared to the unified system and video memory used by other 8-bit computers of the time, such as the Apple II, ZX Spectrum, and Commodore 64, separate memory has the advantage of freeing up of the Z80 processor's 64 KiB address space for main RAM, and the VDP does not need to steal CPU cycles to access video memory. The disadvantage is that the program has to use the CPU's dedicated I/O instructions to command the VDP to manipulate the contents of the video RAM. This not only slows down video access but also makes the porting of games from unified-memory platforms more difficult. Attempts of porting ZX Spectrum games were often thwarted by this difference. Also, programmers had to learn to optimally use the more advanced capabilities of the VDP.
[…] 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)