Sprites, BOBs y otras criaturas mágicas (I): INTRODUCCIÓN [Commodore Spain]

Sprites, BOBs  y otras criaturas mágicas (I): INTRODUCCIÓN

 

Desde las naves de ‘Battle Squadron’, hasta los futbolistas de ‘Sensible Soccer’, pasando por los protagonistas de 'Turrican' o 'Shadow of the Beast', el 99% de los elementos gráficos presentes en los juegos de Amiga son Sprites o BOBs (Blitter Objects), cada uno de los cuales, como iremos viendo, con sus propias ventajas e inconvenientes.

 

the_ultimate_amiga_standoff_by_melomonster

“Sprite, que eres un sprite!”

 

Veamos todo esto con un ejemplo… Imagina un folio en blanco. Vamos a suponer que esa es la memoria de vídeo de nuestro Amiga. Supongamos que, en dicho folio, dibujamos la superficie de un planeta sobre la que tendremos que mover la nave protagonista. Veamos cómo podríamos hacer esto, en función de si decidimos dibujar nuestra nave como un BOB o como un sprite:

 

 

BOB: se trata de elementos gráficos que se dibujan directamente sobre la memoria de vídeo con la ayuda del Blitter, uno de los coprocesadores del Amiga. En el caso de la máquina de Commodore, dicha zona de memoria se organiza en forma de bitplanes o planos de bits.

 

Siguiendo con nuestro ejemplo, en este caso, dibujamos la nave directamente sobre el folio (es decir, sobre los bitplanes), tal y como hicimos con el fondo. Para simular el movimiento de la nave tendremos que borrarla de su posición actual antes de dibujarla en sus nuevas coordenadas. Pero, si lo hacemos así, no es difícil ver que, con el movimiento de la nave, también iremos borrando el fondo a su paso. Esto sería perfecto si el protagonista de nuestro juego fuera un agujero negro… pero, como no es el caso, está claro que habrá que hacer algo más elaborado. En concreto, cada vez que queramos desplazar la nave haremos lo siguiente:

    1. Restaurar la porción del fondo que nuestra nave machacó al moverse a su posición actual, y que habremos guardado previamente.
    2. Hacer una copia de la porción del fondo que quedará machacado por la nave cuando la dibujemos en su nueva posición.
    3. Dibujar la nave en esa nueva posición.
Ciclo vida BOB

El inconveniente de que nuestra nave sea un BOB está claro: por cada paso tenemos que hacer 3 operaciones que serán más o menos costosas en función del tamaño y número de colores del elemento a copiar en cada caso (fondo o nave). La ventaja sería que las limitaciones en cuanto a tamaño y número de colores, más que por los BOBs en sí, vendrían impuestas sólo por el tamaño y número de colores de nuestro fondo.

 

 

Sprite: no se dibujan sobre la memoria de vídeo, sino que se trata de elementos que se muestran de manera independiente y que, según un sistema de prioridades, pueden aparecer por delante o por detrás de los bitplanes.

Los sprites tienen las siguientes limitaciones:

  • Solo es posible emplear 8 sprites en una misma línea.
  • Tienen un ancho máximo de 16 píxeles.
  • Cada sprite, de manera aislada, puede mostrar un máximo de 4 colores (3 + transparente). Si emparejamos 2 sprites, ese límite de colores ascenderá a 16 (15 + transparente).

 

¿Qué pasa con nuestro ejemplo? En lugar de dibujar la nave directamente sobre el folio (es decir, sobre los bitplanes), podríamos dibujarla aparte, recortarla y moverla libremente por encima de nuestro escenario, sin tener que preocuparnos de salvar y restaurar el fondo cada paso de la nave. Esa es sin duda la mayor ventaja de emplear sprites para elementos gráficos móviles. Los inconvenientes vendrían dados por las limitaciones de los propios sprites, comentadas previamente.

 

Como ya podréis imaginar, una de las tareas fundamentales durante el diseño de un juego para Amiga, es decidir qué elementos gráficos de nuestro juego serán BOBs y cuáles serán sprites, teniendo en cuenta las ventajas y desventajas de cada uno de ellos, que quedan resumidas en la siguiente tabla:

Tabla comparativa Bobs vs Sprites

 

En fin, si has llegado hasta este punto del artículo: ¡enhorabuena! En primer lugar, por continuar despierto… Y en segundo lugar, pero no menos importante, porque ya tienes la base teórica necesaria para afrontar las próximas entregas de 'Sprites, BOBs y otras criaturas mágicas’, en las que, entre otras cosas, analizaremos los diferentes usos de BOBs y sprites en algunos de los grandes juegos que pasaron por el Amiga.

 

 

fernando cabrera

Un artículo publicado por:

Fernando Cabrera (@fcabrera_77)
Ingeniero informático. Nostálgico del Spectrum, adorador del Amiga y aficionado a los videojuegos y a la retro-informática. Ahora también Colaborador desde mi sección para Commodore Spain. 

 

 

Logo El rincón de Fer

 



Commodore Spain Ver noticia original
Fuente: Commodore Spain
Síguelos también desde: https://www.facebook.com/CommodoreSpain https://www.youtube.com/user/CommodoreSpain https://twitter.com/CommodoreSpain
Editar

Josepzin

No hay comentarios:

Publicar un comentario