Ironhack – Semana 3

Os cuento la semana 3 con un poco de retraso. He aprovechado el fin de semana para empezar a refactorizar el código del proyecto que he presentado. También para actualizar mi CV y LinkedIn porque, aunque se me olvidó comentarlo, en la semana 2 tuvimos un workshop muy útil sobre cómo optimizarlos para la búsqueda de empleo.

IronRun-Z, mi primer juego 🧟

La semana 3 es la semana del primer proyecto: un juego. Para el juego se puede utilizar todo lo que hemos aprendido anteriormente: HTML5 Canvas y JavaScript. El horario de esta semana es diferente. Se hace una hora de “katas” de CodeWars por la mañana y luego se deja tiempo para trabajar.

El primer día de la semana hicimos un repaso de lo que habíamos visto hasta entonces y tuvimos oportunidad de preguntar nuestras dudas. Después de nuestra primera “kata”, hablamos individualmente con el Lead Teacher y/o los Teaching Assistants de lo que queríamos hacer en el proyecto. Si era factible hacerlo en los cuatro días que tenemos para ello, nos daban el “OK” y nos poníamos a trabajar.

Definir el concepto para un juego no me parece una tarea nada fácil. Así que decidí simplificar y no perder demasiado tiempo en ello. Al fin y al cabo, sólo tienes 4 días para hacerlo.

El fin de semana anterior probé mi idea inicial que era hacer un juego en el que el jugador corre o va en bicicleta hacia delante (“vertical scroll”), esquivando a personas. La razón por la que finalmente no lo hice es que el contexto de renderización que hemos utilizado en Canvas es 2D y la idea que tenía en mente implicaba crear un juego en una perspectiva  “pseudo-3D”. A parte de no encontrar por ninguna parte “sprites” (animaciones) que encajasen con esta idea, me di cuenta de que me iba a complicar demasiado las cosas.

Decidí entonces echar un vistazo a los recursos para juegos disponibles gratuitamente y a partir de ellos elaborar mi idea. Había muchos gráficos tipo 8-bit para hacer juegos de fantasía y animaciones 2D de zombies. Como no me apetecía estar diseñando mazmorras con cuadraditos (“tiles”), me decanté por los zombies.

El juego es un “side-scroll endless run”, que básicamente quiere decir que avanza lateralmente y es una carrera sin fin. Al jugador le persiguen unos zombies por el escenario y tiene que evitar tropezar con obstáculos y caerse, sino será atacado por los zombies. No es tan diferente de mi idea original porque sigue siendo una carrera evitando obstáculos. Tampoco es muy diferente de ejemplos vistos en clase, pero es un objetivo realista para un primer juego.

Poco a poco fui construyéndolo:

  • El lunes trabajé en situar el fondo del juego y los distintos personajes, asegurándome de que funcionasen las distintas animaciones que tenía para ellos.
  • El martes implementé un modo pausa, un cronómetro para medir cuánto se ha avanzado, una clase para controlar la entrada por teclado, los obstáculos que había que saltar y los saltos del personaje.
  • El miércoles añadí grados de dificultad diferentes para saltar obstáculos según el momento del juego en el que se está, implementé la muerte del jugador al colisionar con un obstáculo e hice que se parase el juego en ese momento.
  • El jueves aprendí a añadir sonido, coloqué un efecto de sonido para cuando los zombies colisionan con obstáculos y otro para cuando los zombies alcanzan al personaje. También añadí pantallas de inicio, pausa y final.

El viernes por la mañana decidí no tocar mucho el juego, ya que lo tenía que presentar por la tarde. Así que preparé un poco la presentación que iba a hacer y aproveché para jugar a algunos de los juegos que hicieron mis compañeros. Si queréis echarle un vistazo a la presentación, la tengo en este archivo de Google Drive.

La presentación no fue del todo mal, si no tenemos en cuenta que mi portátil no se podía conectar al proyector (al final me dejaron uno) y que como me puse algo nerviosa no era capaz de saltar obstáculos, así que creo que todo lo que se ha visto del juego es la escena de muerte del personaje. 😅 Cosas que pasan cuando tienes cinco minutos de presentación. 🤷

Estuvimos bastante tiempo con las presentaciones pero se me pasó el tiempo volando. Me lo pasé muy bien viendo lo que habían hecho los demás. Creo que hubo muy buen nivel.

Si queréis jugar a mi juego, aquí está el enlace:

https://natgarea.github.io/ironrun-z/

Todavía tengo que terminar de refactorizarlo y es posible que añada algunas cosas porque me quedé con las ganas. En el repositorio de GitHub del juego tengo un Readme.md en el que explico las mejoras que me gustaría hacer. A ver cuánto tiempo saco para ello, porque esta semana ya empezamos con la parte de backend del bootcamp. Como siempre, ya os iré contando.

Leave a Reply

Your email address will not be published. Required fields are marked *