¡EspectaQLar!

Poster del juego

Batman, el mítico juego de Jon Ritman de 1986 ahora también para el retro-ordenador Sinclair QL gracias al remake de Joan Gayón, que está disponible gratuitamente en varias versiones, para la máquina original y para emulador.

Batman

Introducción por napsternds.

Batman, el “Hombre Murciélago”, apareció por primera vez en la historia titulada «El caso del sindicato químico» de la revista Detective Comics N.º 27, lanzada por la editorial National Publications el 30 de marzo de 1939.

A partir de ese momento, Batman, el superhéroe, el trasunto del millonario Bruce Wayne que combate a los malhechores et Gotham City, se convirtió en un mito de la cultura popular a nivel mundial: cómics, series de televisión, relatos escritos, juguetes, películas y, a partir de 1986, videojuegos. Sí, Batman llegó al décimo arte en la época dorada de los 8-bits, y desde el primer momento supuso un hito, tanto a nivel comercial, como por sus logros técnicos.

Batman (1986), programado por Jon Ritman con diseño gráfico de Bernie Drummond y publicado por OceanSoftware, llevaba más allá de los límites conocidos las posibilidades de los juegos en 3 dimensiones con perspectiva isométrica (la famosa técnica Filmation) que había popularizado el sello “Ultimate play the game” con los también míticos títulos Knight Lore (1984) y Alien 8 (1985).

El juego fue desarrollado originalmente para ZX Spectrum y, en la época, se lanzaron versiones para Amstrad CPC, MSX y Amstrad PCW. Posteriormente, aficionados de diversasplataformas han desarrollado remakes (MS-DOS) o versiones mejoradas (MSX2, con los gráficos coloreados).

El juego de Ritman y Drummond fue todo un éxito en su momento, cosechando altas puntuaciones y menciones de honor en las revistas inglesas (C+VG Hit, Crash Smash, SinclairUser Classic, Your Sinclair Megagame, Zx Computing Monster Hit). En aquella época, Microhobby no daba puntuaciones a los juegos reseñados en la revista, pero en el artículo de la página 12 del número 83 incluyó perlas como éstas: “se trata de una extraña mezcla entre los aspectos gráficos de Fairlight y la técnica de juego en la más pura línea arcade de los míticos programas de Ultimate” o “Batman no necesita equipararse a nadie; su calidad habla por sí misma, tiene madera de estrella”.

Portada del juego

A nivel comercial fue un éxito total. No se dispone de cifras de venta concretas, ni en España ni en UK, pero en la lista “los 20+”, que publicaba semanalmente microhobby con datos proporcionados por El Corte Inglés, se mantuvo más de 20 semanas, que es muchísimo tiempo teniendo en cuenta que fue publicado antes de la bajada de precios de Erbe. El PVP de salida de Batman fue de 2.100 pts.

A nivel técnico era un alarde absoluto, llevando la técnica Filmation de perspectiva 3D isométrica a su máxima expresión. Las 150 pantallas plantean al jugador una serie de puzzles complejos pero resolubles, con un movimiento de personaje y enemigos suave y fluido, sin ralentizaciones de ningún tipo. El diseño gráfico de Drummond es detallado y preciosista, monocromo en el Spectrum, el MSX y el PCW y algo más colorido en la versión de Amstrad CPC. El diseño de la jugabilidad fue otro gran acierto y, a diferencia de la gran mayoría de juegos de la época, sigue siendo muy jugable aún hoy.

Batman apareció en mayo de 1986. El mercado de la informática doméstica ya había dejado atrás el primer boom. Las plataformas de 8-bits más exitosas se habían consolidado (Spectrum, Amstrad, Commodore y MSX) y muchas otras se habían quedado en el camino (Oric, Dragon, Sord, New Brain, etc.). Los ordenadores de 16-bits ya habían aparecido en el mercado (Atari ST, Amiga) aunque todavía no representaban una parte significativa del mismo.

Otra víctima ilustre de los vaivenes del mercado (o de la falta de acierto de su creador) fue el sucesor del Sinclair ZX Spectrum, el ZX83, o como fue finalmente lanzado en enero de 1984, el Sinclair QL. Sinclair lanzó al mercado su Quantum Leap como ordenador profesional, pero con prestaciones de ordenador doméstico, con lo que al final no fue ni una cosa ni otra. Los problemas de calidad y retrasos en el lanzamiento unidos a la fuerte competencia provocaron que, tras el colapso de Sinclair y la consiguiente venta de su IP de ordenadores a Amstrad en abril de 1986, Alan Sugar decidiera cancelar la línea QL y mantener únicamente el Spectrum en su portfolio de productos.

O sea, que el QL murió en abril de 1986 y Batman salió al mercado en mayo del mismo año. Como es fácilmente imaginable, nunca hubo una versión de Batman para el malogrado ordenador de Sinclair.

Video del juego

Clic para ver el video del juego realizado por Miguel Ángel Rojo.

Pero nunca es tarde si la dicha es buena, y en pleno siglo XXI, la denostada plataforma de Sinclair cuenta con una legión de adeptos, bueno, más que legión quizá no sea más que una centuria, que mantienen vivo el espíritu de la máquina con nuevos desarrollos de Hardware y Software y proporcionan inesperadas alegrías a los aficionados.

Hace más de 4 años, un programador de pura cepa descubrió las posibilidades gráficas (limitadas, 8 colores en 256x256 píxeles) del QL y se preguntó cómo luciría uno de los juegos favoritos de su infancia (el Batman de Jon Ritman para Spectrum) a todo color. Dicho y hecho, Joan Gayón tomó el toro por los cuernos: se compró un Sinclair QL, estudió a conciencia el funcionamiento de la memoria de video, las interrupciones, los registros, el (casi inexistente) sonido y se puso a programar en ensamblador del Motorola 68000 un clon pixel perfect del juego original. Bueno, no exactamente pixel perfect, ya que también convirtió los gráficos monocromáticos del original de Spectrum a una versión de los mismos en glorioso multicolor, aprovechando al límite la escasa paleta del QL.

Y por fin, tras doce párrafos de verborrea insulsa, ha llegado el momento de decirlo alto y claro, ni Match Point, ni Alien Hijack, ni nada que se le acerque. Joan Gayón ha programado EL MEJOR JUEGO DE TODOS LOS TIEMPOS PARA EL SINCLAIR QL, y además tenemos la suerte de que lo pone a nuestra disposición para que lo disfrutemos. Funciona en un QL con 640k de RAM (los 128k originales de la máquina más 512k). El equipo de beta-testers ha verificado el funcionamiento en distintas configuraciones, tanto de máquina física (ROM JS o Minerva, Gold Card, Super Gold Card, Aurora) como en distintos emuladores (sQLux, QemuLator, ZesarUX) y soluciones FPGA (Mister).

El juego se comporta exactamente igual que el original, los mismos gráficos (en colorines), el mismo mapa, los mismos puzzles, la misma diversión. Absolutamente EspectaQLar!!!!

El remake para QL

BatmanQL ha sido desarrollado integramente en lenguaje ensamblador desde cero. Todas las rutinas y toda la lógica del juego están basadas en la observación del comportamiento del juego original, usando los sprites de la versión para CPC, ya que así se partía de sprites a 4 colores.

Dada la peculiar arquitectura de la memoria gráfica del QL así como el uso del bit sobrante para flash (yo hubiera preferido bright para obtener el doble de colores como en el spectrum pero pixel a pixel), tuve que sacrificar la optimización de espacio por optimización de rendimiento, anulando así cualquier posibilidad de que cupiese en un QL de stock con 128kb.

Mover un sprite por la pantalla del QL de forma fluida, en términos de movimientos de 1 pixel o 2 pixeles, tiene un gran impacto en el rendimiento de las rutinas de impresión, al tener que hacer desplazamientos lógicos en los registros del sprite antes de imprimirlos.

Uno de los principales problemas que encontré fué el tener que ordenar los objetos de la escena en función de los ejes ejes x, y, z. Esto me llevó a reescribir una y otra vez algoritmos de ordenación que parecían funcionar bien para después encontrar que fallaban en algunos casos. Al final opté por dejar el único que fallaba en dos circunstancias muy concretas.

Captura 1 Captura 2 Captura 3 Captura 4

Echando un poco la vista atrás pienso que si no hubiera insistido tanto en ciertos algoritmos y rutinas críticas, el producto final no hubiera sido el mismo.

El proyecto lo inicié a finales del 2020 para demostrar las capacidades de un ordenador que tuvo muy poco software lúdico y que fué muy mal tratado en este aspecto. En un principio, no tenia la intención de hacer todo el juego, sino una “demo técnica” del que fué mi juego favorito de mi infancia, pero conforme se iba haciendo más y más complejo el código, me di cuenta que para hacer una pequeña demo de un par de pantallas del Batman, tendría que hacer prácticamente TODO… así que una vez empecé, tenia que probarme a mi mismo que era muy posible. Que poco sabía entonces de todos los problemas que me iban a ir saliendo. Esto me recordó a una película en el que el personaje dice en un momento algo así como que después de resolver un problema tenias que estar preparado para resolver el siguiente y así sucesivamente hasta resolverlo todo.

Descarga el juego

Contenido para descargar:

Descarga del juego en formato imagen de disquete Batman_img.zip Contiene un archivo de imagen de diskette DD 720k, para utilizar con Gotek o en emuladores. Puede pasarse a diskette físico con un dispositivo Greaseweazle o similar.
Descarga del juego en formato win Batman_win.zip Contiene un archivo .WIN, contenedor de disco duro para emuladores o FPGAs.
Descarga del juego en emeulador Batman_sqlux.zip Contiene una instalación portable del emulador sQLux para Windows preconfigurada para arrancar con la archivo .WIN. Esta (0, 1 ó 2) en el archivo sqlux.ini.
Descarga de la etiqueta del juego batman_floppy.png Imagen para ser impresa y usada como etiqueta de disquette elaborada por Álvaro Alea.

Sobre el autor

El programador Joan Gayon.

Nací en la primavera del 73, viviendo así los gloriosos años 80 de los que guardo los mejores recuerdos informáticos.

Mi primera incursión en los ordenadores fué un poco accidentada, pues esperando mi hermando y yo que nos trajesen un MSX que pedimos en una tienda de electrodomésticos del pueblo, se nos echó el verano encima y seguíamos sin tener el ordenador, así que un día nos fuimos de compras al Continente y allí estaban… tantos ordenadores y tantas cosas por descubrir…

Al final optamos por una oferta que tenían allí que constaba de un Inves Spectrum+ y un monitor fósforo verde de 12”. Sin saberlo, estábamos comprando un clon de Spectrum que contar sus anécdotas daría para un artículo completo. Ya por aquel entonces, con 14 años, empezaban mis preguntas sobre lenguaje máquina…

Escritorio

Espacio de trabajo del autor. Aquí se gestó el Batman para QL.

Siempre tuve curiosidad por las cosas lógicas, ya fueran mecánicas o eléctricas, siempre me llamaban mucho la atención. Supongo que eso me hizo aprender un poco de todo. Mis conocimientos sobre electrónica o sobre informática, o tantos otros hobbies, son poco profundos, ya que quien mucho abarca, poco aprieta. De todas formas, mi pasión ha sido siempre la electrónica y por tanto la informática de sistemas físicos. Entre mis otros hobbies tengo la astronomía, la música y las ciencias en general.

La programación ha sido, por tanto, una parte muy importante de mi infancia, y nunca me he dedicado profesionalmente a esto, aunque he tenido varias ocasiones en esta vida para ello.