Nacida con el Apple II la escena puede considerarse como una consecuencia de las protecciones de copia de los videojuegos.
Los videojuegos pirateados incluían información sobre el pirata (a menudo adolescentes) que cada vez se recreaba más en su "obra de arte" incluyendo intros que según adquirían complejidad se convirtieron en auténticas demostraciones de capacidad tanto de la máquina como del programador. Había nacido la "demoscene".
España al rebufo de Europa tenía en los 80 mayormente a piratas jovencitos que copiaban cintas y disquetes de sistemas de 8 bits saltándose las protecciones de maneras diversas, sin embargo, en general no nos incluían florituras técnicas ni se forjó una "demoscene" hasta que ya entrados los años 90 nacía la primera Amiga party española en septiembre de 1992.
Celebrada en Valencia, la "Darkness and Fifth Generation Party 1992" marcaba el inicio de la escena de Amiga en España a la par que las RUs de MSX en Barcelona se ponían en marcha para mantener con vida este estándar. El Amiga era todavía un sistema comercial vigente y le quedaban muchos años de vida bajo el auspicio de Commodore. El MSX en cambio acababa de sufrir el duro trance de perder su última revista comercial española y sufría como el resto de los sistemas de 8 bits del progresivo abandono de las compañías de software europeas pese a que en Japón todavía continuaba vivo comercialmente con la generación Turbo-R.
En julio de 1993 se celebra en San Fernando (Cádiz) la que ya se puede denominar una party en toda regla pues, la anterior de Valencia, había sido muy de andar por casa; es aquí, en esta Amiga Expo 93 donde asoma nuestro entrevistado: Fernando López Ostenero que dicho así nos sonará poco, pero si digo Sapphire/Centolos seguro que la cosa cambia :-)
La tradicional txapela de la Euskal para los ganadores |
- Cuéntanos Fernando un poco de ti, ¿cómo es que viviendo tus padres en Leganés terminaste naciendo en Segovia?
- ¿Recuerdas algo de tus inicios en la informática?
- Pero hablemos de sistemas serios ;) ¿qué ordenador venía envuelto en esos papeles?, ¿cuando te dio por programar?
Fue en febrero de 1987 cuando me compré mi primera revista de MSX: la MSX-Extra número 28. A partir de ahí ya me convertí en lector fiel comprando las MSX Extra hasta que se terminaron y después las MSX-Club hasta que chaparon la revista en diciembre de 1991. Fue en esas revistas donde aprendí qué era el código máquina, leyendo los artículos y los listados que venían en ellas. Ya en 1988 mi padre me compró el libro de Joe Pritchard y pude profundizar cada vez más. El problema es que no tenía un ensamblador y todos los listados que hacía en código máquina los tenía que ensamblar a mano y crear un cargador en BASIC para poder probarlos, era desesperante.
- ¿Conocías a otros MSXeros?, ¿tuviste algo pirata?
- ¿Tuvo que ver el MSX en tu carrera profesional?
- ¿Cómo es que caíste en las garras del Commodore Amiga?, ¿eres consciente de que te pasabas al "enemigo"?
Ese mismo año, en octubre, comenzaba la carrera de Ciencias Matemáticas.
- ¿Y qué te pareció el Amiga?, ¿por qué no una consola cuando era la moda del momento?
Otro cambio importante fue que en Amiga era muy fácil conseguir software pirata y era un mundo tremendo. ¡Incluso te lo mandaban a casa! En una ocasión recuerdo que no pasaron ni dos horas desde que hicimos un pedido y nos llegó. Eran otros tiempos y otras mentalidades.
- ¿Existía ya un concepto de escena en el Amiga?, ¿aprovechaste el Amiga para la carrera o al final sucumbiste al PC?
Confieso que intenté copiar al ordenador los apuntes de la carrera. Cuando vi que una sola página (llena de fórmulas y tal) me llevó más de una hora, desistí. En un principio parecía que con el Amiga ya podía tirar sin problemas, pero como me decanté por la rama de Ciencias de la Computación, desde 3º de carrera necesité comprarme un PC. Así, acabé teniendo en la mesa de mi habitación un Amiga 500 y el teclado del PC encajado encima suyo. Por aquel entonces ya tenía una televisión en color para el Amiga (la cual, por cierto, sigo teniendo y usando en las reuniones) y a su lado estaba el monitor del PC.
Con 8" mola más |
Y así, poco a poco, fui avanzando en la carrera, la cual fui sacando a curso por año. Afortunadamente nunca tuve que presentarme a septiembre, aunque en un par de ocasiones suspendí un examen en febrero que recuperé sin problemas en junio.
- ¿Y tu MSX? ¿Dónde estaba mientras?
- Hablemos un poco de la Euskal, ¿cuando fué la primera?
En esa party nos moríamos de frío y en julio de 1995 acudimos a la Posadas Party, donde hizo un calor impresionante que puso a prueba a los Amiga, ya que con cerca de 50ºC algunos no llegaban ni a encender.
Si los ordenadores se apagan... nos bañamos ¡ea! |
Pues ahí estábamos dispuestos a aporrear el teclado con un globo en forma de martillo que se habían traído unos... ¡Zas! Tras el primer golpe no pasa nada, no suena, el ordenador no responde... ¡RESET! ¡Habíamos pulsado al mismo tiempo las teclas Amiga + Amiga + Control! No podía ser de otra forma, de lo cutre que tenía que quedar nos debíamos esforzar a tope. Al final conseguimos hacer un módulo que metimos en la intro y se me ocurrió que el final debía ser de traca: provocar un Guru Meditation que te obligase a resetear el ordenador. Por desgracia no creo que ni la música ni el código se hayan preservado.
- ¿Qué era para ti la escena?, ¿cómo era el bautismo escenero?
- ¿Por qué Sapphire?, ¿cómo evolucionaste en la escena?
En la Euskal 4 ya me llevé mi PC y presenté una intro de Amiga: "MD4i" que era un "Music Disk" en 4 KB e ¡interactivo! Todo eran versiones en dos canales de canciones como Oxygene IV (reutilización ante todo) o la de Superdetective en Hollywood. Al final, la intro resultó ganadora, así que me gané una "txapela" conmemorativa... que se ha debido perder en alguna mudanza. Hoy en día, MD4i se considera como el primer "Music Disk" de 4KB de la escena. El año siguiente estuve algo más desconectado, porque ya estaba en quinto de carrera. A unos días de la Euskal 5 yo no tenía nada hecho, pero Humphrey me animó y me tiré un día entero delante del ordenador programando. Se me ocurrió hacer una intro de 4K en ascii, inspirado en los ascii arts que en aquellos días proliferaban por internet. Así nació "Ascii4K", la última de mis producciones para Amiga con la que gané nuevamente la primera posición.
Euskal Party 5, tuvo lugar en Anoeta en 1997 contando con 550 participantes |
Eso sí, es curioso que en algunas de estas parties conocí a gente de MSX. En la Southern 2 recuerdo que alguien vino con un F-700 y un montón de juegos en disco. También en una Euskal conocí a un grupo de gente de Alcorcón que tenía intereses en el Amiga y el MSX. En una de las últimas Euskal a las que fui (pudo ser en 1998 o en 1999) conocí a Tromax que vino con un MSX Turbo-R y el Pentaro Oddissey.
- ¿Recuerdas tus comienzos en Internet?, ¿llegaste a viajar al extranjero a ver otras escenas?
El año siguiente fue la primera vez que me conecté al IRC y un poco después me compré un módem de mayor velocidad. Lo que me permitía conectarme con diferentes BBS y acceder a webs y ftps desde el PC. En cuanto al extranjero, nunca asistí a una party de Amiga fuera de España. Las noticias nos llegaban a través de las revistas en formato disquete que se hicieron para Amiga (como la Fanzine), relatadas por Mat/Ozone. Era una época curiosa: recibías la revista en un par de discos, los copiabas y los reenviabas. Luego me pasaba horas delante de la pantalla leyendo todos los artículos que venían.
- ¿Cuando te enganchaste a la escena de MSX?
Llegado 2000 descubrí que el Amiga ya no me llenaba y me acordé de cuando conocí a Tromax acompañado de su Turbo-R en aquella Euskal. Así que una tarde de verano de ese año me puse a buscar información sobre el MSX en internet. Localicé algo sobre un club de MSX de Madrid y llamé para informarme pensando que lo mismo ya no existía, por fortuna te llamó tu madre a gritos y apareciste al teléfono. Quedamos para conocernos, yo quería comprar un MSX2+ y ese mismo diciembre asistí a mi primera RU de MSX en el Salón del MSX de Barcelona.
No recuerdo exactamente cuando, pero alrededor de estas fechas ya debía haber vendido todo lo que tenía de Amiga: un A500 con disco duro y 8MB de Fast Ram, un CDTV, disquetera externa... Aunque creo que por casa de mi madre debe andar todavía un archivador lleno de discos con programas de Amiga.
(Proseguimos con la parte de MSX, Fernando pone cara de felicidad al recibir el Sword of Ianna para MSX-2 que pude recoger en RetroZaragoza.)
- ¿Cuéntanos cómo fue tu reenganche al MSX y qué impresión tuviste de las RUs?
Por avatares del destino terminó en ... ¡Relevo! |
La RUsalona (la bautizamos así en petit comité porque fue una RU y el Salón del MSX de Barcelona... RUSALONA) fue mi primera RU, la verdad es que lo flipé al ver a tantísima gente metida en el mundo del MSX. Recuerdo que estuvieron los de Matra con una recreativa que tenía un MSX-2 dentro con el Moscow 2024 y pasé un buen rato jugando.
- ¿Tomaste una decisión de desarrollar algo por entonces?
Si consigo encontrar tiempo para programar tengo idea de que aproveche el ratón, que en el MSX está muy desaprovechado. (surge una conversación sobre ratones, alfombrillas matrosas). Lástima que en 2001 ya estaba en la cuenta atrás para hacer la tesis, o sacaba el doctorado el 31/12/2002 o perdía el trabajo.
En 2001 recuerdo la MadriSX de marzo que se hizo en el hotel en medio de una movida. Como vino mi prima apenas pude hacer otra cosa que pasarme y ojear un poco, así que nunca pude ir a las MadriSX originales en el Fernando de los Ríos. Ya casi como costumbre en diciembre de 2001 regresamos a la RU de Barcelona y de 2002 me viene a la cabeza El Greco un poco desangelado, aquella nueva ubicación para las MadriSX.
- ¿Y sobre la tesis, tenía algo que ver con el MSX?
Como ya dije antes, a los pocos días de terminar la tesis me autorregalé una XBOX, que se convirtió en mi primera consola.
- ¿Y después de este parón por la tesis cómo seguiste con la escena de MSX?
Recuerdo que de la rabia que sentí estrellé mi móvil contra la pared, quedándome totalmente incomunicado. Llegaron Saeba y Yakumo que se quedaron en mi casa a dormir (creo que yo dormí como dos horas en total). A la mañana siguiente había quedado con el mítico Martos en la Estación Sur de autobuses, pero sin tener el móvil no nos podíamos localizar... Al final afortunadamente nos encontramos y nos fuimos todos a la MadriSX en El Greco... que estaba prácticamente vacío. Fue muy desesperante estar en El Greco casi sin gente y ver que el MSX estaba en declive, había dejado el Amiga que estaba de capa caída y justo me paso al MSX y... en fin.
Justo además el año anterior me había comprado una de las últimas GFX9000 de Sunrise y tardó mucho en llegar. Con el agobio que tenía con la tesis y la tensión me fui desanimando y según me llegó se la dejé a Gustavo. Ahora por fin lo he solucionado con la PowerGraph.
- ¿Cómo viste esto del declive del MSX desde fuera?
- En 2003 aparece Karoshi con el MSX Dev, ¿tuviste en mente hacer algún proyecto para este concurso?
Karoshi, iniciativa de Edu y Jon cambiaron el curso de la historia del MSX (imagen MSX Zone)
Así que cuando salió la MSX Dev se me pasó por la cabeza hacer una versión de estos juegos para MSX... ¡y justo Karoshi se adelantó con su Picture Puzzle en 2004! El año siguiente a Eduardo Robsy se le ocurrió proponer un reto para hacer un PONG en 1KB, así que ese verano nació el el Pong 512, que no es por el tamaño, es porque cuando pulsas los botones se abren huecos en las paredes. De forma que puede salirte una barrera detrás tuya o del otro jugador. Incluso las paredes superior e inferior cambian, permitiendo que si la pelota sale por arriba puede aparecer abajo y viceversa. Un total de 8 configuraciones diferentes para cada pared hacen un total de 8x8x8 = 512 combinaciones de paredes, de ahí el nombre.
- ¿Se puede decir que Pong 512 es tu primer desarrollo para MSX?
Salió justo poco antes de la RU de diciembre de 2005, en cuya cena me acordé de julio de 1990 cuando la MSX Club salió con varios cromos en color con juegos como el Star Ship Rendezvous o el Quarth. Lo cierto es que como en esa época sólo tenía un MSX1 nunca pude jugar al Quarth y siempre quise hacer ese juego para MSX1, justo en ese momento podemos decir que se creó el germen del Qbiqs. Aunque alguien me dijo que había una versión para MSX1 programada por Zemina... cuando la probé me entraron más ganas de hacer una versión decente para MSX1.
Empecé a diseñarlo y pensé ya de primeras en un scroll al píxel con el MSX mediante el cambio de tiles que de la impresión de scroll suave. Al hacer las cuentas me salían como 2000 y pico combinaciones, ¡pero no tenía tantos tiles! Poco a poco fui comprobando las combinaciones válidas y las que nunca aparecerían, lo que redujo el número de tiles necesarios a 183. ¡Eso ya cabe!
Además originalmente los laterales eran estáticos, no se movían, pero todo eso fue evolucionando a medida que avanzaba en la programación.
- Todo esto lo has programado en ensamblador. Cuéntanos, ¿cómo adquiriste el conocimiento necesario? Me refiero a detalles, trucos del VDP...
- ¿Qué opinas de la programación en BASIC?
Siempre quedan lenguajes intermedios como C, pero soy de la opinión de que si vas a saltar de BASIC a otro lenguaje por motivos de velocidad de ejecución, ya merece la pena meterse en el ensamblador. Y ya no valen excusas de que hay poca documentación, ¡que se puede encontrar a patadas!
- ¿Qué ideas tenías para el Qbiqs aparte de ser un Quarth para MSX1?
A partir de ahí decidí que ese séría el tamaño, lo cual me obligaba a pasar de la BIOS, que se sitúa en los primeros 16KB de la memoria, y a programar todo a bajo nivel por mi cuenta. Pero eso no es malo. Por ejemplo, tener que usar el gancho de la interrupción me quitaba líneas de barrido e iba bastante justito. Imaginate que el scroll es 16 x 20 de alto y se vuelca cada dos interrupciones, en un frame se calculan los cambios y en el siguiente se vuelca, logrando 25 fotogramas por segundo en PAL (30 en NTSC). En definitiva son 320 bytes (sólo para el scroll) que han de ser volcados a toda velocidad mientras calculas otras cosas. Al prescindir de la BIOS, cada interrupción salta directamente a mi rutina de interrupciones, en la que hago lo imprescindible. Parece una tontería pero cada ciclo cuenta.
Aunque parece lo más complicado, el scroll fue rápido de hacer y ya lo tenía funcionando en torno a marzo abril de 2006. Lo que más complejo resultó fue el algoritmo que detecta el cierre de los rectángulos maximales completados. Si habéis jugado al Quarth (o al Qbiqs) sabréis que se pueden completar varios rectángulos con un único disparo, pero el juego siempre elimina el rectángulo más grande.
El algoritmo lo que hace es mirar los laterales de izquierda a derecha hasta encontrar la esquina inferior izquierda y luego derecha más alejada del punto de impacto, luego sube hacia arriba comprobando que todo esté cerrado a izquierda y derecha hasta llegar a localizar las esquinas superiores en la misma altura, para terminar de comprobar que todo esté cerrado. ¿Y si algo falla? Pues va deshaciendo las tres fases en sentido inverso: busca otras esquinas superiores de igual altura más cerca del punto de impacto, si no, empieza a buscar esquinas inferiores más cercanas al punto de impacto.
Es decir: siempre busca el rectángulo yendo de lo más grande a lo más pequeño (Sapphire me termina dibujando el algoritmo para explicarme el cierre de los bloques). Este algoritmo emplea alrededor de medio frame en terminar, por eso tuve que sacrificar FPS y reducir de 50/60 a 25/30.
En medio de todo esto Robsy me propuso en la RU de 2006 hacer un juego en Screen 0 y se me vino a la cabeza hacer el juego Word Invaders que funciona a patronazos y cada vez las palabras (que tienes que escribir rápidamente para eliminarlas) van más y más rápidas hasta llegar a una velocidad endiablada. Un pequeño descanso del Qbiqs, que terminé en unas semanas.
- ¿Trabajabas de forma regular? ¿Explicaste el proceso en algún sitio?
En el blog han ido apareciendo muchos artículos comentando el desarrollo y explicando ciertas partes del código que he encontrado interesantes. También se pueden descargar rutinas que son de utilidad para otros desarrolladores, como el reproductor de PT3 que funciona desde ROM o diferentes versiones del reproductor de efectos ayFX.
- ¿Qué opinas de que entrase el retro y otros sistemas en las RUs MSX de Madrid?
La MadriSX une gente... ¡literalmente! |
Precisamente ese año noté que las cosas empezaron a ponerse muy serias en la MSX Dev: empezaban a aparecer juegos con una calidad muy buena. Recuerdo haber jugado al Caos Begins hasta terminármelo y cuando mi novia me preguntó qué me había parecido le dije "acabo de terminarme el juego que va a ganar este año". No me equivóqué en absoluto.
- ¿A qué atribuyes ese incremento del nivel de la MSX Dev? ¿Crees que era una especie de retroalimentación?
- ¿Qué opinas de Matra? ¿Crees que este grupo inspiró esas ganas de mejorar?
- ¿Crees que estamos a un nivel superior de los juegos comerciales de los 80?
- ¿Cuando viste que el Qbiqs por fin cogía ritmo? ¿Qué tal resultó el lanzamiento?
Creo que fue en 2009 cuando me tocó ir a Pontevedra por motivos de trabajo y me acerqué a Santiago para hablar con un usuario (e-Sedes). Mientras iba en el tren (un viaje de dos horas), estuve pensando cómo definir la dificultad del Qbiqs y encontré la forma. El juego tiene un total de 128 puzzles diferentes de tamaño 8x8 que la gente fue haciéndome con un editor online. Destacar que Hydragon, usuario holandés y webmaster de cheat MSX, hizo más de la mitad de los puzzles. ¿Cómo podía colocar esos puzzles de forma que en cada nivel aumentase la densidad de piezas?
La rutina que dibuja el nivel empieza a colocar esos puzzles individuales por la parte de arriba del todo (el final del nivel) y va bajando. Cada vez que sitúa uno, mira en una tabla que define la probabilidad de la distancia a la que situar el siguiente puzzle. Me di cuenta de que si la distancia era inferior a 8, estaría "mezclando" un puzzle con otro, lo que podría dar lugar a que el resultado fuera irresoluble (imaginad qué horror si aparecieran piezas que no pueden ser eliminadas).
El resultado de aquel viaje en tren fue un algoritmo que arreglaba los estropicios de ese pastiche, asegurando que el puzzle resultante fuera resoluble.
Además de que en cada nivel aumenta la densidad de los puzzles, también aumenta la velocidad a la que se acercan las piezas. La velocidad se almacena en un byte, que cada dos frames se suma a un byte que inicialmente vale 0. Cuando la suma enciende el flag de acarreo (vamos, cuando nos pasamos de 256) se ejecuta un paso de scroll de un pixel. Por eso el scroll va tan suave, ya que la velocidad se va aumentando gradualmente. Eso supuso que en 2009 el juego era ya jugable de principio a fin, con niveles generados de forma automática.
El año siguiente me apeteció hacer un pequeño experimento y retomé el Pong 512 para ponerle más colorines y voces digitalizadas, así que en la RU de junio salió el Neo Pong 512. Un par de meses después mi novia fue destinada por motivos laborales a Valencia. Ahí comenzamos una rutina de viajes Madrid-Valencia y justo terminé el Qbiqs. Ese mismo mes de agosto lo envié a la organización y se publicó en la web de la MSX Dev y la acogida en general fue muy buena.
- ¿Cuando decidiste sacarlo en físico?
En enero de ese año estuve en Nijmegen presentando el juego y conociendo a los usuarios holandeses. A modo de anécdota decir que me costó más barato viajar desde Madrid a Alemania que luego el autobús que me acercaba del aeropuerto hasta esta población holandesa. Fue mi primera (y única) vez en una RU holandesa. Allí pude ver algún juego nunca terminado y muy bien, como en todos lados, gente maja y gente menos maja. Es divertido que la cena final también se hace en un restaurante chino.
Unos meses después me casé y de viaje de novios teníamos planeado ir a Japón. Pero un mes antes de la boda ocurrió el desastre de Fukushima, lo que nos impidió viajar. Aún no hemos ido, pero es algo que haremos en algún momento (ya con nuestros hijos, por supuesto).
Y en junio de 2011 se lanzó en físico el juego, acompañado con llaveros e imanes del Qbiqs.
Tras "Arma Mortal", ¡por fin un juego madrileño en versión física! |
- ¿Y tras Qbiqs qué? ¿Sigues con ideas de nuevos desarrollos en mente y ganas de ir a la RUs?
¿Ideas? Muchísimas. Ahora mismo tengo tres juegos en desarrollo, mis hijos ya han crecido y empiezan a jugar, así que les he ido enseñando esos proyectos y ya hay uno que ha pasado a ser el primero en la cola de proyectos por terminar. Este verano hemos estado programando y jugando y en unas semanas lo acabaremos y se podrá jugar a finales de año. Si todo va muy bien, habrá más de un juego a finales de año.
Curiosamente el desarrollo del Qbiqs ha seguido ahí. Hace un par de años me pidieron que lo portase a Colecovision. Lo cierto es que es una consola tan similar al MSX1 que la conversión no ha resultado muy problemática, aunque es un sistema que tiene sus peculiaridades. Debido al poco tiempo que he tenido, no he terminado de portarlo hasta hace unos meses, pero el año que viene los usuarios de Colecovision podrán (espero que) disfrutar del juego. A ver qué tal acogida tiene en esa escena.
De este port del Qbiqs a Colecovision ha salido un producto utilizable por los desarrolladores de MSX: una nueva versión del replayer de ayFX que permite tocar hasta tres efectos simultáneos.
Desde que nacieron mis hijos sólo he podido ir a una RU, en diciembre de 2013. Justo ahí nos presentamos los tres... y pico, porque mi mujer ya estaba embarazada del pequeño. Tengo muchas ganas de volver y ver a la gente, pero es algo muy difícil en mi situación actual.
También he de mencionar que hace unos meses XaviRompe me pidió que adaptase los pads de Arkanoid al Neo Pong 512, porque estaba trabajando en unos pads compatibles con esos juegos. Así que en la última RU de Barcelona de junio de 2018 se pudo jugar al Neo Pong 512 con pads. La gente ha comentado que el juego así jugado es toda una experiencia, así que en cuanto pueda, limpiaré bien el código y añadiré algunas cosillas para sacar una versión del juego con más opciones.
- Pero aparte de los desarrollos, sí que has hecho algo para MSX.
A ver si tengo tiempo y os doy una sorpresa más pronto que tarde.
- Dinos algo de tu futuro MSX para cerrar la entrevista...
¡Gracias Fernando!
No hay comentarios:
Publicar un comentario