11 de julio de 2018

Entrevistamos a José Javier García, autor de las librerías 8BP para Amstrad CPC. ¡Programa tu propio juego desde BASIC fácilmente!

De un tiempo a esta parte tratar de diseñar y desarrollar nuestros propios videojuegos en plataformas viejunas como los microordenadores, es más sencillo que nunca. Motores y extensiones como La Churrera de The Mojon Twins, la CPCtelera de Fran Gallego, u 8 bits de poder (8BP), las librerías que nos ocupan en esta ocasión para expandir las posibilidades del BASIC del CPC y crear el juego que siempre soñamos en nuestra máquina amada.



La creación de José Javier García lleva ya unos años en liza, mejorando con cada nueva versión y promocionándose en citas ineludibles como RetroMadrid. Ya en la edición de 2017 nos quedamos con las ganas de que Javier nos contara de primera mano las características de sus librerías y funciones, así que para resarcirnos de alguna manera os dejamos con una completa entrevista donde conocer más de cerca al autor y su creación.

La descarga de las librerías incluye un buen puñado de ejemplos


Hola José Javier, en primer lugar, muchas gracias por contestar a nuestras preguntas. Quisiéramos empezar por el principio: que nos contaras un poco acerca de ti, cuándo te metiste con esto de los ordenadores, que es lo que te apasiona del mundillo, otro software que hayas creado con anterioridad... ¡lo que se te ocurra!

Los ordenadores me engancharon allá por el año 83, cuando aparecieron los primeros home computers. Estos pequeños ordenadores abrieron una puerta a un universo sin explorar. Era imposible de entender como una máquina podía controlar muñecos vivos en una pantalla. Me dio la sensación de que algo muy misterioso sucedía en el interior de aquellas máquinas y yo tenía que descubrirlo. Comencé a estudiar BASIC con un libro titulado BASIC básico, sin ordenador, devorando cada página y programando sobre papel.

En las navidades del 84 llegó un flamante CPC 464 a mis manos, con un monitor fósforo verde.  En el instituto ya programaba en ensamblador, un territorio duro pero apasionante. Con el tiempo, en una revista pude leer una entrevista a Paco Menéndez, programador de La abadía del crimen. Al descubrir que estudiaba telecomunicaciones, decidí que yo estudiaría lo mismo, de hecho soy doctor en telecomunicaciones.  He programado en casi todos los lenguajes aplicaciones de todo tipo: rendering 3D, juegos, data mining, inteligencia artificial, computación paralela distribuida, codificación de imagen y vídeo... todo me gusta, pero si me tengo que quedar con una sola cosa, me quedo con la programación de 8 bit.

Así es el entorno donde José Javier desarrolla sus librerías: Winape con su editor, donde escribe
tanto la librería en ensamblador como los juegos en BASIC,  SPEDIT y WYZtracker.


8BP (8 bits de poder) es una librería mediante la que programar el Amstrad CPC en BASIC y aprovechar todo ese potencial extra que proporciona tu código. ¿Cómo se lo explicarías a los que son un poco más profanos en esto de la programación?

8 bits de poder es una librería que extiende el BASIC del Amstrad para que puedas hacer videojuegos con calidad profesional en BASIC. En los 80 era muy frustrante jugar a videojuegos y al tratar de hacer tu propio videojuego en BASIC descubrir que era imposible por que te faltaban comandos capaces de imprimir sprites a toda velocidad, detectar colisiones, hacer scroll, música, etc.  La librería 8BP es la extensión del BASIC que todos los chicos hubiésemos deseado tener en aquella época. Con 8BP puedes hacer un juego profesional que funciona bien, rápido, con movimientos fluidos, en poco tiempo. Basta con saber BASIC. Además, 8BP cuenta con un editor de sprites para que diseñes tus personajes y los uses en tus juegos.

«La librería 8BP es la extensión del BASIC que todos hubiésemos deseado tener en aquella época»

La librería está también dirigida a programadores expertos, porque puedes usar los comandos de 8BP desde lenguaje C o desde ensamblador, y beneficiarte de una completa y potente librería para juegos.

 Mutante Montoya fue el juego que estrenó las librerías

Es un divertido guiño al Mutant Monty ochentero


¿Cuándo comenzaste con el desarrollo de estas librerías y cuál era (o es) tu objetivo?

Empecé a desarrollarla a finales de 2015. Mi objetivo desde el principio era hacer la librería que me hubiese gustado tener para hacer juegos en mi ordenador favorito; el Amstrad. Y en BASIC, demostrando que es posible hacer juegos de calidad profesional en BASIC, si se dispone de una librería adecuada. Con 8BP la programación de juegos es divertida y apasionante y sobre todo, consigues un resultado que compensa con creces el esfuerzo. Al compartirla, le 'regalo' a cualquier amante del amstrad la posibilidad de hacer sus propios juegos profesionales fácilmente, y el hecho de ver como gusta a muchos seguidores, me motiva a continuar y mejorarla.

¿Cuáles son los puntos fuertes de tu sistema? ¿Qué le dirías a alguien que quiere introducirse en el mundillo y quizás programar su juego soñado hace tres décadas y que ahora podría crear?

Antes de comenzar el desarrollo de 8BP, estuve estudiando herramientas como AGD y me di cuenta de que los motores de juegos limitan mucho la imaginación del programador, limitando a una tipología de juegos y en general lo que se puede hacer y lo que no. Con 8BP no hay limitaciones porque no es un motor de juegos. Puedes programar lo que quieras. Además, el balance esfuerzo/recompensa está muy bien resuelto. Con 8BP los resultados son visibles desde el primer momento. Puedes hacer un juego sencillo en una tarde, o dedicarle varias semanas y hacer una obra maestra. Creo que programar con 8BP resulta adictivo. Te das cuenta de lo que puedes llegar a hacer y no puedes parar de pensar en nuevos juegos que podrías hacer, incluido ese juego soñado hace tres décadas que no pudiste hacer entonces.




Lo cierto es que el conjunto de tus rutinas son de lo más versátiles, y entre los ejemplos de juegos realizados con 8BP nos encontramos con carreras con efecto tipo scaling, plataformas 2D, matamarcianos... ¿la imaginación es el límite?

Así es, la imaginación es el límite. 8BP no te constriñe a las reglas de un motor de juegos, ni está diseñada para hacer juegos de un solo tipo. 8BP puede con todo: shooters, plataformas, laberintos, juegos con scroll, juegos 3D, ...y posiblemente amplíe la librería para que sea posible hacer juegos tipo Filmation fácilmente.  A medida que creaba 8BP, pensaba en lo que se podía hacer con ella y como lograr efectos u otro tipo de juegos usándola. Y así fue creciendo, siempre meditando mucho cada decisión, cada funcionalidad. Todo esta bien diseñado, bien pensado para sacar el máximo jugo a su pequeño pero potente set de comandos.


Plataformas, arcades, puzle, matamarcianos... el límite será nuestra imaginación


¿Qué tal la comunidad? Sabemos que te esfuerzas mucho por dar a conocer 8BP, y que has ofrecido talleres en RetroMadrid, por ejemplo. ¿Hace falta que se anime más la gente? ¿Qué te parecen otras iniciativas como la de Fran Gallego?

La comunidad está muy activa y hay de todo: superexpertos e iniciados. Cuando conocen 8BP se enamoran de ella y no dan crédito a los resultados del BASIC. Muchas veces en RetroMadrid he tenido que parar el juego en ejecución y enseñar el listado, para que puedan ver y palpar el BASIC y al hacer RUN... la magia llena la pantalla. Me encanta ver como la gente disfruta con 8BP y con los juegos, sobre todo muchos peques que van acompañados de sus padres y que toman contacto con los 8 bits a través de 8BP.

«Me encanta ver como la gente disfruta con 8BP y con los juegos, sobre todo muchos peques que van acompañados de sus padres y que toman contacto con los 8 bits a través de 8BP»

Fran Gallego y yo nos conocemos desde hace mucho, aunque en persona nos conocemos desde RetroMadrid 2018. Cada uno le da vida al Amstrad desde una perspectiva diferente y eso hace que ambos nos reconozcamos el uno al otro como paladines de los 8 bit. Nos une la pasión por el Amstrad y el hecho de que la CPCtelera y 8BP sean tan diferentes, le da al programador de Amstrad dos elecciones reales. Admiro y valoro su aportación, y creo que compartirla le da sentido a tanto esfuerzo, lo mismo que le da sentido a 8BP.

Los visitantes de RetroMadrid 2018 disfrutaron con los programas realizados mediante las librerías.
Imagen: 8BP


Hace unos días ha aparecido la versión v33 de las librerías, incluyendo no pocas novedades y una mejora ostensible del manual. ¿Qué nos puedes contar de esta nueva versión?

8BP v33 es una versión muy bien acabada. Muchos comandos ahora son un poquito mas rápidos y ahora se puede hacer juegos con sobreescritura con mas colores de fondo. Además, incorpora algo en lo que llevaba pensando mucho tiempo: el flipping.  Consiste en que la librería permite definir un muñeco hacia la izquierda como la imagen especular del mismo hacia la derecha sin gastar memoria y viceversa. Eso permite sacarle mucho mas partido a los 8.5KB que 8BP reserva para gráficos.

La librería te deja 24.5KB libres para la lógica BASIC, que es bastante. Podemos hacer con ella casi todos los tipos de juegos que se hacían en los 80 para nuestro CPC.

En cuanto al manual, al haberse ido modificando para adaptarse a las sucesivas versiones, me estaba quedando algo parcheado y he querido darle una buena revisión para dejarlo realmente bien, sin parches ni costuras. Ahora es un verdadero manual de calidad, tanto para aprender como para usarlo de referencia.

8BP permite hacer juegos tan vistosos como este 3D Racing One


Casi siempre se dice que la velocidad de los procesadores y su exigua memoria son los problemas más acuciantes del hardware viejuno como el del CPC. ¿Coincides o tienes otro punto de vista?

En efecto, tengo otro punto de vista: «Las limitaciones no son un problema, sino una fuente de inspiración»; ese es el lema de 8BP. Y es que las limitaciones estimulan la imaginación y transforman la programación en una verdadera aventura, donde la astucia del programador es recompensada con buenos resultados.  Imagina por un momento un ordenador con RAM infinita y CPU a infinitos Ghz. La programación no plantearía ningún reto. Es la falta de recursos la que te obliga a imaginar soluciones y disfrutar del verdadero placer de programar. Por todo ello amo las limitaciones del CPC. Sin ellas, no sería tan divertido programar.

Últimamente vivimos una segunda (o tercera) juventud en esto del retro. Cada día aparecen nuevos juegos, herramientas o librerías similares a la tuya. ¿Es el mejor momento para disfrutar de los ordenadores de siempre?

Vivimos lo que yo creo que se va a convertir en el renacimiento permanente de los 8 bits. Los ordenadores de 8 bits representan la programación con limitaciones, una programación que requiere mucho ingenio y que  se puede acometer por un solo programador en pocas semanas.  Diferentes ordenadores de 8 bits representan distintos tipos de limitaciones. Son sus limitaciones las que hacen que sea divertido programarlos y por eso creo que ya no van a morir. Nunca. La programación con limitaciones es un concepto atemporal.

Este es el 'laboratorio' donde se cuecen las nuevas versiones de 8BP


¿Qué te parecen los juegos que se crean hoy en día? ¿Están superando tus expectativas? ¿Te imaginabas hace 20 años que el CPC  (o Spectrum, o C64...) estarían tan de moda de nuevo?

Algunos de los juegos de hoy en dia son espectaculares. El motivo es obvio: se hacen por amor al arte, no hace falta rentabilizar las horas de esfuerzo y por ello se pueden emplear muchas horas en lograr resultados extraordinarios.  Hace 20 años nunca hubiese imaginado esto. Yo mismo he sido sorprendido por todo este movimiento, me ha atrapado y me ha motivado a crear 8BP.

Hay algunas peticiones de usuarios porque tu sistema sea también compatible con otros micros como el Spectrum. ¿Algo que nos puedas adelantar al respecto?

Tengo tres ZX Spectrum en casa, perfectamente operativos. Y algunos libros. En efecto, el Spectrum tendrá su versión de 8BP. Y como no parto de cero, creo que podré lograrlo en poco tiempo. Este será un regalo que haré a los usuarios de ZX y un tributo a esa gran máquina de Sinclair.  Tendré que pedir en RetroMadrid un estand mas grande para colocar un CPC y un ZX Spectrum, juntos,  insuflándoles vida con 8BP a ambos. Lo veréis pronto.

Encontraréis más información y podréis descargar las librerías además de ejemplos y un completo manual de 8BP, en su web oficial

No hay comentarios:

Publicar un comentario