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.
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 four 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.
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.
A sprite is a term commonly used in computer graphics and gaming to refer to a two-dimensional image or animation that is integrated into a larger scene or game environment. Sprites are often used to represent characters, objects, or special effects within a game.
Sprites play a crucial role in gaming as they allow developers to create dynamic and visually appealing graphics. They can be animated to give the illusion of movement and interaction. Sprites are commonly used for characters, enemies, projectiles, items, and other game elements.
Sprites can be created using various software tools. Graphic designers typically use specialized programs like Adobe Photoshop, GIMP, or Aseprite to design and animate sprites. These programs provide a range of tools to create and manipulate pixel art, which is a common style for sprite-based graphics.
No, sprites have applications beyond gaming as well. They can be used in various fields, such as interactive websites, multimedia presentations, educational software, and even advertising. Sprites are versatile and can enhance user experience by adding visual elements that engage and captivate the viewer.
Yes, sprites can be customized to fit the desired aesthetic and style of a game or project. Designers can modify their appearance, size, color palette, and animations to create unique visual experiences. This flexibility allows for endless creative possibilities when it comes to incorporating sprites into different contexts.
Yes, sprites offer several advantages over other graphic formats. Since sprites are typically composed of a single image file, they can be loaded into memory quickly, resulting in faster rendering times. Additionally, sprites can be scaled and rotated without losing quality, making them versatile for different display resolutions and orientations.
Using sprites in game development offers numerous benefits. They can help optimize performance by reducing the number of individual objects that need to be rendered and processed. Sprites are also memory-efficient since their images can be stored in a sprite sheet, reducing the overall memory footprint of the game.
Sprites can significantly improve game performance by allowing developers to reduce the number of graphical elements that need to be rendered. By using sprite sheets, multiple images can be combined into one texture, requiring fewer draw calls. This optimization technique helps minimize the graphics processing unit (GPU) overhead and improves overall frame rates.
A sprite sheet is a single image file that contains multiple frames or animations of a sprite. Instead of loading individual images, developers can load the sprite sheet into memory once and then display specific frames or animations as needed. This technique reduces the time spent on loading and rendering individual sprite assets.
A sprite sheet is essentially a grid of smaller images, each representing a different frame or animation of a sprite. By specifying the coordinates or regions within the sprite sheet, developers can display the desired frames to create animations. This method allows for efficient storage and rendering of sprite assets.
Sprite sheets contribute to improved performance by reducing the number of texture binds and draw calls required to render individual sprites. By loading a single sprite sheet into memory, the game engine can batch multiple draw requests, resulting in fewer control processing unit (CPU) and graphics processing unit (GPU) operations. This optimization leads to smoother gameplay and better overall performance.
Yes, sprites can be used in web development to enhance the visual appearance of websites. By combining multiple icons or images into a single sprite sheet, developers can reduce the number of HTTP requests required to load the page, resulting in faster loading times. This technique is commonly used for creating CSS sprites.
CSS sprites are a technique in web development where multiple small images are combined into a single larger image, known as a sprite sheet. By using CSS background positioning, specific sections of the sprite sheet can be displayed on different elements, reducing the need for separate image files and improving performance.
Yes, sprites can be used in AR and VR applications. While these technologies often focus on three-dimensional graphics, sprites can still play a role in user interface (UI) elements, heads-up displays (HUDs), and other 2D graphical elements within the virtual environment. By combining both 2D and 3D graphics, developers can create immersive and visually appealing AR and VR experiences.
Yes, CSS sprites can be used in responsive web design. By using media queries, developers can adjust the background-position values of the sprites to ensure they display correctly on different screen sizes and resolutions.
While CSS sprites don't directly impact SEO, they can indirectly contribute to better SEO performance. By reducing the number of HTTP requests and improving page load times, CSS sprites provide a better user experience. Since page speed is a ranking factor for search engines, using sprites can indirectly improve SEO.
Yes, sprite animations can be created using CSS sprites. By changing the background-position values at specific intervals, developers can create the illusion of movement or animation within a sprite sheet.
While CSS sprites are primarily used in web development, they can also be used in mobile app development. Mobile frameworks like React Native and Flutter support CSS-like styling, allowing developers to use sprites for UI components and icons within mobile apps.
c80f0f1006