Saltar al contenido
[ Suscribirse ]
[ Glosario ]

Parallax no es Mode 7: la profundidad sale de los registros, no de las capas

Se le atribuye a la Super Nintendo un truco que su modo más citado vuelve imposible. El parallax no se mide en capas de dibujo, sino en cuántos desplazamientos independientes aguanta el chip a la vez.

Redacción ItzLambo

Publicado 16/08/2026, 16:57 · 3 min de lectura

Compartir en WhatsApp Compartir en Facebook Compartir en Bluesky Compartir en X
Imagen: ItzLambo

Parallax scrolling es desplazar varias franjas del fondo a distinta velocidad para que la más lenta se lea como la más lejana. Lo que lo permite no son las capas de dibujo: son los valores de desplazamiento independientes que la máquina puede sostener a la vez. Se cuentan registros, no capas.

Y no lo inventó el videojuego. Viene de la cámara multiplano: láminas de vidrio pintadas en estantes separados, «moviéndose a distinta velocidad para crear la ilusión de profundidad». Ub Iwerks armó la suya en 1933; la de Disney, del equipo de William Garity, aguantaba seis planos y se estrenó en The Old Mill (1937). Como el dithering, llegó prestada.

El error: Mode 7 no hace parallax

Se le atribuye a la función de la Super Nintendo que fingía 3D, y es justo la que lo impide. Mode 7 deja la consola con una sola capa de fondo; el modo 0 le da cuatro. Su capa extra tampoco es un plano nuevo: EXTBG activa BG2 como duplicado de BG1 partido por prioridad. Lo aprovechable no es el modo, sino la herramienta que le fabrica el horizonte: ese H-DMA reescribe, en los modos normales, el registro de desplazamiento de cada capa en cada línea de barrido.

Dos placas y ningún plano de sobra

Jump Bug (1981) corre sobre hardware de Galaxian, que no tiene segunda capa. Su fondo es un tilemap cuyas 32 columnas llevan cada una su propio desplazamiento —los bytes pares de los primeros 64 de la OBJRAM—, y las estrellas ni están dibujadas: las genera un registro de desplazamiento realimentado de 17 bits.

Moon Patrol (Irem, 1982) sí trae hardware dedicado: dos parejas de registros X/Y para fondos que no son tiles, sino imágenes repetidas. Pero los dibujos son tres —montañas, colinas, ciudad— y el límite está anotado en el código de MAME: «only one of these be drawn at once (they share the same scroll register)». Colinas y ciudad nunca coinciden. El suelo, además, tiene un solo registro de X y una NAND sobre las líneas V64 y V128 que decide en qué cuarto de pantalla se aplica.

«Por software» no es una categoría

La NES tiene un fondo y un par de registros; cualquier banda extra obliga a reescribirlos a mitad de cuadro —«it can also be modified during rendering in order to split the screen»— con el programa persiguiendo al haz. El VDP del Mega Drive no necesita eso: su registro de modo admite «11: scroll every line», y el chip lee él solo una tabla en VRAM, un desplazamiento por línea. Línea a línea no significa por software.

Quién fue primero no está cerrado, y conviene decirlo así: se citan Jump Bug en 1981 y Moon Patrol en 1982, y lo único legible hoy es el silicio de cada placa. Y no confundirlo con el vecino: el sprite scaling finge distancia cambiando el tamaño de un objeto; el parallax no toca el tamaño de nada.

[ Fuentes ]

  1. Background modes — capas por modo de fondo del PPU del Super Nintendo (modo 0: cuatro capas; modo 7: una) y EXTBG, que «activates BG2 as a duplicate of BG1, but split into two layers» · SNESdev Wiki
  2. PPU registers — registros de desplazamiento BG1HOFS a BG4VOFS ($210D-$2114), uno por capa, y «even when updating mid-frame with HDMA» · SNESdev Wiki
  3. PPU registers — PPUSCROLL ($2005): un único fondo y «it can also be modified during rendering in order to split the screen» · NESdev Wiki
  4. VDP register reference — modos de desplazamiento horizontal del Mega Drive («00: full scroll, 01: scroll eight lines, then repeat, 10: scroll every tile, 11: scroll every line»), vertical («0: full scroll, 1: scroll every two tiles») y dirección de la tabla de hscroll en VRAM · Plutiedev
  5. m52.cpp — hardware de Moon Patrol (Irem, 1982): registros bgxpos/bgypos 0 y 1, «only one of these be drawn at once (they share the same scroll register)» para colinas y ciudad, y el único registro de scroll X del tilemap con la NAND sobre las líneas V64 y V128 · MAME (mamedev)
  6. galaxian_v.cpp — vídeo de la placa de Galaxian que usa Jump Bug: «normal galaxian hardware is row-based and individually scrolling columns», set_scroll_cols(32), los bytes pares de los primeros $40 de la OBJRAM como posición de scroll y el generador de estrellas por LFSR de 17 bits · MAME (mamedev)
  7. Multiplane camera — cámara de hasta seis capas de fondo pintadas sobre vidrio, invención del equipo de William Garity, estrenada en The Old Mill (1937) · D23 / The Official Disney Fan Club
  8. The Multiplane Camera — el antecedente de Lotte Reiniger, la cámara horizontal de Ub Iwerks en 1933 y los planos «moving at different speeds to create the illusion of depth» · Hands-On Film History Project, University of Oregon
El semanal

Lo que importó de verdad

Un correo por semana con las 5 noticias que mueven la industria y el mejor video vertical. Nada de refritos de notas de prensa.

Doble opt-in · Sin spam · Sin pop-ups en todo el sitio

[ Síguenos donde leas ]

Sin algoritmo que decida por ti: el correo y el RSS llegan enteros. En las redes publicamos los cortes.

En redes