Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies. OK | Más información

Entrevista a Fran Gallego sobre la CPCtelera

La expectación por lo que se va a poder hacer con la CPCtelera cuando esté terminada al 100% es máxima y ya está generando en la comunidad gran cantidad de comentarios, hilos en foros, posts en blogs… Por todo ello, pedimos a Fran Gallego que nos hablase un poco de este apasionante proyecto y esto fue lo que nos contó:

¿Cómo te defines y a qué te dedicas?

Soy profesor en la Universidad de Alicante. Doy clase de Matemáticas, Razonamiento Automático y Videojuegos en los grados de Ingeniería en Informática e Ingeniería Multimedia. También soy miembro fundador y director técnico de ByteRealms, marca registrada de desarrollo de videojuegos de la Universidad de Alicante. En mis ratos libres formo parte también del grupo scener CheeseTea, y comparto blog y desarrollos retro con mis amigos de Fremos.

En mis clases trabajamos Inteligencia Artificial, motores de red, optimización, tecnologías de bajo nivel y programación generalmente para/enfocado a Videojuegos. Realizo mi investigación en Aprendizaje Automático (Machine Learning) enfocado tanto a los videojuegos como a la mejora de los sistemas de enseñanza en el aula. Mis tres intereses fundamentales en el mundo académico son la Inteligencia Artificial, los videojuegos y la innovación en la enseñanza, y trato de combinarlos siempre lo mejor que puedo para aprovechar el tiempo.

Desde bien pequeñito, la informática y los videojuegos han sido siempre mi pasión. Con casi 5 años empecé a jugar con una Phillips G7000 en casa de mi prima y me quedé entusiasmado. Después vinieron las primeras máquinas Arcade de Bar: Ghosts’n’Goblins, Finalizer SuperTransformation, Shinobi. En navidades de 1987, viendo mi inclinacion hacia la tecnología, mis padres y mi abuela decidieron regalarme un ordenador porque eso iba a ser el futuro. Y acertaron, ¡Vaya si acertaron! Un flamante Amstrad CPC 464 con monitor color: una pasada para la época.

En aquellos comienzos todo estaba por descubrir. Cada nuevo juego era un mundo y recuerdo que hasta soñaba con el ordenador. Siempre me atrajo mucho entender cómo funcionaba todo aquello: desde el principio quería saber cómo podía crear mis propios juegos. Antes de aprender apenas a manejar el ordenador ya me imaginaba juegos e ideas que me gustaría crear. Ahí empezó todo y ha llegado hasta hoy, casi 28 años después.

Por supuesto, guardo un cariño especial a mi primer Amstrad CPC, que todavía funciona y que conservo como un tesoro. Esto hace que me entusiasme el tema retro y continuar desarrollando para máquinas de 8 y 16 bits (especialmente para Amstrad, claro). Además, con mi tendencia a combinarlo todo, utilizo estas máquinas para mejorar la enseñanza de mis alumnos en la universidad, sobre todo en la parte de tecnología de bajo nivel y videojuegos.

¿Qué es la CPCtelera y por qué sentiste que era necesario crear algo así?

La CPCtelera es un proyecto de motor de creación de videojuegos (Game Engine) para Amstrad CPC. Combina una librería de funciones con un sistema completo de desarrollo y utilidades para hacer fácil la tarea de crear, mantener y desarrollar un proyecto de videojuegos. La idea es simplificar el trabajo común que tiene crear un videojuego y dejar más tiempo disponible para centrarse en el juego.

La librería aporta a los programadores funciones de gráficos, sonido, manejo de memoria, textos y más que son necesarias para crear juegos. Así liberamos de la parte más tecnológica a los desarrolladores. Además, el sistema de desarrollo crea nuevos proyectos con una sola orden para empezar a programar al instante. Todas las tareas de configuración vienen hechas. Las herramientas están listas e integradas: el compilador, los generadores de binarios y ficheros de disco y cassette, convertidores de formato, etc.

Además, gracias a la colaboración de muchos desarrolladores, CPCtelera trae herramientas para creación y conversión de gráficos y sonido. En los créditos de CPCtelera aparecen muchas personas de la escena nacional e internacional que han colaborado cediendo o adaptando sus herramientas para que estén integradas en CPCtelera. Como se suele decir, mucha culpa de que CPCtelera exista es porque descansa sobre los hombros de gigantes. No podemos más que estarles muy agradecidos.

La CPCtelera nació durante la BitBitJam 2014. Por aquel entonces llevaba meses peleándome con muchas herramientas y utilidades de desarrollo para Amstrad, que combiné de la mejor forma posible para qué pudiéramos entregar Save The Humor. Las herramientas eran todas de su padre y su madre, y hacía falta mucho tiempo para entender cada una por separado y currarse alguna forma de integrarlas. Eso, por no decir que también estaban hechas para distintos sistemas operativos.

En un momento dado llegué a la conclusión de que era un problema muy grande que estaba frenando el desarrollo para Amstrad CPC. Pensé que era muy probable que la mayoría de desarrolladores abandonasen a mitad de camino, cansados de tener que hacer tareas ‘administrativas’ y no poder centrarse en lo que querían de verdad: crear juegos. Entonces fue cuando empecé el proyecto con 3 premisas básicas: 1) debe ser tecnológicamente potente, 2) debe estar bien documentado y 3) debe tener utilidad educativa. Así, los juegos hechos con CPCtelera pueden exprimir al máximo la máquina y los usuarios tienen la oportunidad de aprender de todo lo que se haga para progresar en el dominio de la máquina y el conocimiento tecnológico de bajo nivel.

¿Es díficil o hay que tener conocimientos avanzados para manejarla?

La CPCtelera es un producto de desarrollo, para programadores. Los conocimientos que requiere de un usuario son un nivel introductorio de programación y saber usar una consola de comandos. No es necesario tampoco ser un superprogramador: basta con saber cómo se crea un programa y qué es un compilador para empezar.

Con CPCtelera instalada, sólo hay que crear ficheros de código fuente con un editor y lanzar la compilación desde la línea de comandos. CPCtelera incluye dos compiladores, SDCC y ASZ80, para programar en C y ensamblador de Z80. Es recomendable, por lo menos, saber algo de programación en C para empezar. De todas formas, si se ha programado en otros lenguajes, introducirse en el lenguaje C es bastante sencillo y hay muchísimos libros.

En un futuro nos encantaría que CPCtelera llegase a ser un Game Engine completo, más parecido a los actuales (léase algo similar a Game Maker o Unity). Sería un placer dar a mucha gente creativa la posibilidad de crear buenos juegos para Amstrad. Eso sí, aún trabajando en esta dirección, CPCtelera siempre permitirá el trabajo a bajo nivel, para quienes quieran tener dominio tecnológico completo de lo que hacen.



¿Qué tipo de programas o juegos se pueden crear con la CPCtelera?

En principio no hay restricciones de ningún tipo. Por así decirlo, la potencia disponible sólo está limitada por las capacidades del desarrollador, junto con las de la propia máquina.

De hecho, conozco casos de gente que está usando CPCtelera sólo por el sistema de desarrollo, sin hacer uso de la librería de bajo nivel. Es decir, adoptando la comodidad de tener las herramientas ya preparadas y configuradas, pero creando la totalidad del código desde 0, en ensamblador. Uno de ellos fue muy divertido porque dijo que para él CPCtelera era como un MS Visual Studio para Amstrad CPC. Creo que se pasó mucho: ya quisiéramos que CPCtelera fuera un 1% de lo que es MS Visual Studio. Aún así, la comparación no deja de ser anecdótica y divertida.

¿Cuál es la mayor virtud de la CPCtelera?

Diría que la mayor ventaja de CPCtelera es su simplicidad. Aunque quede mucho por hacer, es muchísimo más sencilla de instalar, configurar y usar que todas las herramientas que integra por separado. Si hubiera tenido algo como CPCtelera cuando empecé a estudiar las herramientas disponibles, creo que lo habría usado sin dudarlo.

Podemos estar muy contentos de haber conseguido el objetivo principal: hemos creado una herramienta integrada que ayuda a los desarrolladores automatizándoles muchas tareas y dejándoles más tiempo para concentrarse en lo que verdaderamente les importa.

¿Cuáles son los objetivos que os habéis marcado con la CPCtelera?

Bajo la idea principal de crear un Game Engine y de automatizar todo lo que se pueda ganar tiempo, los objetivos de CPCtelera son siempre los 3 que he resumido antes,

1) Potencia tecnológica: dar herramientas y tenologías potentes que permitan a los desarrolladores alcanzar el máximo posible.
2) Usabilidad y documentación: de nada sirve tener mucha potencia si nadie sabe cómo se usa. Diseñamos y documentamos todas las funciones de CPCtelera lo mejor que podemos. Además, siempre estamos pensando en formas de mejorar.
3) Carácter educativo: no nos conformamos con explicar cómo se usan las cosas. Procuramos añadir todo tipo de detalles sobre cómo están hechas y cómo funcionan por dentro. Todo el código que hemos desarrollado está intensamente comentado para que cualquiera que quiera aprender de él pueda hacerlo. Por supuesto, esto implica que distribuímos el código fuente de todos nuestros desarrollos.

Creemos que estas guías son la base para facilitar la incorporación de nuevos desarrolladores, así como para crear comunidad y mantener el proyecto vivo incluso más allá de nosotros mismos. Hay que ser conscientes de que el tiempo es finito y puede que no siempre vayamos a poder dedicarle nuestras horas al proyecto. Por eso, es fundamental que todo lo que hay disponible pueda ser fácilmente entendido y continuado por otras personas.

Además, esto también significa que cualquiera puede aportar al proyecto siempre que quiera. El proyecto entero está en Github y es tan fácil como modificar cosas o crear nuevas funcionalidades y enviárnoslas.

¿Qué respuesta habéis obtenido de la comunidad?

Todavía es un poco pronto para un producto como CPCtelera. Los productos de desarrollo tienen un periodo de adopción muy largo. Creo que dentro de un año podremos empezar a valorar la respuesta de la comunidad y la utilidad real de CPCtelera. Si vemos aparecer nuevos juegos hechos con CPCtelera y desarrolladores que continúen usándola tras un primer proyecto, entonces podremos valorar que lo que ofrecemos es verdaderamente útil.

Mientras tanto, lo que sí hemos podido ver es que hay mucha gente adoptándola o probándola de una manera u otra. Conocemos varios proyectos que están en producción y que la están usando. También conocemos proyectos que estaban a mitad con sistemas propios de desarrollo u otros sistemas y que están migrando a CPCtelera. Tanto las preguntas en los foros especializados como las descargas van en aumento. Son todo buenas señales, sin duda, pero queremos valorarlas en su justa medida. El veredicto final lo darán los usuarios, que son quienes deben decir si es útil o no.

Nosotros, mientras tanto, estamos muy contentos con cada pequeño feedback que recibimos y seguimos entusiasmados haciendo mejoras. Esperamos que de verdad termine siendo útil y consiga que tengamos muchos nuevos desarrollos para Amstrad.

Muchos jóvenes piensan sólo en disfrutar de los juegos pero ¿sientes si hay interés por saber cómo están hechos y curiosidad por cómo hacerlos?

Depende de cada persona. Tengo muchos amigos que llevan desde pequeñitos jugando a videojuegos pero que nunca les ha interesado saber cómo están hechos. A nivel empírico diría que entre un 5% y un 15% de las personas que disfrutan con los videojuegos se sienten interesados por la creación a nivel de desarrollo. Aquí incluyo tanto a quienes les interesa la creación artística (gráficos, música, niveles, historia) como a quienes les gusta la tecnología.

Luego, pese a que la cosa cambia bastante entre mis alumnos, tampoco en un público tan especializado todos están interesados. Entre el 80% y 90% de mis alumnos sí tienen interés creativo fuerte, mayoritariamente centrado en la parte tecnológica, aunque también hay muchos grafistas, músicos y level designers. Aún así, siempre hay quien prefiere jugarlos a crearlos, o se desilusiona un poco ante la cantidad de trabajo y esfuerzo que supone hacer un videojuego bien hecho.

Periódicamente, hacéis una competición de creación de videojuegos de la que publicáis una edición física de los juegos para Amstrad. ¿Qué acogida tienen?

Desde hace 2 años venimos organizando el #CPCRetroDev, un concurso de desarrollo de videojuegos para Amstrad CPC. El concurso nació junto con la introducción de los Amstrad CPC como parte de las prácticas para mis alumnos de la universidad. Una de las premisas en las que baso mi forma de enseñar es en crear productos reales, que vayan siempre más allá de las prácticas que deben ser entregadas al profesor para obtener nota y que se quedan en un cajón. Los alumnos deben enfrentarse a la realidad y crear proyectos para un público real, con objetivos reales y que luego puedan añadir a sus portfolios profesionales. Así es como se forja la sacrosanta experiencia que siempre se pide en ofertas de trabajo y es fundamental que se empiece desde el primer día.

Así, decidí organizar un concurso para cubrir varios propósitos: 1) ayudar a animar la escena de Amstrad CPC, que siempre da la sensación de estar más parada que otras como la de Spectrum o MSX, 2) premiar los mejores juegos hechos cada año para Amstrad CPC, incentivando nuevos y mejores desarrollos, y 3) servir para que mis alumnos compitan en el mundo real con sus trabajos de clase, y tengan que crear productos reales, para un público real.

Junto con el concurso decidimos crear una copia física, en cassette, de todos los juegos participantes. Nos ha llevado muchos trámites administrativos y burocráticos poder crearla y ponerla la venta. Así, la primera edición ha sido de los juegos del año pasado #CPCRetroDev 2014. Ahora que todo eso está superado, y gracias a la colaboración de Devilish Games, este año publicaremos la segunda edición, con los juegos que se presenten al #CPCRetroDev 2015. Este es un incentivo más para los desarrolladores y creo que un premio muy especial para todos los participantes, que pueden ver sus juegos incluidos en una edición física que la gente compra y disfruta a día de hoy, en pleno 2015.

La acogida tanto del concurso como de la cassette es muy buena. Hasta el momento sólo hemos recibido eligios por parte de la gente y se han vendido ya el 60% de las unidades disponibles. Estamos encantados de ver que la gente de la escena disfruta con nuestras iniciativas y esperamos poder mantenerlas y mejorarlas durante mucho tiempo.

Es importante destacar que todo el dinero recogido de la venta de las cassettes va destinado íntegramente (tras deducir impuestos) a la financiación de premios y nuevas ediciones físicas del #CPCRetroDev. Quienes compran la cassette además de tener un producto están colaborando directamente con la iniciativa del concurso y convirtiéndolo en lo que ya es hoy: el concurso internacional de desarrollo para Amstrad CPC más importante. Este año, el #CPCRetroDev contará con 900€ en premios.

¿Qué echas de menos de la época de los ocho bits?

De los 8 bits lo que más se echa de menos son las sensaciones que vivimos en aquella época. Entonces no había Internet y no tenías a mano miles de fuentes de información todos los días para aprender y desarrollar. Esto hacía que tuvieras que tirar mucho de imaginación y de lo poco que disponías (revistas, algún libro y los amigos). Entonces, cada nueva cosa que creabas por ti mismo era un descubrimiento en sí mismo. Creabas cosas que para ti eran totalmente nuevas porque no habías tenido oportunidad de verlas en ningún sitio. Es una sensación que no tiene precio y que es difícil de conseguir a día de hoy. Hoy es más normal tener una idea, buscar en Internet y encontrarla hecha 20 veces y de formas mejores a las que tú habías pensado.

A parte de eso, los 8 bits tenían también la magia de las limitaciones. Crear cosas en un entorno limitado da mucho más valor a cualquier avance o innovación que seas capaz de desarrollar. Conseguir que una animación funcione un 10% más rápido que la última que hiciste puede ser una tarea extremadamente creativa, como resolver un complicado puzzle. Cuando das con la solución, la recompensa es extremadamente gratificante. Siempre se expande más la mente y la creatividad ante las limitaciones. Ser capaz de superar algo que parece insuperable produce la misma sensación que hacer un poquito de magia. Eso es muy difícil hoy en día, cuando dispones de recursos que a veces son virtualmente ilimitados.

¿Qué consejo darías a todos aquellos que quieran cruzar la línea y ponerse a crear juegos?

Mi consejo es que se focalicen bien en lo que les gusta de los videojuegos y trabajen en ello. No todo en los videojuegos es programar. Cada uno debe saber qué es lo que realmente le gusta: escribir guiones, crear gráficos, hacer animaciones, músicas, ajustar niveles, diseñar enemigos… Hay muchísimas cosas que un videojuego requiere y siempre vamos a ser mejores en aquello con lo que más disfrutemos. La primera tarea para cualquiera que quiera entrar en este mundo, es encontrar la parte que más le gusta de él.

Una vez encontrada esa parte hay que potenciarla hasta el límite. Esto es como aprender a meter triples en baloncesto: hace falta muchas horas tirando a canasta para llevar nuestra habilidad al límite. Para esto recomiendo empezar con máquinas limitadas y desarrollar varios proyectos reales en las mismas, e ir ampliando horizontes (con máquinas más potentes cada vez). Como he comentado antes, desarrollar en máquinas limitadas obliga a utilizar la imaginación y la creatividad y se aprende a expandir los horizontes más allá de los límites. Se desarrollan la confianza en uno mismo y la capacidad de no limitarse a lo que uno dispone, a pensar ‘out-of-the-box’ y a tener recursos propios. Creo que es una experiencia valiosísima para cualquiera que quiera llegar lejos.

También es muy importante destacar en el currículum personal los proyectos realizados en máquinas limitadas. Es algo que las empresas importantes de la industria valoran mucho y muy bien, pero que no todo el mundo sabe. Tengo muchas experiencias con alumnos que han sido muy bien valorados en procesos de selección de másteres y en empresas inglesas al saber que habían desarrollado videojuegos para Amstrad CPC. Si, además de eso, se pueden poner cosas como conocimiento de bajo nivel, programación en ensamblador, premios por gráficos o animaciones excepcionales, músicas innovadoras… Que nadie minusvalore todo esto: todas estas capacidades y valores son poco comunes y tenidos en cuenta por las personas importantes de la industria.

Enlaces

CPCtelera

Vídeos sobre CPCtelera

Otros enlaces

Perfiles en Twitter

Coméntalo en: Twitter Facebook Google +