Player missile graphics

Para cualquier plataforma ATARI, computadores o consolas.
Responder
Avatar de Usuario
dark_cperez
expert
expert
Mensajes: 1620
Registrado: Mié Jun 11, 2008 1:03 pm
Reputación: 4

Player missile graphics

Mensaje por dark_cperez »

Buenas,

Consulto si alguien puede explicar de forma simple, el concepto "Player missile graphics" usados para presentar gráficos en pantalla con Atari.

Entiendo que es superponer un pixel/sprite sobre otro. Otra duda es el nombre, por qué no le pusieron algo como "Over Background" o qué se yo 8( .

Saludos.
Avatar de Usuario
fcatrin
hard player
hard player
Mensajes: 466
Registrado: Jue Abr 10, 2008 2:45 pm
Reputación: 0
Ubicación: Quilpué, Chile
Contactar:

Re: Player missile graphics

Mensaje por fcatrin »

La historia se remota al PONG!!

El hardware del Atari 2600 estaba diseñado para hacer el PONG y contaba de 3 elementos:

1: El fondo o playground
2: Las pelotas
3. Las paletas.

Las paletas después se llamaron "players" y las pelotas terminaron como "missile" después de juegos como Missile Command y Combat
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: Player missile graphics

Mensaje por vitoco »

fcatrin escribió:La historia se remota al PONG!!
Primera vez que escucho eso... Igual me hace sentido, excepto que por las características de los P/M, tendría que ser un pong con las paletas arriba y abajo en la pantalla (a lo Arkanoid).

Me explico en forma simple (los detalles se pueden gugliar, binguiar, yajuar, wikipediar, etc):

El Background está compuesto por los pixeles de colores en modos gráficos o de texto, o por nada como en los bordes. Son zonas fijas en la pantalla (aunque manipulables por el DL) y sólo puedes modificar la data para generar animaciones o fondos estáticos. Nótese que una secuencia de bytes modifican una línea de gráfico o texto horizontalmente.

Los Players son otro nivel de gráficos que se sobreponen al Background, y consisten simplemente en unas barras verticales de 8 bits de ancho de un único color, y por lo tanto, una secuencia de bytes modifican el gráfico desplegado verticalmente, de arriba hasta abajo como en los sets de caracteres, pero cruzando la pantalla. Son 5 players en total y la ubicación horizontal en la pantalla se define modificando su respectivo registro en memoria. Para poner un cuadrado en un Player, hay que llenar de ceros la data y poner algunos 255 ($FF) en secuencia en algunos de los bytes asignados, y para lograr moverlo verticalmente, hay que hacer scroll de la data, lo que puede afectar el desempeño de un juego si no se optimiza el código (por eso digo que es más simple mover una paleta de pong hacia los lados, ya que no hay que mover data).

Los 4 Missiles se obtienen partiendo el 5to player en pares de bits, y a cada par se le puede asignar una posición horizontal distinta (la vertical sigue siendo mediante data, y es algo más complejo porque hay que hacer operaciones lógicas para combinar los distintos Missiles. Por lo tanto, se pueden tener hasta 4 Ps y 4 Ms o bien 5 Ps sin Ms.

Existen otros registros en memoria que permiten detectar si hay colisiones entre los bits encendidos de cada player contra otro tipo de bits encendidos, que pueden ser otros Players o parte del Background, lo que permite en forma simple detectar si mataste un marciano sin tener que calcular a mano las posiciones de cada objeto de tu juego.

Como cada P/M puede tener sólo un color, se pueden combinar varios Players como en el Montezuma, e incluso lograr más colores al sobreponer los bits de ellos y mezclar sus respectivos colores. También se puede usar DLI para cambiarle el color a un Player mientras se pinta la pantalla como en el Bruce Lee o el PitFall, y lograr colorear la cabeza, polera y pantalones para definir al personaje.

También es posible definir más de un objeto en una barra de Player, siempre y cuando se encuentren en distintas posiciones verticales. Al igual que los colores, es posible modificar la ubicación horizontal de un Player. El resultado es que puedes lograr un ejército de varias filas de 4 soldados, y lograr animaciones interesantísimas como en el Demon Attack (aunque pienso que el port de este juego en particular podría estar animado manipulando DL de texto en modo ANTIC 4).

Otras características que pueden ser alteradas en un P/M son el ancho y el alto que ocupa cada bit en la pantalla.

En resumen, el concepto de P/M es bastante más complejo que los Sprites del Commodore 64, pero el resultado puede ser similar o más poderoso aún si se manejan correctamente.

No resultó tan corto como esperaba, pero espero que siga siendo simple como para entenderlo.

++Vitoco

PD: El Pong tradicional se puede implementar usando sólo 3 Missiles.
Avatar de Usuario
BonesCollector
expert
expert
Mensajes: 3377
Registrado: Vie Nov 10, 2006 7:02 pm
Reputación: 25
Ubicación: Santiago de Chile

Re: Player missile graphics

Mensaje por BonesCollector »

Lo que pasa es que el procesador gráfico GTIA (o CTIA según corresponda) es descendiente del chip TIA que usaban las VCS2600, que según algunos solo estaba diseñado para jugar pong ]-)

Saluts
Avatar de Usuario
fcatrin
hard player
hard player
Mensajes: 466
Registrado: Jue Abr 10, 2008 2:45 pm
Reputación: 0
Ubicación: Quilpué, Chile
Contactar:

Re: Player missile graphics

Mensaje por fcatrin »

vitoco escribió:
fcatrin escribió:La historia se remota al PONG!!
Primera vez que escucho eso... Igual me hace sentido, excepto que por las características de los P/M, tendría que ser un pong con las paletas arriba y abajo en la pantalla (a lo Arkanoid).
Lo que pasa es que el 2600 no tiene video ram, entonces no puedes poner muchas cosas en horizontal, pero si en vertical, ya que por cada scanline dibujado le dabas el patrón que querías seguir.

En los Ataris "grandes" el player está mapeado a videoram y ahi pierde el sentido de que el pong no haya sido tipo arkanoid. Lo que cuesta es el seteo mental para pensar en como programar el 2600:

http://en.wikipedia.org/wiki/Television ... ce_Adapter
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10895
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 8
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: Player missile graphics

Mensaje por ZZT »

Más facil aun. Un player y un misile pueden ser definidos simplemente como objetos en la pantalla, generalmente uno es el movido por el jugador (player) y el otro es el objeto(s) que tratamos de evitar (misile). Cuando se produce una colisión entre ambos (uno toca al otro) y dependiendo del juego hay una determinada reacción, como por ejemplo cuando la pelota del pong toca la raya (supuesta raqueta) el programa hace que ella "rebote".
Otro par de buenos ejemplos es cuando el montezuma es tocado por una calavera el programa genera una animación en la que pedro se muere. O como cuando el pacman es alcanzado por un fantasma. idem.

PD: excelente la explicación técnica de Don vitoco++
Responder