Asteroids: los asteroides #Programación retro del Commodore 64

Parece mentira, pero vamos avanzando. Ya toca meter los asteroides que, en realidad, es casi lo último (nave, disparos y asteroides). Bueno, en realidad quedan más cosas, porque luego están las colisiones, las animaciones (explosiones), el sonido, la pantalla de inicio, etc.

Como en el caso de la nave, lo primero es diseñar el aspecto gráfico de los asteroides. Nuevamente, usando el editor de sprites de CBM prg Studio, nos han quedado así:

Asteroids - Diseño asteroides

No hace falta utilizar otro fichero. Se puede utilizar el mismo fichero "Sprites.spt" que utilizamos para la nave, ubicando el diseño en el "frame" 9. De hecho, si utilizamos el mismo fichero ello nos facilita la exportación / importación, porque no tenemos que usar varios ficheros.

En el caso de los asteroides no vamos a necesitar varios "frames", porque no vamos a hacer que roten. Se podría hacer si se quisiera, o si se quisiera que los asteroides tuvieran formas variadas. De momento, no es el caso.

Lo que sí vamos a hacer es pintar asteroides de diferentes tamaños, para lo que usaremos las opciones de expansión horizontal y vertical de los sprites. En el editor de sprites (ver arriba) estas opciones aparecen activadas, pero esto sólo afecta a cómo se previsualiza el sprite en el editor, con o sin expansión. Posteriormente, a la hora de programar, es cuando hay que indicar que el sprite X está expandido o no. Con los colores ocurría lo mismo.

Y hablando de colores, los asteroides también van a ser sprites multicolor. Por tanto, comparten con la nave estos colores:

  • Color multicolor 1: gris oscuro ($0b).
  • Color multicolor 2: amarillo ($07), aunque en este caso no se utiliza.

Por lo demás, los asteroides usan como color propio el gris claro ($0f). Da la casualidad de que este color también es utilizado por la nave, pero esto no tendría por qué ser así. Sólo los colores del multicolor tienen que ser compartidos.

Y poco más, una vez diseñado el sprite de los asteroides, lo exportamos junto con los "frames" de la nave. Los nueve "frames" van al fichero "Sprites.bin", siendo los ocho primeros "frames" los de la nave, y el último "frame" el de los asteroides.

A la hora de importarlos no hay que tocar nada en el fichero "Recursos.asm", ya que no cambia nada. Sólo cambia el contenido del fichero "Sprites.bin", que ahora tiene un "frame" más:

Asteroids - Importar caracteres

Hay que ser conscientes, eso sí, de que el nuevo "frame" va al final del fichero y, por tanto, le corresponde el puntero 200. A la nave le siguen correspondiendo los punteros 192, 193, 194, 195, 196, 197, 198 y 199. Recordemos que 192 x 64 = 12.288 = $3000, que es precisamente la dirección de carga (*=$3000).

Todo esto lo podéis ir estudiando en la versión 09 del proyecto. Abundaremos más en todo ello en las próximas entradas.


Código del proyecto: Asteroids09


Editar

Josepzin

No hay comentarios:

Publicar un comentario