Articulo de referencia

Sprite (gráficos por computadora)

Sprites de tanque y cohete de Broforce En gráficos por computadora , un sprite es un mapa de bits bidimensional que se integra en una escena más grande, generalmente en un video...

Sprites de tanque y cohete de Broforce

En gráficos por computadora , un sprite es un mapa de bits bidimensional que se integra en una escena más grande, generalmente en un videojuego 2D . Originalmente, el término sprite se refería a objetos de tamaño fijo compuestos, mediante hardware, con un fondo. [ 1 ] Desde entonces, el uso del término se ha generalizado.

Entre los sistemas con sprites de hardware se incluyen los videojuegos arcade de las décadas de 1970 y 1980; consolas de videojuegos como la Atari VCS (1977), ColecoVision (1982), Famicom (1983) y Genesis/Mega Drive (1988); y ordenadores domésticos como el TI-99/4 (1979), los ordenadores Atari de 8 bits (1979), el Commodore 64 (1982), el MSX (1983), el Amiga (1985) y el X68000 (1987). El hardware varía en cuanto al número de sprites compatibles, el tamaño y los colores de cada sprite, y los efectos especiales como el escalado o la superposición precisa a nivel de píxel.

La composición de sprites por hardware se produce cuando cada línea de exploración se prepara para el dispositivo de salida de vídeo, como un tubo de rayos catódicos , sin la intervención de la CPU principal y sin necesidad de un búfer de fotogramas de pantalla completa . [ 1 ] Los sprites se pueden posicionar o modificar configurando los atributos utilizados durante el proceso de composición por hardware. El número de sprites que se pueden mostrar por línea de exploración suele ser inferior al número total de sprites que admite un sistema. Por ejemplo, el chip TMS9918 de Texas Instruments admite 32 sprites, pero solo cuatro pueden aparecer en la misma línea de exploración.

Las CPU de los ordenadores modernos, las consolas de videojuegos y los dispositivos móviles son lo suficientemente rápidas como para dibujar mapas de bits en un búfer de fotogramas sin necesidad de hardware adicional. Además, las GPU pueden renderizar en paralelo con la CPU un gran número de imágenes escaladas, rotadas, con suavizado de bordes , parcialmente translúcidas y de muy alta resolución.

Etimología

Según Karl Guttag, uno de los dos ingenieros del procesador de pantalla de video TMS9918 de Texas Instruments de 1979 , este uso de la palabra sprite provino de David Ackley, un gerente de TI. [ 2 ] [ 3 ] También fue utilizado por Danny Hillis en Texas Instruments a finales de la década de 1970. [ 4 ] El término se derivó del hecho de que los sprites "flotan" sobre la imagen de fondo sin sobrescribirla, de manera muy similar a un fantasma o un sprite mitológico .

Algunos fabricantes de hardware utilizaban términos diferentes, especialmente antes de que Sprite se popularizara:

Player/Missile Graphics fue un término utilizado por Atari, Inc. para los sprites de hardware en las computadoras Atari de 8 bits (1979) y la consola Atari 5200 (1982). [ 5 ] [ 6 ] El término refleja el uso tanto para personajes ("jugadores") como para objetos asociados más pequeños ("misiles") que comparten el mismo color. El sistema Atari Video Computer System anterior y algunos juegos arcade de Atari usaban player , missile y ball .

Stamp se utilizó en algunos equipos de arcade a principios de la década de 1980, incluyendo Ms. Pac-Man . [ 7 ]

El término "Movable Object Block" (Bloque de Objeto Móvil) , o MOB , se utilizaba enla documentación de los chips gráficos de MOS Technology . Commodore , el principal usuario de los chips MOS y propietario de MOS durante la mayor parte de la existencia del fabricante de chips, utilizaba en cambio el término "sprite" para referirse al Commodore 64.

OBJ (abreviatura de objects ) se utiliza en los manuales de desarrollo de NES , Super NES y Game Boy . La región de la memoria de vídeo utilizada para almacenar los atributos y coordenadas de los sprites se denomina OAM (Object Attribute Memory). Esto también se aplica a Game Boy Advance y Nintendo DS .

Historia

videojuegos arcade

El uso de sprites se originó en los videojuegos arcade . Nolan Bushnell ideó el concepto original al desarrollar el primer videojuego arcade, Computer Space (1971). Las limitaciones técnicas dificultaron la adaptación del juego para mainframe Spacewar! (1962), que actualizaba toda la pantalla con cada pequeño movimiento, por lo que ideó una solución: controlar cada elemento del juego con un transistor dedicado . Los cohetes eran esencialmente mapas de bits cableados que se movían por la pantalla independientemente del fondo, una innovación importante para generar imágenes de pantalla de forma más eficiente y que sentó las bases de los gráficos sprite. [ 8 ]

Los primeros videojuegos que representaron a los personajes jugadores como sprites humanos fueron los videojuegos deportivos arcade , comenzando con TV Basketball de Taito , [ 9 ] [ 10 ] [ 11 ] lanzado en abril de 1974 y licenciado a Midway Manufacturing para su lanzamiento en Norteamérica. [ 12 ] Diseñado por Tomohiro Nishikado , quería ir más allá de los simples rectángulos al estilo Pong para los gráficos de personajes, reorganizando las formas rectangulares en objetos que se parecen a jugadores de baloncesto y aros de baloncesto . [ 13 ] [ 14 ] Ramtek lanzó otro videojuego deportivo en octubre de 1974, Baseball , [ 12 ] que también mostraba personajes de aspecto humano. [ 15 ]

La placa del sistema arcade Namco Galaxian , para el juego arcade Galaxian de 1979 , muestra sprites animados y multicolores sobre un fondo desplazable. [ 16 ] Se convirtió en la base del hardware arcade Radar Scope y Donkey Kong de Nintendo y de consolas domésticas como la Nintendo Entertainment System . [ 17 ] Según Steve Golson de General Computer Corporation , en ese momento se usaba el término "estampado" en lugar de "sprite". [ 7 ]

Sistemas domésticos

Signetics diseñó los primeros chips capaces de generar gráficos de sprites (denominados objetos por Signetics) para sistemas domésticos. Los procesadores de vídeo Signetics 2636 se utilizaron por primera vez en el sistema de vídeo programable avanzado 1292 de 1978 y, posteriormente, en el ordenador de juegos Elektor TV de 1979 .

El Atari VCS , lanzado en 1977, cuenta con una implementación de sprites por hardware que permite mover cinco objetos gráficos independientemente del área de juego. El término "sprite" no se utilizaba en ese momento. En el manual de programación, los sprites del VCS se denominan objetos móviles y se identifican como dos jugadores , dos misiles y una pelota . [ 18 ] Cada uno de ellos consta de una sola fila de píxeles que se muestran en una línea de exploración . Para generar una forma bidimensional, el software modifica el mapa de bits de una sola fila del sprite de una línea de exploración a la siguiente.

Los ordenadores domésticos Atari 400 y 800 de 1979 contaban con circuitos similares, aunque más elaborados, capaces de mover ocho objetos monocromáticos por línea de exploración: cuatro jugadores de 8 bits de ancho y cuatro misiles de 2 bits de ancho . Cada uno ocupaba toda la altura de la pantalla , una tira larga y delgada. El acceso directo a memoria (DMA) desde una tabla en memoria configuraba automáticamente los registros de patrones gráficos para cada línea de exploración. Los registros de hardware controlaban la posición horizontal de cada jugador y misil. El movimiento vertical se lograba desplazando los datos del mapa de bits dentro de la tira de cada jugador o misil. Atari denominó a esta función gráficos de jugador/misil .

Texas Instruments desarrolló el chip TMS9918 con soporte para sprites para su ordenador doméstico TI-99/4 de 1979. Una versión actualizada se utiliza en el TI-99/4A de 1981 .

En juegos 2.5D y 3D

Interacciones del jugador con sprites en un juego 2.5D

Los sprites siguieron siendo populares con el auge de los juegos 2.5D (aquellos que recrean un espacio de juego 3D a partir de un mapa 2D) a finales de los años 80 y principios de los 90. Una técnica llamada " billboarding" permite que los juegos 2.5D mantengan los sprites en pantalla siempre orientados hacia la perspectiva del jugador. Algunos juegos 2.5D, como Doom de 1993 , permiten que una misma entidad sea representada por diferentes sprites según su rotación con respecto al espectador, lo que refuerza la ilusión de 3D.

Los juegos completamente en 3D suelen presentar los objetos del mundo como modelos 3D , pero algunos motores de juegos 3D , como GoldSrc [ 19 ] y Unreal [ 20 ] , admiten sprites , que pueden mostrarse en pantalla o fijarse a orientaciones específicas. Los sprites siguen siendo útiles para pequeños detalles, efectos de partículas y otras aplicaciones donde la falta de una tercera dimensión no supone un gran inconveniente.

Sistemas con sprites de hardware

Estas son las especificaciones básicas del hardware y no incluyen técnicas de programación adicionales, como el uso de interrupciones de trama para reutilizar sprites a mitad de fotograma.

Véase también

Referencias

  1. 1 2 Hague, James. "¿Por qué existen las consolas de videojuegos dedicadas?" . Programación en el siglo XXI . Archivado del original el 23-04-2018 . Recuperado el 02-09-2019 .
  2. Guttag, KArl (6 de diciembre de 2011). "Primero, sé útil (ordenadores domésticos y proyectores pico)" . KGOnTech .
  3. Patente estadounidense 4.243.984
  4. Johnstone, Bob (2003). Never Mind the Laptops: Kids, Computers, and the Transformation of Learning . iUniverse. p. 108. ISBN  978-0595288427.
  5. "De Re Atari" . 1981. Archivado del original el 31 de julio de 2017. Consultado el 10 de agosto de 2017 .
  6. VCF East 2019 -- Joe Decuir -- Computadoras Atari Serie 800: 40 años . Vintage Computer Federation. 6 de mayo de 2019 [Presentación del 5 de mayo de 2019]. El evento tiene lugar a las 28:30 . Recuperado el 24 de mayo de 2026 a través de YouTube.
  7. 1 2 Steve Golson (2016). Análisis post mortem de un juego clásico: 'Ms. Pac-Man'(Conferencia). Game Developers Conference . El evento tiene lugar a las 20:30 . Consultado el 26 de enero de 2017. [ …] 6 personajes en movimiento, lo que hoy llamaríamos "sprites", nosotros los llamábamos "sellos" en aquel entonces, […].
  8. Swalwell, Melanie; Wilson, Jason (12 de mayo de 2015). Los placeres de los videojuegos: ensayos sobre historia cultural, teoría y estética . McFarland & Company . págs. 109-110 . ISBN  978-0-7864-5120-3Archivado del original el 16 de mayo de 2021. Consultado el 16 de mayo de 2021 .
  9. Colby, Richard; Johnson, Matthew SS; Colby, Rebekah Shultz (27 de enero de 2021). La ética de jugar, investigar y enseñar juegos en el aula de escritura . Springer Nature . pág. 130. ISBN  978-3-030-63311-0Archivado del original el 3 de mayo de 2021. Consultado el 3 de mayo de 2021 .
  10. Primeros hitos en videojuegos archivados el 5 de noviembre de 2017 en Wayback Machine , The Golden Age Arcade Historian (22 de noviembre de 2013)
  11. Folleto de baloncesto archivado el 8 de julio de 2014 en Wayback Machine (1974), Museo de folletos de recreativas
  12. ^ Akagi, Masumi (13 de octubre de 2006).アケードTVゲームリスト国内•海外編(1971-2005) [ Lista de juegos de Arcade TV: edición nacional • extranjera (1971-2005) ] (en japonés). Japón: Agencia de noticias de atracciones. págs. 40–1 , 51, 129. ISBN  978-4990251215.
  13. Smith, Alexander (19 de noviembre de 2019). They Create Worlds: The Story of the People and Companies That Shaped the Video Game Industry, Vol. I: 1971-1982 . CRC Press . pp. 191–195 . ISBN  978-0-429-75261-2Archivado del original el 2 de mayo de 2021. Consultado el 16 de mayo de 2021 .
  14. "スペースインベーダー・今明かす開発秘話――開"" [ Space Invader, historia secreta de desarrollo revelada ahora: entrevista con el desarrollador Tomohiro Nishikado y el presidente de Taito, Yoichi Wada ] . El Nikkei (en japonés). 21 de marzo de 2008. Archivado desde el original el 23 de marzo de 2008 . Consultado el 3 de mayo de 2021 .
    • "Space Invaders – Entrevista con los desarrolladores por su 30.º aniversario" . Shmuplations .
  15. Thorpe, Nick (marzo de 2014). "Los años 70: la génesis de una industria" . Retro Gamer . N.° 127. págs. 24–27 .  
  16. Dillon, Roberto (19 de abril de 2016). La edad de oro de los videojuegos: El nacimiento de una industria multimillonaria . CRC Press. ISBN 9781439873243 vía Google Libros.
  17. Haciendo realidad la Famicom , Nikkei Electronics (12 de septiembre de 1994)
  18. Wright, Steve (3 de diciembre de 1979). "Guía del programador de Stella" (PDF) . Archivado (PDF) del original el 27 de marzo de 2016. Recuperado el 14 de abril de 2016 .
  19. "Tutorial de sprites GoldSrc" . the303.org . Consultado el 26 de septiembre de 2024 .
  20. "Cómo importar y usar sprites 2D de papel en Unreal Engine" . epicgames.com . Epic Games . Consultado el 31 de octubre de 2024 .
  21. "Plus - CPCWiki" . Cpcwiki.eu. Archivado del original el 20 de julio de 2011. Consultado el 29 de noviembre de 2009 .
  22. "Adaptador de interfaz de televisión" . AtariArchives.com. Archivado del original el 25 de agosto de 2010. Consultado el 6 de febrero de 2011 .
  23. "Preguntas frecuentes sobre Atari 5200 - Descripción general del hardware" . AtariHQ.com. Archivado del original el 14 de mayo de 2011. Consultado el 6 de febrero de 2011 .
  24. "El controlador de vídeo MOS 6567/6569 (VIC-II) y su aplicación en el Commodore 64" . Archivado del original el 30 de agosto de 2006. Consultado el 8 de enero de 2006 .{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  25. "Manual de referencia de hardware de Amiga 4: hardware de sprites" . 1989. Archivado del original el 14 de agosto de 2017. Consultado el 23 de mayo de 2017 .
  26. "Especificaciones de Gameduino" . excamera.com. Archivado del original el 13 de diciembre de 2021. Consultado el 13 de junio de 2011 .
  27. "STIC - Intellivision Wiki" . wiki.intellivision.us . Archivado del original el 9 de julio de 2018. Consultado el 15 de marzo de 2018 .
  28. TEXAS INSTRUMENTS 9900: Procesadores de visualización de vídeo TMS9918A/TMS9928A/TMS9929A ​​(PDF) . Archivado del original (PDF) el 14 de agosto de 2017. Consultado el 5 de julio de 2011 .
  29. Montfort, Nick; Bogost, Ian (9 de enero de 2009). Racing the Beam: The Atari Video Computer System . MIT Press. ISBN 9780262261524 vía Google Libros.
  30. "Aprende programación en lenguaje ensamblador multiplataforma 6502... ¡Para monstruos! Serie específica de la plataforma" . Archivado del original el 4 de diciembre de 2021. Consultado el 4 de diciembre de 2021 .
  31. "Hardware de vídeo derivado de Galaxian" . GitHub . MAME . Archivado del original el 30 de noviembre de 2017. Consultado el 23 de octubre de 2018 .
  32. "Hardware derivado de Galaxian" . GitHub . MAME . Archivado del original el 5 de septiembre de 2018. Recuperado el 23 de octubre de 2018 .
  33. "Familia de hardware Galaxian" . GitHub . MAME . Archivado del original el 24 de febrero de 2021. Recuperado el 23 de octubre de 2018 .
  34. Nathan Altice (2015), I Am Error: The Nintendo Family Computer / Entertainment System Platform , páginas 53 y 69. Archivado el 12 de noviembre de 2016 en Wayback Machine , MIT Press.
  35. "Especificaciones" . Nocash.emubase.de. Archivado del original el 21/06/2009 . Consultado el 29/11/2009 .
  36. "Microsoft Word - NESDoc.doc" (PDF) . Archivado (PDF) del original el 30/09/2011 . Consultado el 29/11/2009 .
  37. "GameBoy - Spielkonsolen Online Lexikon" . At-mix.de. 22 de junio de 2004. Archivado del original el 6 de mayo de 2010. Consultado el 29 de noviembre de 2009 .
  38. "Especificaciones" . Nocash.emubase.de. Archivado del original el 21/06/2009 . Consultado el 29/11/2009 .
  39. Charles MacDonald. "Documentación VDP de Sega Master System" . Archivado del original el 18 de marzo de 2014. Consultado el 5 de julio de 2011 .
  40. "Información técnica de Sega Master System" (TXT) . Smspower.org . Archivado del original el 24/06/2019 . Consultado el 28/11/2016 .
  41. "Preguntas frecuentes sobre programación de Sega, 18 de octubre de 1995, sexta edición - final" . Archivado del original el 22 de enero de 2005. Consultado el 10 de diciembre de 2015 .
  42. Personal de Polygon (3 de febrero de 2015). "Cómo Sega construyó la Genesis" . Polygon. Archivado del original el 3 de noviembre de 2015. Consultado el 28 de noviembre de 2016 .
  43. "Sega Out Run Hardware (Sega)" . Sistema 16. 31-03-2016. Archivado del original el 28-11-2016 . Recuperado el 28-11-2016 .
  44. "mame/segaorun.c en master · mamedev/mame · GitHub" . github.com . 21 de noviembre de 2014 . Consultado el 15 de marzo de 2018 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  45. "Out Run" . 27 de febrero de 2001. Archivado del original el 27 de febrero de 2001. Consultado el 28 de noviembre de 2016 .
  46. "Out Run Hardware (Sega)" . Sistema 16. Archivado del original el 28-11-2016 . Recuperado el 29-11-2009 .
  47. "Versión 0.3 - 7 de febrero de 1998" . Coinop.org . Archivado del original el 14 de mayo de 2016. Consultado el 28 de noviembre de 2016 .
  48. "Hardware común de Sega de 16 bits" . Archivado del original el 25/01/2016 . Consultado el 09/02/2016 .
  49. "Notas de hardware de la placa "X-Board" de Sega" . Archivado del original (TXT) el 18 de marzo de 2014. Consultado el 28 de noviembre de 2016 .
  50. "X68000-Computer Museum" . Museum.ipsj.or.jp . Archivado del original el 2 de octubre de 2014. Consultado el 28 de noviembre de 2016 .
  51. ^ "mame/x68k.c en master · mamedev/mame · GitHub" . github.com . 21 de noviembre de 2014 . Consultado el 15 de marzo de 2018 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  52. ^ Yoshida, Koichi (12 de septiembre de 2001). "超連射68K 開発後記" . Página web de Yosshin (en japonés). Archivado desde el original el 12 de mayo de 2019 . Consultado el 28 de noviembre de 2016 .( Traducción de Shmuplations. Archivado el 2 de julio de 2019 en Wayback Machine ).
  53. "Notas de hardware de Neo-Geo MVS" (TXT) . Furrtek.free.fr . Archivado del original el 16 de septiembre de 2018. Consultado el 28 de noviembre de 2016 .
  54. "Manual de programación de Neo-Geo" (PDF) . Furrtek.free.fr . Archivado (PDF) del original el 6 de diciembre de 2016. Consultado el 28 de noviembre de 2016 .
  55. "Gran lista de interruptores DIP de depuración" . Neo-Geo. 9 de julio de 2014. Archivado del original el 28 de noviembre de 2016. Consultado el 28 de noviembre de 2016 .
  56. "Guía de diseño del motor de sprites de SNES" . 30 de marzo de 2021. Archivado del original el 4 de diciembre de 2021.