Hoy, centrados en el desarrollo de SEGA Saturn
Japón no era un país aficionado a SEGA, y Mega Drive quedó en un tercer puesto por detrás de Nintendo y NEC con unas ventas muy bajas. De esta manera, en 1992 comienza el desarrollo de crear un sistema definitivo que desbancara en tareas 2D y así, poder tener finalmente ese espacio en el mercado nipón. Hideki Sato, ingeniero jefe y responsable de Saturn junto con su equipo, tomaron como base la filosofía de System 32, una de sus placas arcade y la adaptaron para el mercado doméstico, esto es, tener un sistema con un procesador principal (terminan eligiendo el procesador SH2 de Hitachi, un procesador lanzado en 1992), que trabajaría junto a 2 chips gráficos creados por SEGA. El primero, llamado VDP1, desempeñaría las operaciones con los sprites, como mostrar sprites y realizar funciones de rotación, escalado de los personajes, objetos, etc… El segundo chip, llamado VDP2, se encargaría de los fondos, donde se podrían trabajar con hasta 5 capas distintas y realizar funciones de scrolling, parallax (aplicar scrolling en varias capas en diferente velocidad para dar una sensación de perspectiva) e incluso efectos gráficos como rotación y escalado en planos (modo 7 de Super Nintendo), entre dos capas distintas. La imagen final se compondría después la unión de la imagen generada por el chip VDP1 junto con la imagen generada por el chip VDP2.
Sin embargo, a mitad del desarrollo, SEGA se enterría del proyecto Playstation, una consola que estaba creando Sony y que podría manejar polígonos. Esto evidentemente alertó a SEGA de que su consola, orientada por completo al 2D, no iba a poder ni siquiera competir de salida y si querían llevarse una parte del mercado, Saturn debía poder mostrar gráficos 3D. Así pues, el equipo de Hideki Sato toman la decisión de actualizar VDP1, para que pudiera realizar ciertas tareas 3D. Ahora nos preguntaremos, ¿cómo pudieron reciclar un chip gráfico especializado en 2D para tareas 3D si las operaciones que se necesitan son totalmente distintas?. Bueno la respuesta viene sobre cómo Saturn mostraba los gráficos 3D, ya que su método, se basaba en distorsionar los sprites mediante el uso de escalado y rotación.
El mundo de los gráficos 3D en videojuegos era una tecnología emergente a principios de los 90, y como toda tecnología emergente, hasta que no se posiciona un estándar de facto, existen diferentes alternativas que compiten entre sí hasta que logra ganar una sobre las demás. Una de las primeras batallas que se libraron fue sobre elegir el número de vértices que iba a contener cada polígono. Las placas arcade de Namco como System 21 y 22 y consolas como Playstation o Nintendo 64 operan con triángulos como unidad básica. Esto es, todo objeto, personaje, o mapeado es un conjunto de triángulos dispuesto de una cierta manera para formar el objeto, a este conjunto de polígonos posteriormente se le asocia una textura o imagen que se amolda al conjunto de polígonos. Por otro lado, las placas de SEGA como las model y consolas como SEGA Saturn o incluso 3DO, operaban con quads o polígonos de cuatro lados como unidad básica. Esto quiere decir, que todo objeto era un conjunto de polígonos de cuatro lados o quads. En el caso concreto de SEGA Saturn, la cpu principal se encargaba de calcular toda la lógica sobre los quads y sería el VDP1, el chip gráfico relacionado con los sprites, el que, mirando cada quad, la posición de sus vértices y la posición de la cámara en el juego, añadiría el sprite correspondiente en la pantalla en la posición que estaría quad y lo deformaría para que encajase en él. Esto se haría con cada quad en pantalla hasta formar la imagen completa. Ya todos conocemos la representación de polígonos basado en triángulos es el estándar actual, ya que, los polígonos basados en triángulos son más flexibles (ya que siempre que necesites un cuadrado lo puedes formar con la unión de dos triángulos) y por otro lado, la renderización de la imagen es mucho más rápida, porque, sin entrar en muchos detalles, el algoritmo de rasterizado (el algoritmo que pasa un triangulo de un eje de coordenadas 3D a la representación final en la pantalla) es mucho más rápido si se tienen el procesador necesario para ello.
Saturn podría ser capaz de manejar 3D sin tener que diseñar una consola desde cero, y con eso se intentaría competir con Sony. Pero, Hideki Sato, ya con el diseño terminado, recibió otro golpe de mazo por parte de Sony ya que estos aseguraron que su consola podrá mostrar hasta 300.000 polígonos por segundo, algo que resultaba imposible para la consola de SEGA. Su respuesta, fue la única que podía dar sin tener que tirar totalmente el diseño, añadir un segundo SH2 como procesador principal para que mientras un procesador llevase la carga de la IA y toda la lógica del juego, mientras que el segundo procesador pueda realizar las operaciones sobre los polígonos. El problema que esto conllevaba, es que la dificultad para programar para la máquina se multiplicaba. Recordemos que mientras ahora tenemos consolas que tienen un procesador con varios núcleos (que podemos decir que son como varios procesadores compactados en un mismo chip), y existen librerías de programación para hacer los desarrolladores la vida más fácil, a principios de los 90, esto no era común en el mercado doméstico. Además, la disposición los procesadores no eran en paralelo, sino en disposición en serie.
Vamos a explicarlo con un ejemplo muy fácil, imaginémonos que queremos trabajar desde casa, pero se nos ha olvidado coger unos informes y debemos coger un coche para ir a la oficina, y al mismo tiempo, tu pareja está en la misma situación que tú y necesita un coche para recoger sus informes en otra oficina. Si cada uno tiene su propio coche, pueden ir cada uno con su coche a la oficina, recoger los informes, volver a casa y trabajar con ellos. Esto es lo que llamamos una disposición en paralelo, que es la disposición que vemos en los procesadores actuales. Por contra, si solo tenemos un coche y nuestra pareja ha tomado el coche, tenemos que esperar a que llegue a casa para que nosotros podamos coger el coche, recoger los informes, volver a casa y finalmente ponernos a trabajar. Esta es justamente la disposición de los procesadores de Sega Saturn, donde los procesadores no podían ir a la vez a la memoria principal y tenían que turnarse. El problema es evidente, el programador debía ser muy cuidadoso sobre qué operaciones lanzar para que los procesadores fuesen lo mínimo posible a la memoria principal (oficina) y pudiesen trabajar desde la memoria caché (casa).
SEGA Saturn saldría finalmente en noviembre de 1994 en Japón con tan sólo 6 juegos de lanzamiento, meses más tarde Estados Unidos tendría un lanzamiento improvisado ante el miedo de PlayStation. La consola acompañaba un port de Virtua Fighter que resultó muy pobre debido a un cúmulo de factores como la dificultad a la hora de programar para la máquina debido a los múltiples procesadores que tiene, además, los procesadores principales eran tan nuevos que no tenían compilador preparado y tenían que hacer el juego en ensamblador. Otro problema grave era la filosofía, y es que los desarrolladores no sabían inicialmente sacarle el partido a los múltiples chips de la consola, dejando de lado los chips auxiliares y utilizando solo los básicos (por ejemplo, Virtua Fighter no hacía uso de las particularidades de VDP2, toda la imagen era generada por VDP1). Por último, los juegos multiplataforma eran extremadamente difíciles de portear ya que, como Saturn se basaban en la tecnología de los quads mientras que Playstation se basaba en triángulos y si los desarrolladores optaban por tomar a la consola de Sony como el juego de referencia, tenían que utilizar al final una serie de trucos para poder adaptar los gráficos. Tomb Raider por ejemplo, utilizaba sprites cortados por la diagonal, donde la otra parte estaba coloreado con el color de transparencia, otros juegos ponían 2 vértices en una misma posición para crear un triángulo. Estos trucos, aunque efectivos, al final incidían en el rendimiento haciendo que los ports fuesen de dudosa calidad comparados con la competencia.
Después del fracaso de 32X, SEGA destinó todos sus esfuerzos a Saturn, y esto hizo que llegaran juegos que supiesen aprovechar la máquina. Por ejemplo, debido al fracaso de Virtua Fighter, realizaron una actualización llamada Virtua Fighter Remix que mejoraron los gráficos y la fluidez gracias a que esta vez conseguían utilizar los dos procesadores gráficos conjuntamente haciendo que VDP2 se encargase de renderizar el suelo, utilizando un sprite y aplicando el modo de rotación y escalado de planos (el modo 7 en Super Nintendo). Además, vieron que uno de los procesadores, que era el que hacía que todos los procesadores se comunicasen entre ellos tenía un pequeño co-procesador que podía realizar ciertas tareas en paralelo, recurso esencial que hizo aumentar el rendimiento en los juegos.
Aun con todo el esfuerzo final y si bien en Japón la consola gozó de cierto éxito, SEGA finalmente perdería la batalla de una manera fulminante. Primero, la maraña de procesadores que utilizaba la consola, el coste de producción se situaba alrededor de 500 dólares mientras que la consola tenía un precio de venta al público de 399 dólares, dando así una extraña tesitura que cuantas más consolas vendidas, más pérdidas generaba la empresa. Además, Sony meses después demostró lo que su consola podía ser capaz, haciendo que tanto los desarrolladores como los usuarios amasen esta consola y olvidando, finalmente, SEGA Saturn.
En el próximo número podemos finalmente hablar de las consolas de Sony y Nintendo, Playstation y Nintendo 64.