¿Como se conseguía en NES crear o simular varios planos de scroll?

Supongo que era imprescindible añadir chips de apoyo en los cartuchos. ¿Pero se trataban realmente de varios planos de scroll o simplemente un efecto óptico como en el Sonic 3 de Megadrive?

Supongo que el mejor ejemplo es "Batman: Return of the Joker", pero en este video aparecen multitud de ellos:

https://www.youtube.com/watch?v=ltuRuGM271Q
atreyu_ac está baneado del subforo por "faltas de respeto"
Se me ocurre que ahí en realidad no hay planos diferentes, sino que hay una sucesión de tiles que están dibujados con distinto desplazamiento, y al moverse el scroll se cambia un tile por otro.
Si te fijas los fondos son siempre muy sencillos: un tile solo tile repetido muchas veces.

EDIT:hostia, acabo de ver el fondo del Bucky en la pantalla del volcán. Eso no sé cómo lo hacen en una NES.

EDIT2: ah, vale. Lo dicen en los comentarios:
Paralax scrolling is done by deviding the frame into horizontal or vertical lines and then move them individual at different speeds in the direction were the sprite is moving, multi scrolling background is done by letting the ppu doing the background and let the cpu doing the frontground by updating tiles per frame trough the DMA framebuffer into the direction were the sprite is moving, what a shame that most nes games never took benefit of it.

Es como esos juegos que cambian de paleta en mitad de un frame, pero con la posición de los tiles del fondo, que lo hace la PPU.
En una Nes no sé, pero en la actualidad en OpenGL, yo lo haría definiendo los planos con sprites (los que quieras), desplazando unos sobre otros según la velocidad determinada, y superponiéndolos para que se vean "encima" los que tengan que quedar delante.

Imagino que la Nes proporcionaría la misma herramienta.
atreyu_ac escribió:Se me ocurre que ahí en realidad no hay planos diferentes, sino que hay una sucesión de tiles que están dibujados con distinto desplazamiento, y al moverse el scroll se cambia un tile por otro.
Si te fijas los fondos son siempre muy sencillos: un tile solo tile repetido muchas veces.

EDIT:hostia, acabo de ver el fondo del Bucky en la pantalla del volcán. Eso no sé cómo lo hacen en una NES.

EDIT2: ah, vale. Lo dicen en los comentarios:
Paralax scrolling is done by deviding the frame into horizontal or vertical lines and then move them individual at different speeds in the direction were the sprite is moving, multi scrolling background is done by letting the ppu doing the background and let the cpu doing the frontground by updating tiles per frame trough the DMA framebuffer into the direction were the sprite is moving, what a shame that most nes games never took benefit of it.

Es como esos juegos que cambian de paleta en mitad de un frame, pero con la posición de los tiles del fondo, que lo hace la PPU.


Pregunta tonta: ¿Qué es un tile?
Tile es el pequeño sprite, normalmente un cuadrado o rectángulo, que combinado con otros (del mismo tamaño es lo aconsejable) y pintados a la vez, te generan un fondo.

Los fondos en juegos clásicos estaban hechos así, por ahorrar espacio, y se consiguen efectos espectaculares.
atreyu_ac está baneado del subforo por "faltas de respeto"
Promis escribió:Tile es el pequeño sprite, normalmente un cuadrado o rectángulo, que combinado con otros (del mismo tamaño es lo aconsejable) y pintados a la vez, te generan un fondo.

Los fondos en juegos clásicos estaban hechos así, por ahorrar espacio, y se consiguen efectos espectaculares.


Un tile no es un sprite. Un tile es un tile.
Bueno, me refería a imagen. En el fondo es casi lo mismo un tile que un sprite, a efectos prácticos, además no dominaba la terminología inglesa.

Para explicárselo bien al user, si juntas un conjunto de imágenes, y las combinas simulando suelos, montañas, nubes, lo que quieras, al final queda un efecto casi perfecto de lo que quieres conseguir.

Por ejemplo en el Mario Bros:

Imagen

Eso son tiles.

En cambio todos los muñequitos de Mario serían los sprites. Pero es lo mismo, uno que otro, porque el sprite tienes que animarlo para que parezca que es un muñeco de verdad que se mueve, e igualmente las tiles puedes animarlas también (si simulas el agua en movimiento, o un árbol que se mueve).

Aquí puedes ver en la imagen cómo están incluso seccionadas, y sólo tienes que coger las que quieras, y dibujarlas en el sitio que quieras.

Como puedes ver, se te brinda la posibilidad de por ejemplo, hacer las plataformas lo largas que quieras. Coges el trozito izquierdo de la misma, el derecho, y entre medias metes el central todas las veces que quieras.

Ya en término de videojuegos es más complicado de explicar porque entran temas como matrices y otros elementos de programación para conseguir pintar una fase.
Entiendo. ¿Entonces es necesario usar chips de apoyo para simular ese efecto de otro plano de scroll mediante tiles?

¿El número de tiles que puede mover el hardware es el mismo que el número de sprites que puede poner en pantalla? Es decir... ¿Todos esos tiles que conjuntados simulan el efecto de un scroll son a efectos prácticos para el hardware un esfuerzo similar al que debe hacer para mostrar un personaje en movimiento?
En términos de esfuerzo no te sé decir. No tengo ni idea de la arquitectura de una Nes.

Respecto a tu pregunta, en teoría animar un sprite gasta menos recursos que hacer los efectos de las tiles. El sprite es sólo un personaje, con una posición concreta, y se va cambiando la imagen del mismo. Técnicamente eso consume poco. Pintar un tileset más, porque tienes que pintar cada imagen (tile independiente). Mientras en un sprite tienes una imagen, aquí tienes a lo mejor 5000. Si la arquitectura proporciona almacenamiento temporal de las tiles, y pintarlas de golpe se aumenta la productividad. Luego la pantalla hay que refrescarla continuamente. Si encima añades scroll u otros efectos pues la cosa se complica... [sonrisa]

Pero por ejemplo, poniendo como diferencia el Kirby's Adventure que es de los últimos juegos, y el Castlevania, que es de los primeros, se observan cambios.

Las tilesets del primero son animadas (a veces). Se mueve el agua. Mientras que en el Castlevania los fondos no se mueven nunca. Esto implica diferencias de programación y diferencias en la gestión de recursos. Una come más que otra.

Antes te han explicado cómo hacían el scroll y es aprovechando posibilidades de la arquitectura.

Eso sí, no dudes que los recursos están aprovechados al máximo, en cada juego, y posiblemente este Kirby llevara chip de apoyo.
A todo esto, alguien sabe cuales son los temas que van sonando en el video. La verdad que me han gustado mucho y ese de Ninja Gaiden, esta muy bien logrado.
1985a escribió:A todo esto, alguien sabe cuales son los temas que van sonando en el video. La verdad que me han gustado mucho y ese de Ninja Gaiden, esta muy bien logrado.


El primero parece una versión cantada del tema principal de Double Dragon.
@Ya Kid K
A consecuencia de tu hilo, he conocido joyas de NES, que en verdad desconocia. Incluso, mirando sus apartados tecnicos que lo hicieron destacar, me sorprende Batman Return of the Joker. Parece como si fuera un juego de GENESIS de la primera horneada.

En esta pagina, es donde se puede ver un resumen de ellos.
http://www.racketboy.com/retro/nintendo ... hics-sound
Trucos de VDP, había que comerse mucho el tarro para conseguirlo. Según el tipo de tile se desplaza a distinta velocidad, pero realmente no hay 2 planos. Ese efecto en 8bit tiene mucho mérito. Normalmente los tiles no suelen solaparse entre sí, date cuenta que los distintos "planos" no suelen tocarse, ejemplo:

https://youtu.be/ltuRuGM271Q?t=139

El suelo, las montañas y las nubes nunca llegan a tocarse unos con otros, son realmente franjas del mismo plano.
1985a escribió:@Ya Kid K
A consecuencia de tu hilo, he conocido joyas de NES, que en verdad desconocia. Incluso, mirando sus apartados tecnicos que lo hicieron destacar, me sorprende Batman Return of the Joker. Parece como si fuera un juego de GENESIS de la primera horneada.

En esta pagina, es donde se puede ver un resumen de ellos.
http://www.racketboy.com/retro/nintendo ... hics-sound


Esa pagina es muy buena, sobre todo porque tiene listas sobre juegos ocultos y otros artículos similares, bastante específicos.
Se que lo de los planos de scroll eran con "trucos" de programación. Pero el Sword Master con todos esos "scrolls" es alucinante.
Ya lo han explicado por aqui mas o menos pero haré un resumen.
Existen 5 formas de crear "planos" virtuales, aunque menos la primera todas se basan en modificar el scroll (horizontal y/o vertical) en tiempo de dibujado de pantalla.

1-Con tiles animados, como en el batman return of the joker o esas escenas del fondo de bucky o hare o en el 3 eyes story (https://www.youtube.com/watch?v=cZVrSkndTtw&t=4m12s)

2-Con sprites (https://www.youtube.com/watch?v=dWHPNnrTmKs&t=5m47s) + un poquito del numero 3, pero el "plano" son los sprites

3-Con interrupciones a mitad de pantalla, como aqui: https://www.youtube.com/watch?v=dWHPNnrTmKs&t=4m30s
(aunque tambien utiliza un poco los sprites para simular que se solapan)

4-Con codigo de longitud fija, intentando que cuando termine de ejecutarse un trozo de codigo estes en cierta parte de la pantalla y entonces cambias el scroll, battletoads funciona asi y por eso el ntsc no va vien en las pal y viceversa (bueno casi todos los de rare, este es el metodo mas hardcore, les va lo duro...), tambien se utiliza en la intro del dragon warrior 3 (https://www.youtube.com/watch?v=g3he_rH_JQo&t=33s).

5-Esperando al "Sprite 0 hit" utilizas el sprite 0 para determinar si has llegado a la zona de pantalla donde quieres hacer el split del scroll, esto lo usa super mario bros por ejemplo para la parte del marcador que es fija, la desventaja es que solo se puede hacer un split por frame.

Y creo que eso es todo xD
15 respuestas