Efectos especiales con Jim Bagley (entrevista)

(Realizada por Pablo L. Del Rincón y traducida por él mismo y Leo Rojo).

Viene de la introducción.

Jim ¿trabajaste para alguna otra compañía o grupo de programación aparte de Special FX en la era de los 8 bits?

Comencé en la industria de los videojuegos en una compañía llamada Consult Computer Systems, y allí hice un juego llamado Throne of Fire para el ZX Spectrum, diseñado por el gran Mike Singleton y publicado por Melbourne House en 1987. Después de eso me fui a Canvas Software Limited, donde hice Road Runner, Streets Sports Basketball y World Class Leaderboard, todos ellos de nuevo para el Spectrum y también en 1987, antes de moverme a Special FX para hacer Gutz y demás.

¿Con qué maquina de 8 bits te sentías más a gusto trabajando?

El Spectrum era mi favorita, a pesar de ser capaz de programar en casi cualquier otra. Conocía el código tanto del Z80 como del 6502 y el 6809, así que además de con el Spectrum podía trabajar con los Amstrad, Commodore 64, VIC 20, Dragon 32 y Tandy TRS80 también, sin olvidar las Gameboy, Game Gear, Master System y NES. Pero era más feliz con el Spectrum porque tenía un diseño simple, no tenía un hardware complicado, así que era todo un reto lograr lo que querías, cosas que eran más fáciles de hacer cuando por ejemplo tenías sprites controlados por hardware echándote una mano. El Spectrum era sólo tú y tu código, por lo que era un reto divertido hacer las cosas tan increíbles que se hicieron (¡y que aún se hacen!).

Se puede ver en alguno de tus últimos juegos para el Spectrum que los sprites son anchos y un poco achatados, o sea más gruesos que altos. Esto se hace evidente sobre todo en Midnight Resistance, Cabal e  incluso Hudson Hawk. En los casos en que esos sprites pueden ser comparados con los de una recreativa por ser originales de ésta, como por ejemplo en Cabal o Midnight, las diferencias resultan más evidentes. ¿Por qué, Jim?

Esto es porque, en las recreativas, usualmente la pantalla se rotaba 90 grados para obtener más altura, porque el formato de la imagen es ligeramente rectangular. No quería que la gente tuviese que voltear sus televisores 90 grados porque habría estado mal (risas), así que a la hora de convertir el juego al Spectrum cambiábamos un poco el formato, como en Hudson Hawk, y a partir de ahí seguimos con ese estilo.

Ejemplo de videojuego – caritatura, huelga decir que con un resultado mucho mejor que el de la caricatura de película en que se basa.

¿Has programado una recreativa? ¿La convertirás al Spectrum?

No, lo que hice fue adaptar Manic Miner para que funcione sobre la placa de una máquina del Pac Man. Aquí lo puedes ver funcionando.

Quizás usaste personajes rechonchos en Cabal para hacerlos más fáciles de adaptar al Spectrum (risas). Jim, para finalizar con tu aventura con el Spectrum, el scroll de tus juegos solía ser un poco abrupto. ¿Por qué decidiste usar ese método?

Porque quería hacer los juegos tan rápidos como fuese posible para mantener la jugabilidad, y también porque los fondos eran grandes y coloristas. Para que todo se mueva sin generar mezcla de atributos el scroll ha de hacerse carácter a carácter (8 píxeles cada vez). Yo prefería que el personaje se moviese con suavidad a expensas del scroll. Por ejemplo, mi remake de Double Dragon corre a 30 imágenes por segundo, por lo que estás desplazando un carácter por la pantalla 30 veces en un segundo, pero haciéndolo a mi manera consigo que el personaje se mueva en incrementos de menos de 8 píxeles, y se ve más suave. Cuando hacíamos un juego en una plataforma para la que no estaba diseñado, por ejemplo una conversión de recreativa para el Spectrum, había cosas que era necesario sacrificar y al programador le correspondía decidir cómo hacerlo para mantener el parecido con el hardware original tanto como fuese posible.

También mostraste tus habilidades programando juegos para sistemas de 32 bits, e hiciste algo para la poderosa Sega 32X. Un gran sistema pero que quizás salió demasiado pronto. ¿Cómo fue tu experiencia con este derivado de la Saturn?

Gracias a que me encantaba trabajar con la 32X, fue por lo que empecé a escribir Striker para ella. Me encantaba su arquitectura de procesadores paralelos y disfrutaba con el reto de codificar para ella. Conseguir el funcionamiento sincronizado de los SH2 para dibujar la trayectoria del balón y de los jugadores haciendo barridos alternativos de la pantalla era muy disfrutable, y el resultado constituía una recompensa como la de marcar un gol. Se podían conseguir efectos alucinantes para ese tiempo. Era una máquina realmente estupenda, pero desafortunadamente la 32X llegó al mercado un poco tarde.

Pepe Gotera y Otilio trabajaron para Sega durante una temporada, y este fue el resultado.

Algunos dicen que la Saturn era una máquina bastante más difícil de programar que la PSX. Tú trabajaste con ambas. ¿Qué opinas? Si crees que están en lo cierto, ¿piensas que fue esa la principal razón por la que la PSX echó del mercado a la máquina de Sega?

Sí, diría que la Saturn era más difícil de programar, porque tenía tantos procesadores dentro que bastante gente se veía incapaz de centrarse para sacarles partido. Para mí era un reto muy divertido tener a mi disposición múltiples GPUs, CPUs y DSPs. Especialmente cuando escribí Doom para ella y John Romero dijo que no usásemos el hardware 3D para renderizar el juego. Supuse que no quería que el juego tuviese mejor aspecto que en PC de ninguna de las maneras, por lo que tuve que trabajar muchísimo el renderizado para usar los procesadores SH2, no solo para dividir el trabajo entre ellos, sino también para mezclar el orden de instrucciones al objeto de evitar cuellos de botella, haciendo el código prácticamente ilegible. Fue un reto con el que me divertí mucho y echado la vista atrás considero que lo hice bastante bien, teniendo en cuenta que estaba usado la CPU de la consola para renderizar en vez del hardware 3D. Lo segundo habría sido como sentarse a hacer el vago (risas).

Y teniendo en cuenta lo que dice, demasiado bien quedó.

Creo que uno de los principales motivos por los que la Sega Saturn enseguida se me quedó pequeña fue por el hecho de que la PSX podía hacer transparencia alfa. La Saturn tenía un error de hardware por el que si hacías transparencia alfa tardaba seis veces más tiempo en renderizar polígonos, algo que se nota en casi todos los juegos de la consola, en los que se usa una malla negra y una textura totalmente transparente para crear sombras y así acelerar la velocidad de ejecución, lo que hace que los juegos de la PSX tengan mucho mejor aspecto y encima funcionen más rápido.

Striker y Ultimate Soccer tienen un aspecto similar en  Megadrive. ¿Escribiste ambos juegos? ¿Tienen algo que ver entre sí?

Ultimate Soccer era la versión original de Striker para Megadrive, y fue escrita con mi ayuda por el autor original de la versión para Atari ST. Yo escribí todo el código del menú de opciones directamente sobre la Megadrive, mientras que Striker lo había escrito yo entero con la idea de que correría en la Mega desde el principio, en lugar de ser el port de un juego del Atari ST, lo que redundó en un mejor aspecto visual. Por tanto sí, tienen algo en común porque supuestamente Ultimate Soccer iba a ser Striker, pero finalmente el juego no fue el mismo y tuve ocasión de hacer un trabajo 100% para Megadrive.

También has trabajado con consolas portátiles. ¿Cuál fue la experiencia más remarcable para ti? Quiero decir: de acuerdo a su época ¿fue mejor para ti trabajar con la Game Gear o la Game Boy?

Cierto, también he trabajado con portátiles y encuentro que la Lynx, en su momento, era tecnológicamente muy avanzada. Sin embargo prefería la Game Gear porque era más cómoda de programar que la Game Boy o la propia Lynx. Pero Nintendo iba de éxito en éxito con sus consolas, y en el momento en que salió la Game Boy Advance era imparable. Disfrutaba mucho programando la GBA, a pesar de creer que las cosas empezaban a ir a peor: en la mayoría de las consolas portátiles modernas tienes que programar en C en lugar de en ensamblador, que es más rápido pero también más chapucero. Si quieres exprimir a tope la máquina lo suyo es utilizar ensamblador, pero con el tiempo, el C y el progreso de las APIs nos han alejado cada vez más de la metodología de programación eficiente de los primeros días, que a mí tanto me gustaba. Exprimir cada bit, jaja. Como te decía, me gustaba la Lynx por su potencia, pero precisamente por eso necesitabas llevar encima una tonelada de pilas Duracell para utilizarla. La Game Gear era mucho más divertida de programar. No creo que pueda decantarme por una portable favorita, porque todas tenían grandes puntos positivos.

“Me lo compré para que fuera tras de mí con las pilas para la Lynx”.

Jim, estoy seguro de que sabes que los usuarios de Amstrad CPC se mostraron muy insatisfechos con alguno de los ports de Spectrum que hiciste en Special FX. ¿Por qué no hiciste versiones específicas para CPC aprovechando a fondo su hardware?

Sí, conocía esas opiniones, pero no tenía mucho tiempo para hacer todas las versiones, y dado que ya tenía escrita la versión para ZX Spectrum, me resultaba mucho más fácil convertir el código del Spectrum al CPC (usan el mismo procesador) y centrarme en la del C-64, que había que escribir entera desde cero con diferentes sprites, secuencias de animación y demás. Por eso me decantaba por hacer portings con el Amstrad en lugar de hacer versiones específicas, por la falta de tiempo. Recientemente he estado pensando en la idea de hacer un juego específicamente para el CPC. He hecho una recreativa, un juego para ZX-81 y una vez tenga finalizado mi remake de Double Dragon para Spectrum me pondré a escribir un juego exclusivo para Amstrad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Leer entrada anterior
Efectos especiales con Jim Bagley (intro)

En los albores de la informática, los programadores de videojuegos trabajaban por lo general solos, en su propia casa, como...

Cerrar