Gracias a la televisión hemos sido testigos de la lucha de Goku contra innumerables enemigos (que luego pasaban a ser amigos), de la búsqueda interminable de la hermana de Mulder, y de las ingeniosas y no menos fantásticas soluciones de McGuyver a cualquier problema. Pero sobretodo, sin la televisión, no habrían sido posibles los videojuegos, e indie-o-rama estaría dedicada al apasionante mundo de las performances teatrales callejeras. Olvidaos de ir a misa hoy, porque vamos a dedicarle un rato al verdadero dios todopoderoso: La tele.
Al igual que Homer Simpson, todo ser humano debería dedicar unas horas al día a adorar ese grandioso invento que todo seguidor de esta web tenía bajo el brazo ya nada más nacer. Televisores, monitores o pantallas, sin ellos los videojuegos no son posibles, y nunca está de más conocer un poco mejor cómo funcionan aquellas herramientas que usamos en nuestro día a día, así que durante los próximos Dev Lavde hablaré sobre la tele, y su relación con el desarrollo videojueguil.
Rayos Catódicos
Casi todos recordaremos aquellos televisores monstruosos que necesitaban cuatro tíos fornidos para colocarlos en el salón y teñían con una sombra negra de chamusquina la pared que quedaba detrás. En ellos jugábamos a disparar patitos con nuestra recién desembalada NES. Lo que puede que se nos escape es que existían gracias a un invento de hace más de un siglo: El tubo de rayos catódicos.
El funcionamiento de cualquier monitor o pantalla CRT (Cathode Ray Tube), se basa en un tubo de vacío por el que se hace pasar una corriente. Esa corriente genera un rayo, formado por electrones que chocan con un extremo del tubo cubierto de un material fluorescente, iluminándolo.
Al introducir un campo magnético, la dirección en la que van los rayos cambia. Y una corriente eléctrica puede generar ese campo magnético. Así que se puede aprovechar todo esto para hacer que el rayo recorra la pantalla usando solamente una señal eléctrica. Si se hace suficientemente rápido, y variando la intensidad de los rayos a la vez que recorren la pantalla, podemos formar una imagen. Sólo necesitamos una señal eléctrica diseñada para ello: la señal de vídeo.
La señal de vídeo
Para que podamos ver una imagen en un monitor CRT, la pantalla obedece a una señal eléctrica analógica que controla los rayos. Esta señal contiene la información de intensidad de cada rayo y unos pulsos de sincronía que indican cuando el rayo tiene que saltar de línea (sincronismo horizontal) o volver al principio (sincronismo vertical). El rayo recorrerá la pantalla de izquierda a derecha y de arriba abajo a toda velocidad gracias a dos electro-imanes que se activan con ella. Para formar imágenes a color, las pantallas CRT usan tres rayos que iluminaban tres pantallas de fósforo: rojo, verde y azul.
Para hacer llegar esta señal a la pantalla de cualquier hogar, se inventó lo que técnicamente responde al nombre de televisión. Se trata de un sistema de difusión similar a la radio, mediante el cual unas emisoras y repetidores con unas antenas muy grandes distribuyen una señal electromagnética a todos los hogares que porta la señal de vídeo, así todo el mundo puede ver la misma información en el mismo instante. Mediante modulación, se pueden insertar varias señales de vídeo al mismo tiempo en la misma portadora, utilizando distintas bandas de frecuencias denominadas canales.
Sin embargo, con los videojuegos no funciona exactamente igual. En este caso, la señal de vídeo es emitida por un dispositivo electrónico y viajará a través de un cable hasta el televisor. Algunas consolas como la Mega Drive, utilizaban un adaptador para modular la señal de vídeo del juego en un canal en el propio cable de la antena, pero lo más corriente y que aún se sigue usando en muchos casos, era usar un cable de vídeo compuesto, o vídeo por componentes para llevar la señal al televisor.
Refresco vertical y horizontal
El refresco vertical es el momento en el que el rayo vuelve al punto inicial, indicado por los impulsos de sincronía. Dura un tiempo determinado y es el momento en el que los videojuegos aprovechan para cambiar la señal de vídeo y montar el fotograma siguiente. De no hacerlo así, la señal cambia durante el pintado, y en algunos casos se pueden producir problemas visuales. Se pintaría parte de un fotograma en la parte superior de la pantalla, y parte del siguiente en la parte de abajo, resultando, por ejemplo, en un personaje partido. Al producirse fotograma tras fotograma, el resultado es una especie de franja horizontal que va recorriendo la pantalla, lo que se denomina como screen tearing. Esta es la razón principal de porqué los juegos dan la opción de esperar o no al refresco vertical para cambiar la imagen.
No obstante, algunos hábiles programadores usaban este efecto para realizar algún truquillo: Algunas consolas tenían hardware específico para pintar sprites de forma rápida y eficiente, pero sólo permitían que se pintaran un número limitado de ellos por fotograma. Utilizando los impulsos de sincronía horizontal para averiguar qué línea se estaba pintando se podía engañar a la máquina y pintar más sprites cambiando el fotograma a mitad del pintado. Esta técnica, conocida como sprite multiplexing fue muy utilizada en los años dorados de la NES, y la Mega Drive. Incluso se sigue utilizando en los juegos 2D en consolas como la Nintendo DS.
En resumen
En esencia, lo que hace un videojuego es componer una imagen para pintarla en una pantalla. El cómo funcionan esas pantallas tiene bastante miga y aquí sólo raspamos un poco la superficie, pero aunque hoy por hoy no suele ser necesario entrar al nivel de la señal de vídeo para desarrollar un videojuego, técnicas como el «sprite multiplexing», prueban que conocer la tecnología puede ser de gran utilidad.
Y en este caso, la tecnología asociada la televisión ha sufrido una larga evolución a lo largo de décadas, y lo que hoy tenemos como centro del salón es muy distinto a lo que se podía encontrar en los años 50. Sin embargo, hay muchas cosas en común, y algunas prácticas se mantienen hoy día en los televisores de alta definición. La contrapartida es que esa evolución ha dado lugar a multitud de estándares de televisión y señal de video (NTSC, PAL, SECAM, CGA, VGA y un largo etcétera). Afortunadamente, de ser necesario, en Internet se pueden encontrar fácilmente todos los detalles técnicos al respecto.