Los usuarios de Amstrad CPC hemos recibido esta semana una gran noticia con el lanzamiento de la librería CPCtelera, un conjunto de herramientas que permite crear de una manera más sencilla nuevos juegos para Amstrad CPC. Lo cierto es que su creador, Fran Gallego, tiene una relación con la máquina digna de contar. No solo es un desarrollador propiamente dicho que ha empleado su experiencia para crear la herramienta que considera puede simplificar la creación de juegos para Amstrad, también utiliza máquinas de Amstrad para impartir clase en la asignatura de la que es titular en la Universidad de Alicante. Por ello, en RetroManiac nos hemos puesto en contacto con Fran para que nos cuente que tiene de especial esta máquina como para tener cabida a día de hoy en la universidad, así como para que nos hable de sus otros proyectos.
Fran en su despacho en la universidad |
RetroManiac: Muchas gracias por dedicarnos un rato de tu escaso tiempo. Para aquellos que no te conozcan, explicalé a nuestros lectores quien es Fran Gallego y a que se dedica.
Fran: Soy profesor en
la Universidad de Alicante, ingeniero en informática de profesión y
me metí aquí en la universidad con temas de inteligencia
artificial y videojuegos. Tengo la suerte de no solo haberme pasado
media vida aprendiendo informática gracias a que uno empezó a jugar
con un Amstrad CPC sino a tener la suerte de disfrutar haciendo
videojuegos y pudiendo enseñar a los demás.
En mis ratos libres
frikis me dedico a cosas de videojuegos y en particular de
retroinformática con el ordenador con el que empecé, el Amstrad CPC,
aunque también hago cosas con otros ordenadores. Me dedico a hacer cositas con el Amstrad CPC sobre todo
videojuegos, pero como también tengo un pasado scener, pues
también me dedico a temas de efectos gráficos, demos, optimización
y cosas de este estilo. Y aprovechando de todo este conocimiento hago
cosas que puedan ser utiles para la comunidad.
RetroManiac: A todos nos marca ese momento en la vida en el que recibimos nuestro primer ordenador. ¿Cómo
llega el Amstrad CPC a la casa de Fran Gallego?
Fran: Es una cosa
curiosa, porque yo ya apuntaba maneras cuando tenía cuatro añitos,
que me dejaban solo y montaba videoconsolas, desmontaba radios...
cosas de este estilo. Y como vieron que me gustaba, o que
con 5 añitos estaba la típica máquina del Ghost'n Goblins en el bar y no hacía más que ir corriendo a echar cinco duros, pues lo típico que tus padres ven que al crío le
gustan estas cosas tecnológicas y pensaron en comprar un ordenador. Hablaron con mi abuela
que era la que estaba dispuesta a poner el dinero que eso valía y un día cuando tenía ocho años fuimos a una tienda
y le vendieron a mi abuela el Amstrad CPC. Yo tuve la suerte de tener monitor a color, porque ya había algún Amstrad en el barrio pero todo el mundo tenía el de fósforo verde.
La puerta de entrada a la informática de muchos de nosotros |
RetroManiac: Nos has
dicho que eres ingeniero en informática y que trabajas en la Universidad
de Alicante. Intuimos la influencia del regalo de esta máquina a
una edad tan temprana a la hora de decidir tu futuro. ¿Que tienen
este tipo de máquinas, en este caso el Amstrad en particular, hasta
tal punto de que te marque el futuro laboral e incluso te incite en
tu tiempo libre a crear diferentes iniciativas?
Fran: Yo creo que más
que la máquina en sí mismo fueron los videojuegos los que me
llevaron hasta aquí. La máquina obviamente colaboró porque cuando
tienes tu primera máquina le dedicas todo tu tiempo, pero la máquina
vino porque los videojuegos habían venido antes. Y lo que tiene de
bueno en particular el Amstrad CPC y en general las máquinas de 8
bits es que dentro de la sencillez que tienen puedes aprender muchas cositas con el BASIC que trae. La única información
que podías tener era el manual del usuario y alguna revista que
comprases. Y luego lo típico de teclear listados que al
principio no entiendes muy bien lo que estás haciendo pero poco a
poco vas entendiendo que las cosas tienen un significado, que el
ordenador interpreta ordenes, en fin, todo eso te va haciendo
desarrollar una serie de capacidades gracias al potencial enorme para desarrollar tu creatividad que tienen estas máquinas. Exactamente igual a lo que se te ocurra en la cabeza lo
puedes dibujar, poner, mover y con la sencillez que tenía el BASIC
uno empieza, empieza, empieza... va desarrollando va desarrollando... y
al final acabas en la universidad enseñando videojuegos a otros.
RetroManiac: ¿Dirías
que precisamente por haber tenido esa iniciativa de aprender BASIC
por tu cuenta con el manual, el hecho de aprender un lenguaje de
programación a una edad tan temprana ayuda a que se desarrolle más el intelecto al enfrentarte a problemas solucionables mediante lógica? ¿Crees que en ese sentido ha
sido una gran ayuda para la generación que nos criamos con el
BASIC?
Fran: Es una ayuda
bestial. A nivel de desarrollo intelectual, la diferencia entre una
persona que ha programado desde pequeño y una persona que no, a
nivel de entendimiento lógico, suele ser bastante grande. Lo que más
desarrollas programando son tus capacidades lógicas y
matemáticas. De hecho yo tengo la tendencia a decirle mucho a mis
alumnos que en realidad las matemáticas y la informática son
exactamente lo mismo, lo que pasa es que se plasman de una forma
distinta.
En el instituto y en el colegio lo que falla es la forma en la que se enseña matemáticas, no lo que son las matemáticas. A ti te enseñan a programar y entonces escribes unas cuantas cosas y metes una variable, tu personaje se mueve y eso mola mogollón. Pero claro, a ti te enseñan a hacer raíces cuadradas y tu miras con cara de asco a otro y piensas ¿y esto para que vale? Es cómo si te enseñasen música desde pequeño pero jamás te pusiesen música, es decir, te ponen delante de un pentagrama y te empiezan a enseñar métodos de construcción de armónicos y de como pones unas notas de una manera para que sean ordenadas pero nunca te enseñan como suenan. ¿A quien le iba a gustar la música? Eso es lo que pasa con las matemáticas, que lo único que te enseñan es “este método sirve para calcular esto”. Vale ¿y que? Lo que interesa realmente de las matemáticas es su capacidad de resolver problemas. Tu tienes matemáticas porque tienes un problema y lo resuelves con ellas. En ese sentido la informática es lo mismo solo que el enfoque que tu haces cuando estás programando y el enfoque que se da a la enseñanza de programación cambia completamente. Y la estructuración mental a nivel lógico en ambas dos te dan una capacidad espectacular.
En el instituto y en el colegio lo que falla es la forma en la que se enseña matemáticas, no lo que son las matemáticas. A ti te enseñan a programar y entonces escribes unas cuantas cosas y metes una variable, tu personaje se mueve y eso mola mogollón. Pero claro, a ti te enseñan a hacer raíces cuadradas y tu miras con cara de asco a otro y piensas ¿y esto para que vale? Es cómo si te enseñasen música desde pequeño pero jamás te pusiesen música, es decir, te ponen delante de un pentagrama y te empiezan a enseñar métodos de construcción de armónicos y de como pones unas notas de una manera para que sean ordenadas pero nunca te enseñan como suenan. ¿A quien le iba a gustar la música? Eso es lo que pasa con las matemáticas, que lo único que te enseñan es “este método sirve para calcular esto”. Vale ¿y que? Lo que interesa realmente de las matemáticas es su capacidad de resolver problemas. Tu tienes matemáticas porque tienes un problema y lo resuelves con ellas. En ese sentido la informática es lo mismo solo que el enfoque que tu haces cuando estás programando y el enfoque que se da a la enseñanza de programación cambia completamente. Y la estructuración mental a nivel lógico en ambas dos te dan una capacidad espectacular.
RetroManiac: Nos has
hablado de tu carrera de docente en la universidad de Alicante. La
verdad es que a nosotros nos ha llamado mucho la atención tu tema
porque sabemos que utilizas Amstrad CPC para enseñarles en clase.
¿Que es lo que tiene de especial en este caso en concreto una
máquina tan antigua como el Amstrad CPC para que tenga vigencia hoy
en día el usarla para dar clase?
Fran: La gracia que
tiene una máquina como el Amstrad CPC es precisamente su sencillez.
Un equipo como el Amstrad CPC no tiene casi nada de lo que tiene un
ordenador moderno pero la esencia es la misma. Es decir, las máquinas
siguen siendo de arquitectura Von Neumann, tanto las actuales como
las anteriores, la diferencia es que tu tienes un ordenador moderno y
está dopado por asi decirlo pero en esencia la
arquitectura es la misma. Tu tienes tu procesador, tienes tu RAM, el
procesador va leyendo de la RAM, coge sus instrucciones, las ejecuta,
coge sus datos, los mete en las instrucciones, tiene sus operandos,
sus registros... En fin, no cambia nada, sólo que en un procesador
moderno todo es con muchas más capas y complejidad.
Yo lo que llevo detectando mucho tiempo es que en la programación hay un problema: la tendencia en programación siempre es a trabajar a más alto nivel. El problema de trabajar a alto nivel desde un inicio es que no eres consciente de que pasa por debajo. Es como sí una persona que no ha programado nunca le soltamos ahora Unity y se pone a hacer videojuegos. A lo mejor la persona aprende a hacer videojuegos con Unity pero si no ha programado nunca no tiene ni idea o no puede tener ni idea de porqué si hace una cosa va a ir más rápido que si hace otra, porque una cosa ocupa más y otra ocupa menos, porque es mejor hacerlo de una manera o de otra o si determinadas maneras pueden causar unos problemas u otros. No puede saberlo porque no sabe lo que hay debajo.
Yo lo que llevo detectando mucho tiempo es que en la programación hay un problema: la tendencia en programación siempre es a trabajar a más alto nivel. El problema de trabajar a alto nivel desde un inicio es que no eres consciente de que pasa por debajo. Es como sí una persona que no ha programado nunca le soltamos ahora Unity y se pone a hacer videojuegos. A lo mejor la persona aprende a hacer videojuegos con Unity pero si no ha programado nunca no tiene ni idea o no puede tener ni idea de porqué si hace una cosa va a ir más rápido que si hace otra, porque una cosa ocupa más y otra ocupa menos, porque es mejor hacerlo de una manera o de otra o si determinadas maneras pueden causar unos problemas u otros. No puede saberlo porque no sabe lo que hay debajo.
RetroManiac: Es como si
pones a una persona que no tiene carnet de conducir a los mandos de
un Ferrari...
Fran: Sí. Yo a veces
lo comparo con un médico. Un médico, por ejemplo, sabe mogollón de
cosas y si tiene que operar de apendicitis, que es una operación hoy
en día muy sencilla, pues hace la operación y no pasa nada. Una
persona que no fuera médico se le podría entrenar para que hiciera
operaciones de apendicitis y las podría hacer sin ningún problema,
porque la complejidad de la operación es muy sencilla. Pero claro,
una persona que no es médico, ante cualquier mínima cosa desconocida,
se carga al paciente, porque no tiene ni idea de que puede estar
pasando.
Yo creo que un
ingeniero tiene que tener un valor añadido mucho más importante. Un
ingeniero tiene que tener un conocimiento profundo de lo que está
pasando y eso es una capacidad que le permite llegar más allá que
una persona que simplemente desarrolle. Adquirir ese conocimiento profundo en una máquina moderna requiere mucho tiempo y esfuerzo. Entonces es
más fácil cogerse una máquina antigua de 8 bits como por ejemplo
un Amstrad CPC y decir “no, ahora vais a trabajar en esto y vais a
tener por un lado recursos limitados, memoria limitada y
una capacidad de proceso limitada". Eso significa que tu ya no puedes
irte a stackoverflow.com copiar un cacho código y ponerlo porque no va
a funcionar a la
velocidad que tu necesitas. Entonces tu te tienes que ingeniar las
cosas y tienes que comprender la máquina para sacarle provecho. Una máquina como el Amstrad CPC te permite obligar a
los estudiantes a que desarrollen sus capacidades y tengan más
conocimiento interno de como funciona realmente una máquina.
RetroManiac: Más de un
alumno cuando se entera que en tu asignatura se iba a programar en
Amstrad CPC se pensaría que era una novatada...
Fran: *risas* Alguno
mira con cara rara cuando llegas el primer día y le sacas una foto
de un CPC y les preguntas ¿esto que es? Y miran con cara rara y
dicen “¿Eso que es? ¿Una radio con teclado?”.
RetroManiac: ¿Tienes
máquinas físicas en la universidad para hacer pruebas?
Fran: Tengo varias de
hecho. Tengo dos Amstrad CPC 6128 y cuatro Amstrad CPC 464. Lo que
hago es que cuando voy a clase les llevo un 464 para que hagan
pruebas. Yo les obligo a programar para 464 pero programan en el
emulador; luego se lo pasan a audio y lo cargan en el 464 real y lo
prueban ahí.
RetroManiac: ¿Y lo
cargan directamente de audio con adaptador de cinta?
Fran: Sí, con el
clásico adaptador que se utilizaba en los coches para meter audio en
un reproductor de cassette.
RetroManiac: Una
generación que prácticamente ha nacido con el Pentium ¿Como se
toma el tener que esperar tanto tiempo para ver que resultado ha dado
su programa? ¿Como se enfrentan ellos a esa pequeña tortura de
tener que hacer las pruebas en un equipo físico y tener que esperar
tanto para ver los resultados?
Fran: Al principio les
resulta extremadamente curioso. Es una cosa que les genera una
curiosidad tremenda. Entonces te empiezan a hacer preguntas. Los
primeros días les enseño a cargar juegos, les pongo el típico
Camelot Warriors, el Ghost'n Goblins de CPC, alguna cosa así para
que prueben. Para iniciar el proceso de carga yo les dejo
sueltos y les digo “hala, intentad cargarlo” y primero no saben
coger la cinta ni meterla dentro. Hay una serie de
detalles que son divertidos. Se ponen a buscar en
internet porque no se les ocurre mirar en el manual del usuario... Lo hacen todo con mucho mimo como
“ay, a ver si se va a romper”, y ya cuando está cargando les impacta la velocidad de carga. Alguno pregunta "¿esto a que
velocidad va?". Cuando ven que están saliendo los píxeles por
pantalla les digo “si estás viendo la velocidad de carga, casi
puedes contar los píxeles tal y como salen por pantalla, porque los está
leyendo directamente del soporte a la memoria de vídeo”. Después, claro, mientras
carga se ponen a hacer otra cosa que es lo que hemos hecho todos.
RetroManiac: Lo que
pasa es que en la universidad no teneis bocatas de nocilla ¿verdad?
Fran: *risas* No, la nocilla todavía no ha llegado. Pero oye, que no pasa
nada, se puede comprar un bote y eso se arregla rápido.
RetroManiac:
Precisamente en la universidad han surgido dos proyectos tuyos más
directa o indirectamente relacionados con el Amstrad CPC. Vamos a
hablar del primero: Byterealms. ¿Qué es exactamente Byterealms?
Fran: Byterealms es la marca registrada de videojuegos de la universidad de
alicante. A raíz de que yo entrase aquí, primero como becario
investigador y luego como profesor, hemos desarrollado muchos
trabajos de investigación en inteligencia artificial para
videojuegos y en tecnología específica de videojuegos. Con todo ese
trabajo que hemos ido realizando hace ya unos cuantos años nos
surgió la posibilidad de empezar a trabajar también en el ámbito de transferencia tecnológica: plasmar nuestros conocimientos en productos para la sociedad. Entonces, a través de una serie
de proyectos que obtuvimos del ministerio empezamos a desarrollar
juegos educativos, minijuegos y demás. El trabajo que hemos hecho se pretendia plasmar
finalmente haciendo una empresa con la marca. Lo que pasa
es que vino la crisis y todo eso ha paralizado
muchos de los trabajos que estabamos haciendo.
RetroManiac:
El segundo proyecto que surge a raíz de tu estancia en la
universidad es el concurso de programación de videojuegos para Amstrad CPC de la Universidad de Alicante. Aparte de ser un concurso
abierto, que no está solo cerrado para gente de la universidad sino
que cualquiera puede participar, incluso está dotado con premios
¿Que acogida estás viendo tu al concurso?
Fran: El concurso, como todas las cosas, suele
evolucionar despacio. Lo hemos hecho dos años; el primer año casi
no se oyó mucho pero también es lógico porque tuvimos un plazo muy
corto para prepararlo. El segundo año ya ha tenido repercusión
interesante, hemos tenido participaciones externas y ha aparecido
hasta en podcasts estadounidenses mencionado. Ese tipo de cosas ya te impresiona, el pensar como has podido llegar hasta un podcast de Estados Unidos como es Floppy Days.
Es un concurso que tampoco es que sean los premios internacionales de la danza ni un nobel. Es algo muy sencillito. Pero sí que es verdad que en el fondo yo tengo tendencia a organizar estas cosas publicas por dos motivos; primero, porque como miembro de la universidad y como todo el dinero con el que se paga lo que nosotros hacemos es público, yo siempre quiero que lo que salga de aquí vaya a parar a lo público, a la gente, al dominio público que es el que paga. Y segundo, yo quiero que mis alumnos no se queden en la mera práctica para el profesor. Es decir, que las cosas que hagan se enfrenten de un modo u otro a la vida real. Es una forma de hacer que se enfrenten a “vas a hacer un trabajo, lo vas a publicar, lo vas a entregar a un concurso, va a estar en internet bajo licencia GPL... No te copies sin decir de quien lo has hecho que lo mismo viene el autor, lo ve y se enfada contigo". En fin, enfrentarles un poco a la vida real.
Es un concurso que tampoco es que sean los premios internacionales de la danza ni un nobel. Es algo muy sencillito. Pero sí que es verdad que en el fondo yo tengo tendencia a organizar estas cosas publicas por dos motivos; primero, porque como miembro de la universidad y como todo el dinero con el que se paga lo que nosotros hacemos es público, yo siempre quiero que lo que salga de aquí vaya a parar a lo público, a la gente, al dominio público que es el que paga. Y segundo, yo quiero que mis alumnos no se queden en la mera práctica para el profesor. Es decir, que las cosas que hagan se enfrenten de un modo u otro a la vida real. Es una forma de hacer que se enfrenten a “vas a hacer un trabajo, lo vas a publicar, lo vas a entregar a un concurso, va a estar en internet bajo licencia GPL... No te copies sin decir de quien lo has hecho que lo mismo viene el autor, lo ve y se enfada contigo". En fin, enfrentarles un poco a la vida real.
RetroManiac:
Se podría decir que, aparte de ser un incentivo para los alumos que
asisten a tu curso, has conseguido que de paso repercuta en un feedback para la sociedad, que está permitiendo que tu puedas crear ese tipo de iniciativas, y a
parte dotar de un poco más de material a esa máquina a la que tienes
tanto cariño.
Fran:
Sí. En realidad esto son formas de transformar lo que tienes a tu
alrededor en algo que produce cosas útiles para mucha gente, no solo
para ti. Siempre vas pensando en nuevas formas de hacer las cosas y el hecho de que participe gente de fuera añade competitividad a mis alumnos para que no solo
compitan entre ellos. Añade también
el hecho de que lo que se produce va para la sociedad, va libre y
todo el mundo puede acceder a ello y disfrutar.
Lo último que hicimos el año pasado y que estamos a la espera de poder vender es la producción física de las casetes. También es otra forma de que los alumnos vean reflejado su trabajo, crear un producto físico que la gente pueda comprar. Ello le da más publicidad al propio concurso para que la iniciativa crezca.
Lo último que hicimos el año pasado y que estamos a la espera de poder vender es la producción física de las casetes. También es otra forma de que los alumnos vean reflejado su trabajo, crear un producto físico que la gente pueda comprar. Ello le da más publicidad al propio concurso para que la iniciativa crezca.
RetroManiac:
Yo no se si eres consciente de que el concurso está siendo el
responsable del mayor número de creaciones nuevas para Amstrad CPC
tanto a nivel estatal como a nivel mundial. ¿Porqué piensas tu que
no sale tanto material, tantos juegos nuevos para Amstrad CPC? ¿Cual
crees tu que es el problema para que esta máquina no reciba tanto
cariño como reciben otras máquinas contemporaneas?
Fran:
Yo creo que el principal problema en Amstrad CPC es la ausencia de
herramientas que la gente pueda utilizar de un modo más o menos
fácil. Las herramientas que hay para diseñar cosas y para trabajar
en Amstrad CPC están en general muy dispersas y tienes que tener un
conocimiento bastante bueno para ponerte tu manos a la obra. Además en algunos casos había algunas
herramientas que tenían bugs que eran de bajo nivel. Si tu
tienes herramientas con bugs de bajo nivel pasa lo que hemos
hablado antes del que no ha trabajado el bajo nivel, y es que ni se imagina
que ahí puede haber un bug. Entonces, cuando ve que algo falla, antes o después se desanima y lo deja porque no tiene ni idea de lo
que está pasando.
RetroManiac:
En vez de pensar que es un problema de la herramienta se piensa que
es un problema suyo y pierde el incentivo para seguir...
Fran:
A veces eso pasa. A veces, en algunas librerias y software
desarrollado para Amstrad CPC, lo usas y parece que va. De repente, en algún momento las cosas dejan de ir,
pero no lo asocias a que la herramienta pueda estar fallando o a que
el código que has cogido pueda estar fallando. Se puede dar el caso de que a él le iba bien en su entorno pero cuando tu lo vas a usar de otra
manera ya no va bien. Estas
herramientas no son nada fáciles de utilizar y tienes que
tener un conocimiento serio. Esto implica que los únicos que han hecho
cosas para Amstrad CPC son gente que tiene conocimientos profundos y
eso normalmente además alarga mucho los tiempos de desarrollo. Desarrollar a ese nivel implica mucho
más trabajo y esto hace que salgan menos juegos al año. En general son pocos pero son de gente que lo ha hecho muy bien.
En fin hay muchos factores que contribuyen en el mundo de Amstrad a que haya pocas producciones. En otras plataformas hay infinidad de herramientas que se pueden usar. En Commodore 64 hay un saco de herramientas de todo tipo. En spectrum hay bastantes y además está la churrera que todo el mundo menciona y utiliza . Hay muchas herramientas en otras plataformas que son fáciles de usar y que animan a la gente incluso con conomientos medios o conocimientos iniciales a ponerse a hacer cosas, que den resultados, animarse y seguir haciendo.
En fin hay muchos factores que contribuyen en el mundo de Amstrad a que haya pocas producciones. En otras plataformas hay infinidad de herramientas que se pueden usar. En Commodore 64 hay un saco de herramientas de todo tipo. En spectrum hay bastantes y además está la churrera que todo el mundo menciona y utiliza . Hay muchas herramientas en otras plataformas que son fáciles de usar y que animan a la gente incluso con conomientos medios o conocimientos iniciales a ponerse a hacer cosas, que den resultados, animarse y seguir haciendo.
RetroManiac:
En ese sentido una de las grandes alegrías que nos hemos llevado los aficionados al Amstrad CPC es el
nacimiento de una nueva librería que tu conoces muy bien. Estamos
hablando por supuesto de la librería CPCtelera que tu, en
colaboración con otra gente, te estas currando desde 0. Para aquellos
profanos que todavía no conozcan el tema ¿qué es la librería
CPCtelera?
Fran:
La librería CPCtelera es un conjunto de funciones de bajo nivel, las
típicas que necesitas cuando vas a hacer un juego: pintar
sprites en pantalla, reproducir música, leer las pulsaciones
del teclado y transformarlas tu luego en movimiento... Todas estas
funciones estan ya hechas pensadas para un programador de un lenguaje
de alto nivel como es C. Programar en C hay mucha gente que sabe o
que puede aprender con relativa facilidad, pero casi todo
el mundo le tiene un poco de pánico o de miedito al tema de trabajar
en el ensamblador o en el código máquina. Tu pronuncias ensamblador
o código máquina y la gente te hace la señal de la cruz.
En realidad los dos lenguajes no son nada complicados. Lo complicado es que son muchas las instrucciones que necesitas para hacer algo. Por ejemplo, en C tu dices dos por dos y ya se hace sólo, pero en ensamblador tienes que hacer a lo mejor cuatro funciones para multiplicar dos números. Realmente no es más complicado lo que haces con ensamblador que lo que haces en C sino que tienes que hacer muchos más pasos. Es algo que cuesta.
La gracia de CPCtelera está en dar hechas las funciones más importantes y con dos o tres cositas permitimos que la gente trabaje en su lenguaje de alto nivel, en C o más arriba si quieren, y ya pueden empezar a hacer cosas. Mucha gente lo que quiere es centrarse en el videojuego y olvidarse de los detalles de bajo nivel de programación. CPCtelera cubre exactamente ese hueco de una librería de bajo nivel.
En el futuro la intención es que llegue a ser un Game Engine completo que además de estas funciones aporte también rutinas estructuradas para hacer cosas de más alto nivel como manejar fondos con tiles, crear scroll o manejar un mapa completo de un juego con sus mapas de dureza, con inteligencia artificial y otras cosas que ya vengan hechas y que tu las puedas utilizar fácilmente.
En realidad los dos lenguajes no son nada complicados. Lo complicado es que son muchas las instrucciones que necesitas para hacer algo. Por ejemplo, en C tu dices dos por dos y ya se hace sólo, pero en ensamblador tienes que hacer a lo mejor cuatro funciones para multiplicar dos números. Realmente no es más complicado lo que haces con ensamblador que lo que haces en C sino que tienes que hacer muchos más pasos. Es algo que cuesta.
La gracia de CPCtelera está en dar hechas las funciones más importantes y con dos o tres cositas permitimos que la gente trabaje en su lenguaje de alto nivel, en C o más arriba si quieren, y ya pueden empezar a hacer cosas. Mucha gente lo que quiere es centrarse en el videojuego y olvidarse de los detalles de bajo nivel de programación. CPCtelera cubre exactamente ese hueco de una librería de bajo nivel.
En el futuro la intención es que llegue a ser un Game Engine completo que además de estas funciones aporte también rutinas estructuradas para hacer cosas de más alto nivel como manejar fondos con tiles, crear scroll o manejar un mapa completo de un juego con sus mapas de dureza, con inteligencia artificial y otras cosas que ya vengan hechas y que tu las puedas utilizar fácilmente.
RetroManiac:
Digamos que se trata de algo parecido a una practica en la que te dan las funciones hechas y tu lo que te tienes que dedicar sólo a solucionar el problema original con esas funciones.
Fran:
Sería parecido pero la realidad es dar un servicio al nivel
de lo que busca determinado público. Hay mucha gente que quiere
hacer videojuegos pero que no está dispuesta a trabajar en el nivel
tecnológico más bajo. Si una persona tiene un nivel
creativo importante con eso tiene suficiente y puede hacer cosas muy potentes, pues le damos la parte de abajo hecha. Aprovechamos lo aprendido por mi grupo de programación
para dárselo hecho a la gente que no quiere
bajar a ese nivel.
Uno puede coger y bajarse Unity y desarrollar videojuegos directamente en Unity porque lo que uno quiere es hacer el juego, no entretenerte en saber como se programa un arbol 2-3-4 o como puedes hacer una división espacial utilizando cuadtree. Tu lo que quieres es poner tus monigotes, desarrollar tu historia y que la gente juegue a ella.
Uno puede coger y bajarse Unity y desarrollar videojuegos directamente en Unity porque lo que uno quiere es hacer el juego, no entretenerte en saber como se programa un arbol 2-3-4 o como puedes hacer una división espacial utilizando cuadtree. Tu lo que quieres es poner tus monigotes, desarrollar tu historia y que la gente juegue a ella.
RetroManiac:
¿Podríamos decir entonces que lo que va a aportar la librería
CPCtelera que no tengan otras herramientas de desarrollo para Amstrad
CPC es facilidad para dominarla?
Fran:
La intención es esa. Librerías para Amstrad CPC hay varias y
rutinas ya hechas para Amstrad CPC hay bastantes. Lo que pasa es que
están dispersas y no son fáciles de usar. La intención sobre
todo es dar algo que sea muy fácil de usar y que esté bien
documentado. Los que hacemos esto nos gusta mucho el tema de la optimización, así que hemos procurado
que las rutinas que lleva CPCtelera estuvieran muy
optimizadas. En
Amstrad, como en todo, se puede optimizar para que ocupe poco espacio
o para que vayan muy rápidas. Estas ya estan pensadas en su
mayoría para ir muy rápidas, lo más que podamos.
RetroManiac:
Antes nos has comentado que precisamente tienes un pasado tu propio
de desarrollador para la máquina con tus amigos. Intuyo que estás
hablando del grupo Fremos ¿verdad? ¿Cuanto tiempo lleváis juntos?
Fran:
Pues el grupo de Fremos llevamos juntos desde que eramos niños. Yo
ahora mismo tengo 35 años y nosotros empezamos a hacer cosas en la
máquina cuando teníamos 10. A mi la máquina me la compraron cuando
tenía 8 y con diez años ya los tres miembros de Fremos nos poniamos a hacer nuestros videojuegos en
BASIC. Así que lo que es el grupo de Fremos tiene 25 años.
RetroManiac:
¿Qué desarrollo de los que habéis creado a lo largo de vuestra
carrera recomendáis a nuestros lectores?
Fran: Es que es complicado, porque una de las intenciones con las que hicimos el blog de Fremos hace un poco
más de un año era coger precisamente las
cositas que habíamos hecho en BASIC y publicarlas y comentar sobre
ellas. Lo que pasa es que con el tiempo que tenemos y en
los proyectos en los que nos vamos metiendo al final hemos
publicado poco sobre eso. Estamos publicando más cosas de actualidad del
mundo retro, de tutoriales de desarrollo o de opiniones del estado
actual de algunas cosas. Pero la intención sería coger algunos de
los juegos que hicimos, poner el código y dejar que la gente los vea.
Por ejemplo, ahora en Fremos puse algo no de la época anterior sino reciente: una demo técnica que hicimos de un juego. No es más que la demo técnica porque la hicimos en 24 horas así que se quedó en demo técnica y ya es bastante. Pero es un jueguecito que hicimos en BASIC con la intención de que tuviera scroll y fuera el típico juego de vista superior en el que te van saliendo enemigos y les vas disparando. Se llama Escape from Gortmy planet. Es un planeta que nos inventamos del que tenías que escapar porque había enemigos y la gracia del juego es que básicamente aprovechamos capacidades del BASIC de bastante alto nivel. Es decir, ponemos a trabajar la información directamente en memoria escribiendo y utilizando formato binario, transformando el mapa a una versión codificada con pocos bits y decodificandola, todo esto en BASIC.
Por ejemplo, ahora en Fremos puse algo no de la época anterior sino reciente: una demo técnica que hicimos de un juego. No es más que la demo técnica porque la hicimos en 24 horas así que se quedó en demo técnica y ya es bastante. Pero es un jueguecito que hicimos en BASIC con la intención de que tuviera scroll y fuera el típico juego de vista superior en el que te van saliendo enemigos y les vas disparando. Se llama Escape from Gortmy planet. Es un planeta que nos inventamos del que tenías que escapar porque había enemigos y la gracia del juego es que básicamente aprovechamos capacidades del BASIC de bastante alto nivel. Es decir, ponemos a trabajar la información directamente en memoria escribiendo y utilizando formato binario, transformando el mapa a una versión codificada con pocos bits y decodificandola, todo esto en BASIC.
RetroManiac:
Además el BASIC no es precisamente un lenguaje que asociemos a un
scroll en condiciones.
Fran:
Bueno, lo de en condiciones habría que matizarlo *risas*. Por mucho
que uno quiera la máquina tiene limitaciones y en BASIC más. Lo que
tratamos de aprovechar es el scroll por hardware que hace el propio
CPC, que es el scroll que tienes cuando vas tecleando, te pasas de la
línea 25 y se va hacia arriba. Eso lo hace la máquina por hardware. Aprovechando eso, hemos tratado de hacer un juego que va de
arriba a abajo para que el scroll por hardware funcione por sí solo.
Se quedó en demo tecnica como digo, pero hay muchas cosas
interesantes en lo que hemos puesto ahí que lo puede aprovechar la
gente.
Falta que pongamos un juego que hicimos en su época que llamamos Superman, que está hecho en BASIC sin aprovechar más cosas de más alto nivel del BASIC. Y también he hecho alguna cosilla, con mi compañero Emilio, con un jueguecito que llamamos Zeldo, que era una especie de clon cachondo del Zelda.
Falta que pongamos un juego que hicimos en su época que llamamos Superman, que está hecho en BASIC sin aprovechar más cosas de más alto nivel del BASIC. Y también he hecho alguna cosilla, con mi compañero Emilio, con un jueguecito que llamamos Zeldo, que era una especie de clon cachondo del Zelda.
RetroManiac:
¿Del The Legend of Zelda? ¿El primero?
Fran: Sí. La idea era que fuera un juego de ese estilo. No es un clon
de “vamos a hacer el mismo juego” sino un juego del
estilo también con vista superior con varias pantallitas en las que
vas pasando enemigos, un mapa, y lo hicimos en BASIC compilado. Porque hay un
compilador de BASIC que ya salió en su época para Amstrad CPC que
lo comentamos también en el blog. Programando de una
determinada manera en BASIC le pasas ese compilador y entonces lo que
obtienes ya en código máquina es un código que funciona a una
velocidad más que decente con la que se pueden hacer cosas chulas.
RetroManiac:
¿El Zeldo es vuestro “parodius”?
Fran:
*risas* Le pusimos un título más largo pero no recuerdo ahora que
era lo que le poníamos. La gracia de Zeldo es que es un
cerdito. De ahí lo de Zeldo.
RetroManiac:
Supongo que con todo el follón que tienes ahora, no solo con tu
trabajo en la universidad sino también con la creación de esta
librería CPCtelera, el tiempo será mucho más limitado para lo que
es el tema de desarrollo de videojuegos. ¿Tienes pensado algo? ¿Tienes algo en mente para cuando saques un poco de tiempo, tal vez
como excusa para usar tu propia librería? ¿Una segunda parte de Save The Humor por ejemplo?
Fran:
Pues técnicamente deberíamos hacer una versión final del Save The
Humor. Estamos varias personas pendientes de hacer una versión
completa del juego algún día porque para una Bit Bit Jam de una semana haces un juego pero se
queda en demo técnica. Por mucho que sea
jugable y tenga sus tres pantallitas se queda en demo técnica. Sí que es verdad que cuando esté ya terminada la versión
final de CPCtelera queremos hacer la
versión final del Save The Humor y probablemente hagamos algún que
otro jueguecillo más. Yo particularmente cuando
termine y publique CPCtelera seguramente voy a estar algún
tiempecillo apartado del desarrollo retro porque tengo algunas cosas
en el trabajo que tengo que terminar en un tiempo breve y voy a tener
que concentrarme mucho. Así que es posible que hasta después de
verano no vuelva a hacer cosas. Lo que pasa es que eso hara también
que vuelva con más ganas así que será como lo típico de “volveré”
y seré el doble de feo *risas*.
RetroManiac:
Siempre nos quedará la opción de hacerte un crowdfunding y que te
puedas pedir la excedencia de tu trabajo de la universidad para poder
seguir haciendo desarrollo retro *risas*
Fran:
*risas* Hombre, ya tiene que ser grande ¿eh?
RetroManiac:
Una máquina que hace muchísimos años que perdió su vida
comercial, como es el Amstrad CPC, básicamente sigue viva
gracias en gran parte a la nostalgia de los viejos usuarios y por
otro lado por ese ímpetu creador que tenéis muchos desarrolladores
sacando herramientas nuevas, juegos nuevos, incluso hardware nuevo.
¿Cómo ves tu el futuro del Amstrad CPC?
Fran:
Es una pregunta difícil. Yo creo que todos los que desarrollamos nos
hemos enfrentado a esta pregunta antes o después e incluso varias
veces. Yo le veo ahora mismo un presente que no
hubiera imaginado hace 20 años. Sinceramente, cuando hicimos en 1996 nuestro
último jueguecito en BASIC los del grupo de Fremos, que fue
precisamente el de Superman, ahí abandonamos la máquina y nunca
pensamos que la máquina iba a tener una segunda juventud, que es lo
que está viviendo ahora. Lo mismo el Amstrad, que el Spectrum que
todas las máquinas de 8 bits.
Yo no se si esto va a acabar un poco como el arte, que hoy en día un cuadro de Velázquez es algo adorado por todo el mundo y yo creo que Velázquez no se imaginaba que eso pudiera ser así en su época. No se si será así o simplemente estamos viviendo una segunda juventud que se apagará y después ya no habrá nada. Yo creo que, lo queramos o no, está empezando a haber lo que es una historia de la informática parecida a la historia en otros campos. Es decir, siempre ha habido historia de la arqueología o historia de la política. Ha habido distintos tipos de historia en todos los campos, pero estamos hablando de cosas que hacen miles de años que empezaron y la informática tiene 60 años.
Es dificil saber que va a pasar pero yo creo que lo más normal es que siempre haya gente que se preocupe por la historia de la informática igual que hay gente que se preocupan por la historia en otros ámbitos. Lo que no se es si la historia quedará solo en historia, un recuerdo de lo que fue que lo puedes volver a probar en emulador o similar, o seguirá habiendo cosas. Yo creo que de un modo u otro seguirá habiendo cosas por lo menos durante una o dos generaciones, en mi opinión. Pero es difícil aventurar una cosa así *risas*. A mi me gustaría que se siguieran haciendo cosas. Yo voy a seguir utilizando el Amstrad en clase porque creo que es una herramienta muy potente para enseñar a la gente el bajo nivel.
Yo no se si esto va a acabar un poco como el arte, que hoy en día un cuadro de Velázquez es algo adorado por todo el mundo y yo creo que Velázquez no se imaginaba que eso pudiera ser así en su época. No se si será así o simplemente estamos viviendo una segunda juventud que se apagará y después ya no habrá nada. Yo creo que, lo queramos o no, está empezando a haber lo que es una historia de la informática parecida a la historia en otros campos. Es decir, siempre ha habido historia de la arqueología o historia de la política. Ha habido distintos tipos de historia en todos los campos, pero estamos hablando de cosas que hacen miles de años que empezaron y la informática tiene 60 años.
Es dificil saber que va a pasar pero yo creo que lo más normal es que siempre haya gente que se preocupe por la historia de la informática igual que hay gente que se preocupan por la historia en otros ámbitos. Lo que no se es si la historia quedará solo en historia, un recuerdo de lo que fue que lo puedes volver a probar en emulador o similar, o seguirá habiendo cosas. Yo creo que de un modo u otro seguirá habiendo cosas por lo menos durante una o dos generaciones, en mi opinión. Pero es difícil aventurar una cosa así *risas*. A mi me gustaría que se siguieran haciendo cosas. Yo voy a seguir utilizando el Amstrad en clase porque creo que es una herramienta muy potente para enseñar a la gente el bajo nivel.
RetroManiac:
Fran, muchísimas gracias por habernos dedicado tu tiempo. ¿Qué te
gustaría añadir a nuestros lectores que no hayamos tratado en esta
entrevista?
Fran:
Pues no se. En cualquier caso yo se que hay mucha gente que tiene
ideas y ganas de hacer cosas. Yo le diría al que tenga ganas de
hacer algo que no se quede en el mundo de las ideas, pensando “yo
haría tal”, que coja un día y empiece a hacer. Si uno no sabe
programación puede buscar programadores o aprender. En máquinas
como el Amstrad CPC aprender a programar lleva algo de tiempo pero no
es tan complicado. Que la gente se anime porque gente con ganas y con
creatividad hay mucha y si quieren hacer cosas aquí
estamos todos encantados de ayudar.
Más información sobre CPCtelera.
¡Muchas gracias por la entrevista! Me encanta que se preste más atención al CPC y gracias a Fran por trabajar en la CPCtelera, con ganas de ver nuevos desarrollos
ResponderEliminarBuena entrevista. Mucho ánimo a Fran con todo ese trabajo desinteresado que hace y que le da vidilla a los Amstrad CPC.
ResponderEliminarPor cierto, Chema, se te ha colado un gambazo en uno de los pies de foto: "Un Amstrad CPC 464 al lado de un Amstrad CPC 6128". En realidad son dos CPC 6128.
LOL Me he despistado con el monitor en verde XDD Ahora mismo lo corrijo :)
ResponderEliminarGenial la entrevista, ahora mismo estoy probando ha hacer algo, aunque me da un error, será problema mio que no sé muy bien el paso a seguir, la entevista me ha parecido a parte de genial y super interesante por el hecho de impartir clases con una máquina de 8 bits, también me ha parecido emotiva, gracias a esté cacharro y otros de la época , creo que se formo la base de los que a día de hoy nos dedicamos en más o menos mesura a la informática... Un saludo y gracias tanto por la entrevista como por el desarrollo de está herramienta que creo que va a ser un punto y a parte para el desarrollo en CPC... Gracias!!!
ResponderEliminarMuchas gracias a todos por los comentarios :). Espero sinceramente que las cosas que hacemos en la Universidad os sean de mucha utilidad a todos, pues con esa intención las hacemos :).
ResponderEliminarSi tenéis cualquier problemilla, duda o lo que haga falta, además de tener el manual de referencia de CPCtelera, podéis preguntar por Twitter o por correo. Siempre que tengo un rato intento contestar a todo lo que me mandáis.
Un saludo!
PD: Muchas gracias, Chema! Como ya me has visto decir en algún lugar, más que una entrevista fue una divertida charla entre colegas :)
Buen reportaje, me encanta vuestro blog
ResponderEliminarLo que tiene que ser chungo de hacer un juego en amstrad son los graficos, porque no puedes cargar tiles como los que dibujas hoy dia en un juego no?
ResponderEliminar