Mi diario: aprendiendo a programar juegos para CPC

Mi Diario: Amstrad CPCEste post comienza una nueva sección sobre programación para Amstrad CPC: Mi diario. Esta sección surge gracias a nuestra colaboración con Francisco Fernández (@ronsonmaria), Ingeniero en Informática y alma mater del podcast Pensando como Pollos. Fran se ha comprometido a crear un videojuego para Amstrad CPC 464, empezando desde 0: nunca antes ha programado para Amstrad CPC, salvo en BASIC en su infancia. En estos posts nos irá relatando su experiencia de aprendizaje, sus problemas y sus soluciones, con la intención de que os sea útil a todos aquellos que queráis seguir sus pasos y aprender a programar juegos para Amstrad CPC.

Desde estas líneas damos las gracias a Fran por compartir con nosotros esta experiencia y por su colaboración con Fremos, y le deseamos mucha suerte para competir con su videojuego en el 2º Concurso de Videojuegos Retro de la Universidad de Alicante.

Sin más, os dejo con el primer episodio de su aventura en el mundo de la programación para Amstrad CPC.

Episodio 0 – Preparando el Entorno

Amstrad CPC 464El verano suele suele ser una época para desconectar de la faena diaria que nos atrapa durante el año y de la famosa “rutina” que curiosamente nos atrapa a la vez que nos ordena la vida. En una ocasión Carlos Fenollosa me comentó en una entrevista que: “Las empresas nunca deberían contratar a un Ingeniero Informático cuyo hobby sea la informática.”, tengo que decir que conozco a muy pocos informáticos que no les apasione su trabajo, por lo que, aunque hago deporte muy a menudo, lo siguiente en mi lista de hobbies es hacer cosas en la informática que normalmente en mi trabajo no puedo hacer.

Tengo 37 años y si hoy en día soy Ingeniero Informático es, en parte, porque en el año 1987 mis padres me regalaron un Amstrad CPC 464. Yo creo que hoy en día amo la Navidad y sobre todo el día de Nochebuena porque esa noche de 1987 me hicieron el niño más feliz de la faz de la tierra. En aquella época le dediqué varios años a aprender BASIC y en hacerme algún que otro programa en BASIC, pero nunca profundicé en la programación de videojuegos; se puede decir que era una espinita que tengo clavada desde aquella época.

A los que nos gustan los videojuegos y somos ingenieros informáticos, siempre hemos querido programar un videojuego, lo que pasa es que cuando terminas la carrera y accedes a un puesto de trabajo en el “mundo real” te das cuenta de que te vas a hinchar a hacer querys a bases de datos relacionales para dar informes a tus jefes o, por el contrario, vas a desarrollar aplicaciones web que como fin tienen el interactuar con estas bases de datos. Por eso, al menos yo, ando buscando una “excusa” para poder hacer las otras cosas que me gustan.

La principal válvula de escape son las clases con mis alumnos de 4º de la ESO y 1º BACHILLER, donde hacemos y programamos videojuegos usando la plataforma SCRATCH que, para el que no lo conozca, es un lenguaje de programación visual diseñado por el MIT como herramienta para enseñar a los alumnos a programar. Todas estas clases sacian mi sed, pero claro, con eso alumnos no puedes bajar mucho de nivel. Digamos que estas clases aún me dejan con ganas de más. Lo que pasa es que el día a día te come, tienes hijos, tienes que estudiar Inglés, preparar clases, hacer deporte…, y te queda muy poco tiempo para poder hacer las cosas que te gustan. Pero ahora que mis mellizos de 5 años se están haciendo grandes, empiezo a tener mi espacio para poder llevar a cabo mi proyecto de este año: Programar un videojuego para 8 y 16 bits.

Cómo Empezar

Bien, en la soledad de mi despacho me hice esa pregunta, ¿por donde empiezo? Yo hago un podcast llamado Pensando como Pollos, dedicado al mundo Apple y a la tecnonostalgía, en el que hablamos de Apple y de la retroinformática, entrevistamos a personas relacionadas con este mundo y, si algo me ha enseñado el hacer este podcast, es que, poniéndote en contacto con la gente de Internet, estos te responden. También hay que decir que, gracias a este podcast, he conseguido hacer una gran cantidad de amigos, y uno con el que he empatizado un montón es con Ignacio Zarrantz, presentador de Fase Bonus, que para mí, es el mejor podcast retro que existe.

Por otra parte soy de los que piensan que el aprendizaje cooperativo es la mejor manera de aprender: es más fácil que te enseñen a asimilar conceptos personas que están con las mismas dudas que tú, que contactar con algún gurú que probablemente te hable de conceptos que están por encima de tu nivel.

Videojuego Ninjajar / Mojon TwinsY, por último, la decisión más difícil para mí: ya tengo claro que quiero programar un juego de 8 o 16 bit, pero ¿para qué plataforma? En mi caso lo tenía claro, crecí con un Amstrad y mi ilusión es hacer un juego para Amstrad, pero curiosamente, los frameworks más evolucionados para programar juegos están para Spectrum, siendo La churrera el más usado en el panorama nacional.

Dicen que detrás de un gran hombre hay siempre una gran mujer, y lo mismo se podría decir en el mundo de los videojuegos: detrás de un gran programador, siempre hay un gran grafista, o viceversa. En mi caso se trata del caso contrario; tengo un amigo que conocí hace años llamado Manuel Ferri, licenciado en Bellas artes y gran artista del pixelart, que lleva dándome el follón mucho, pero que mucho tiempo para hacer un videojuego. Pues bien, yo intentaré dar vida a sus dibujos en las máquinas de 8 y 16 bits.

Con todo esto, contacté con varios grupos de programación retro: primero contacté con Retroworks, mediante una asociación de informática retro que hay cerca de la ciudad donde vivo llamada Retroalkasil. Los de Retroworks me trataron excepcionalmente y me comentaron todo lo relacionado con sus librerias centradas sobre todo en la programación de Spectrum, aunque también tienen juegos en Amstrad. No tardaron ni una semana en ponerse en contacto conmigo y proporcionarme código y las herramientas necesarias para empezar con el desarrollo de nuestro juego.

Escuchando el Episodio 139 de Fase Bonus dedicado al videojuego Ninjajar, descubrí un grupo muy potente de desarrollo para plataformas de 8 bits, concretamente para Spectrum, llamado Mojon Twins. Me registré en su foro y le mandé un email a Na_Th_an, gran programador y uno de los responsables del motor para hacer juegos de Spectrum denominado La churrera. Na_th_an me contestó en su email y me explicó como empezar. Esto confirma lo que he comentado anteriormente: si te pones en contacto con la gente de Internet, ésta te responde.

Durante el evento de Retroconsolas en Alicante del año 2013, tuve el placer de concocer a Fran Gallego, profesor de universidad y amante del Amstrad, al que tuve el placer de entrevistar en mi podcast. Como siempre, Fran se puso en contacto conmigo y me dio algunas indicaciones para programar en Amstrad, y además me lanzó el guante, el cuál recogí con agrado y miedo para que me animara a dos cosas:

  1. Que me apuntara a un concurso de programación de videojuegos en Amstrad.

  2. Que escribiera unos posts para que hiciera público mi proceso de aprendizaje.

Gracias a los podcast de Fase Bonus, conocía al grupo de programación 1985Alternativo, creado por las mismas personas que hacen Fase Bonus, y cuyo target es la programación para la Megadrive, siendo el remake de Oh, mummy su opera prima hasta que aparezca el esperado Antarex. Ignacio, Albert, David y @Pocket_Lucho me han atendido de una manera sublime e invitado a participar en sus proyectos para Megadrive en 1985Alternativo y, como he dicho antes, siempre he querido pertenecer a un grupo de desarrollo retro para potenciar el aprendizaje donde pueda usar un motor para mi juego y ayudar al desarrollo del mismo como contraprestación. Por eso, he decidido unirme a 1985Alternativo para desarrollar mi videojuego para Megadrive y ayudarles humildemente en lo que pueda con su motor y usarlo para desarrollar mi juego, del cual solo puedo adelantar su título: Gárgolas.

Por otra parte he decidido recoger el guante lanzado por Fran Gallego y, sin tener ni puñetera idea del desarrollo para Amstrad, voy a presentar una versión muy muy reducida de mi juego para el concurso de Amstrad que saldrá con el mismo título: Gárgolas.

En el siguiente capítulo, Episodio 1 – El diseño del videojuego, hablaré de los primeros pasos diseñando el juego.

Más

Episodio 1 – El diseño del videojuego

2 comentarios en “Mi diario: aprendiendo a programar juegos para CPC

  1. Te seguiré con gran interés. Gracias por compartir el desarrollo de tu aprendizaje y tu proyecto. Muy útil para los que, como yo, estamos empezando tímida e ilusionadamente con el desarrollo para plataformas de 8-bits

Deja un comentario