Santiago Ontañón (Brain Games) es una de esas personas que se mantiene en silencio absoluto dentro de la escena. Y sin hacer ruido, a veces es como mejor van las cosas. Por suerte no es el único. Y si además sabes lo que haces cuando te lo propones, ya eres de ese grupo selecto que regala grandes obras para el usuario y sus máquinas.

MOAI-TECH: ¿Cuál fue tu primer MSX y cómo llegó?

Santiago Ontañón: Mi primer MSX fue un Philips VG-8020, ¡con monitor de fósforo verde! Un amigo de mis padres que siempre nos hacía regalos enormes por navidad nos lo regaló. Por aquellos tiempos (yo diría que navidades del 87, pero no estoy seguro), yo ya había estado taladrando a mis padres para que me compraran un Spectrum (que es el ordenador que tenían en el escaparate de una tienda que estaba en el camino de mi casa al colegio) y al final lo conseguí. O sea que el MSX se quedó en la caja durante varios meses, sin abrir. Un día volqué un vaso de zumo de naranja sobre el teclado del Spectrum y se estropeó (¡tardaron muchísimo en arreglarlo!) y me pasé al MSX. Cuando el Spectrum volvió arreglado, ya casi no lo utilicé nunca más ¡ja, ja, ja!

¿Cuándo comenzaste a interesarte por la programación y desarrollar tus propios programas?

Pues fue desde el principio. Ya con el Spectrum, antes de abrir el MSX, me encantaba copiar los programas en BASIC que venían en el manual y modificarlos para ver qué pasaba. Me pasaba horas jugando con bucles que dibujaban líneas, caracteres, etc. en la pantalla. Al principio entendía poco, la verdad, y no fue hasta que el hermano mayor de un amigo me enseñó a utilizar variables, que no empecé a entender cómo funcionaban las cosas. A partir de ahí ya empecé a intentar hacer minijuegos en BASIC con el MSX. Y ya en las épocas del Amiga, en un lenguaje estilo BASIC que se llamaba AMOS, hicimos juegos bastante decentes, algunos yo solo y otros realizados en colaboración con amigos. Cuando me pasé al PC, ya en el 1993 o así creo, me compré un libro de C++ y ya no he parado de hacer juegos desde entonces.

¿Cómo y por qué decides hacer un “Juan Palomo” en el mundo de la programación?

jJa, ja, ja! Pues me gusta hacerlo todo yo por varios motivos. El primero es que cuando se me ocurre una idea para un juego, el juego se convierte en “mi tesoro”. Si se me ocurre una idea y busco colaboraciones, ya no es “mi” juego, sino “nuestro” juego, y le pierdo algo de cariño. Pero bueno, también disfruto con colaboraciones, por ejemplo el Phantomas 2.0 que hicimos para CPC con mi amigo Jordi Sureda, lo disfruté mucho también.

La segunda razón por la que me gusta hacerlo todo yo es por tener el control de todo. En máquinas tan limitadas como un MSX de primera generación, no hay muchos ciclos de CPU ni bytes de memoria de sobras, o sea que teniéndolo todo bajo control se puede llegar más lejos. Por ejemplo, si soy yo mismo el que dibujo los gráficos, o creo los mapas, puedo imponerme restricciones como: “en cada fila horizontal de cada mapa, como mucho pueden haber 8 tipos de tile diferentes” y cosas así, que es mucho más difícil de comunicar a un grafista (ya que le limitas la creatividad). Mis juegos están llenos de este tipo de limitaciones, para conseguir sortear algunas de las limitaciones de la máquina. Por ejemplo, en el “X-Racing”, hay ciertos elementos en los mapas que solo pueden aparecer en tramos donde la pista hace scroll vertical, y elementos que solo pueden aparecer cuando hay scroll horizontal, o en el “The Menace from Triton”, ciertos enemigos solo pueden aparecer en las 8 filas superiores de la pantalla, etc. Muchas veces tengo que empezar a retocar los mapas y gráficos eliminando cosas, simplificando allí y aquí, e imponiendo nuevas restricciones, hasta conseguir que las rutinas vayan lo suficientemente rápido o las cosas quepan en memoria. Todo esto es infinitamente más sencillo de hacer si soy yo el que lo controla todo, que si tuviese que estar enviando emails y esperando a versiones nuevas cada vez.

Siguiendo tu trayectoria, hay algo increíble que no es muy común. No hay ni un solo juego igual. Todos son temáticas y diferentes entre sí. ¿A qué se debe?

Je, je, bueno, la razón principal es que lo que me gusta ¡es programar! Una vez tengo un motor hecho, hacer otro juego con el mismo motor, no me motiva mucho. En cuanto acabo uno, lo primero que pienso es ¡a ver qué motor nuevo podría hacer!

¿Hacer juegos de estilo diferente implica también cada vez hacer un motor desde cero?

Exacto, como te acabo de comentar. El 90% del código del motor de cada juego está hecho desde cero para cada juego. Hay algunas rutinas que los juegos nuevos van heredando, pero no me gusta la idea de hacer una “librería genérica” que rehusar. La idea de librerías genéricas está muy bien en entornos modernos de programación, donde perder un par de ciclos de CPU aquí y allí no importan, pero en una máquina de 8 bits, cada byte y cada ciclo de CPU cuentan. Por lo tanto, lo que tengo es código que reutilizo entre juegos, pero siempre está “personalizado” para cada juego, en lugar de simplemente reusarlo como una librería, y así puedo optimizar cosas para cada título en particular. Por ejemplo, la rutina para reproducir música es algo que reutilizo bastante, pero personalizo para cada juego. Es una rutina muy sencilla (pero suficiente para mis composiciones musicales sencillas), pero cada juego tiene necesidades diferentes y la voy personalizando para rebajar bytes aquí y allá.

¿Qué herramientas empezaste a utilizar en tus inicios de aprendizaje y cuáles usas actualmente?

Pues si nos centramos en ésta última época de programar en ensamblador para MSX, empecé a aprender ensamblador Z80 en 2016 para crear mi primer juego para MSX, “Transball”, que fue mi periodo de aprendizaje. Para hacer Transball básicamente usé Sublime Text para editar código, Glass para ensamblar y OpenMSX para probar la ROM resultante. Los gráficos los edité en GIMP y una herramientilla para hacer sprites que me hice yo mismo. La música la escribí en un fichero de texto directamente, y la convertí a ensamblador con un pequeño script en Java.

Para mis últimos juegos, lo que he cambiado es que ahora uso mi propio ensamblador (MDL), pero sigo usando Sublime Text para programar, OpenMSX para probar el juego y GIMP para gráficos. Para músicas, como he dicho ya alguna vez, no uso ningún tracker ni nada, sino que ahora escribo la música directamente en una hoja de cálculo rollo Excel (uso Google Sheets) y el fichero CSV resultante lo convierto a ensamblador con un script en Java. Encuentro la hoja de cálculo más cómoda que un tracker, ya que tienes total libertad en colocar cosas en casillas, usar fórmulas, etc.

Westen House es con toda justicia uno de los mejores isométricos para MSX de la historia, sin duda alguna. ¿En qué otros isométricos te fijaste o te han influenciado para hacer este juego?

¡¡Muchas gracias!! ¡Pues muchos! Antes de ponerme a programar y diseñar el juego, pasé varias semanas buscando juegos isométricos para MSX/Spectrum/Amstrad viendo lo que la gente ya había hecho. Para mí, el referente en tema a juegos isométricos siempre será “Batman”, que es el primer isométrico que jugué y lo tengo en un pedestal, pero tomé inspiración de muchos otros. Por ejemplo, examiné con mucho detalle el “Nosferatu” de Spectrum ya que también tiene una ambientación similar y me fue muy bien para ver cómo habían resuelto cierto tipo de gráficos. También miré con mucho detalle los gráficos de “La Abadia del Crimen” (aunque confieso que nunca lo tuve en su día, y no he jugado mucho, je, je). Finalmente, el “Fairlight” de Spectrum es otro que estuve mirando bastante.

¿Te gustaría programar para otra plataforma que no sea MSX?

Pues la verdad es que sí. Ya he hecho cosas para Amstrad CPC (como el “Phantomas 2.0”), y estamos liados con otro proyecto de CPC ahora mismo. Pero siempre he querido hacer algo para Spectrum, aunque todavía no sé qué será. De todas maneras, si miro a otras plataformas, debería ser una que yo hubiese jugado de niño, porque si no, no me haría ninguna ilusión. Por eso, las que consideraría aparte de las que ya he tocado serían Atari 2600 y Spectrum.

Me atraen más las plataforma limitadas (MSX primera generación, Atari 2600) que las más potentes. Aunque el Amiga es un ordenador que recuerdo con mucho cariño, no me gustaría hacer nada para Amiga, porque lo veo tan potente, que no sabría qué hacer que no se haya hecho ya y que llevase a la máquina al límite. Me pasa lo mismo con MSX2/MSX2+/Turbo R, que al ser más potentes, se pierde parte de la gracia del reto de intentar meter un juego en los pocos recursos del MSX, que es una de las cosas que más me motiva.

¿Cuál es tu género favorito y qué tres juegos de la escena homebrew del sistema MSX destacarías de los últimos años?

¡Vaya pregunta más complicada! Es muy difícil escoger solo un género favorito ja, ja, ja. Siempre me gustaron mucho los juegos de naves (tipo Salamander), pero me encantan también las aventuras gráficas, los juegos de rol y los puzles. Pero claro, a quién no le gustan los plataformas, etc. O sea, que no sabría qué decirte. Me voy a decantar por juegos de naves, pero probablemente te daría una respuesta diferente si me preguntases otro día.

Y sobre juegos a destacar, también es muy difícil ¡ya que hay muchos! Pero bueno, los que quizás me han llamado más la atención son (en orden alfabético):

  • Draconic Throne: me parece superoriginal con un personaje enorme a controlar, y es muy impresionante técnicamente con una cantidad increíble de personajes en la parte inferior moviéndose simultáneamente sin ralentizaciones.
  • Uchüsen Gamma: me gustó mucho, técnicamente está muy bien ¡y el diseño de la jugabilidad es genial!
  • Relevo’s Snowboarding: aparte de la parte técnica, me gustó mucho la cantidad de detalle en la jugabilidad (que al principio parece que sea simplemente bajar por la ladera, pero poco a poco vas descubriendo más mecánicas) y todo el trabajo para darle el aire de Konami ¡que es sublime!

Pero bueno, quedan muchos en el tintero, por ejemplo Suite Macabre, Los Amores de Brunilda, Children of the Night, Prisoner of War, Uridium, Stevedore, SHMUP! Kai, etc. ¡Y seguro que me dejo muchísimos! Varios de esos, por desgracia, no los he podido jugar todavía y solo los he visto en YouTube, porque solo salen en edición física, lo cual siempre fue un problema para mí, ya que durante mucho tiempo no tuve una máquina física donde probarlos. Pero bueno, muchos autores están optando últimamente por versiones digitales y también ahora tengo un MSX físico, o sea que empezaré a comprar juegos en cartucho. Pero bueno, como me dicen alguna vez, si la “policía del retro” ve cómo juego a plataformas retro, me condenan a la hoguera... Ja, ja, ja.

Muchas gracias por tu tiempo, y esperamos otra nueva sorpresa de Santi Ontañón para nuestros queridos MSX.