qeqe’s development story

First of all, english is not my main language, so if you are a spanish speaker, you might rather read this spanish version, if you are not a spanish speaker… well… i am really sorry about the grammatical-heresy you are about to read ^^’

I am sleepy.. it’s 1:25 am. 16 hours ago I started to develop the undo and the reset of the levels. 12 hours ago, I decided to make a teaser, and started to design the levels. 1 hour ago I finished recording the teaser’s gameplay. 31 minutes ago i finished doing the last modifications to the executable. 20 minutes ago, i created the qeqe’s itch.io page, and finished uploading the youtube video. 3 minutes ago, i decided to write this blog entry, and not to go to sleep until it is done XD

The year was 2014, I was offered to be part of a gamedev team on the GGJ2014 as an artist. We developed “Dónde estás Pepe?”, and our team was elected as the local winner, besides of that, i was not happy with the result. I am a programmer, not an artist… I love to code! but the times i can be a programmer on a gamedeving team are really scarce .__. so, after the GGJ2014, i decided it: “I am going to learn to be a programmer of videogames”.

I already knew how to code, but I only coded algorithms, printing and reading from the console. By then, i didn’t know to code on javascript. When i was a kid, i used to play games from newgrounds all the time, so I decided to develop games for web with phaser.

I spent a whole year spanking my head on the desk, trying to learn phaser, and every time I found a problem, i didn’t know if the problem was because of my lack of knowledge on javascript, or because of my noobness on phaser, or because of a bug on phaser, or because of a bug on my logic D’: those were harsh months.

Three months remaining for the GGJ2015 I decided to make my first game: a global warming game as a global game jam warming, which is a game about global warming that i made as a warming for the global game jam XD

but.. what about qeqe? well…

The original game of qeqe was SpiderDog. I created qeqe, because i wanted to learn to play with gravity in platform games. So i decided to make a game about a dog that could climb the walls and the roofs, just like a spider! but in order to achieve that, i needed to learn to use tilemaps.

As it was only a game created with the objective of teaching myself to play with gravity in games, i really didn’t focused much on the art… I made a dog with sticks lol.

I had a really good time learning to use tilemaps… so i decided to let qeqe dig holes on the tilemaps, so he could modify it’s environment.

I developed an algorithm that made the borders of the dirt to smartly fit depending on it’s neighbors, so that the dirt doesn’t looked like overlapped every time qeqe made a hole. And that was it! qeqe was able to make holes on the tilemap.

It was kind of boring though. Qeqe needed a motivation for making holes… is there a better motivation for a dog to make holes than finding bones? well… that’s how the bones were born.

But… if the bones are hidden, then qeqe is gonna have a hard time finding them… and that’s how the bone tracking was born XD

I think it took me 3 or 2 weeks to develop qeqe. I really didn’t put a lot of effort on him, but every time i make my friends play my games, qeqe is the game they like the most!

and that’s why i decided to continue it’s development, so more people can enjoy it :D

so, if you want to play the teaser, plase, download it from here: https://vengadoravg.itch.io/qeqe

And if you get stuck on the teaser, there is a little walkthrough i made: https://youtu.be/W1NdabKynNY

aaaand if you want to play SpiderDog, (the original version of qeqe) you can do so right here: http://vengadoravg.github.io/qeqe/index.html

as qeqe is released under the GPLv3.0, you can also explore it’s source code and clone the project! https://github.com/VengadoraVG/qeqe

Well… it is already 2:30 am, and i am really, really sleepy now… so… good nights~!

Advertisements

La historia de qeqe

Estoy con algo de sueño… es la 1:25 am. Hace 16 horas comencé a programar el undo y reset de niveles. Hace 12 horas me decidí a hacer un teaser y comencé a diseñar los niveles. Hace 1 hora terminé de grabar el gameplay del teaser de qeqe, hace 31 minutos terminé de hacer las últimas modificaciones al ejecutable. Hace 20 minutos creé su página en itch.io y subí el video a youtube. Hace 3 minutos, me decidí a escribir esta entrada de blog, y no irme a dormir hasta que esté terminada XD

Era el 2014, y me ofrecieron participar como artista en un equipo de gamedevs para el GGJ2014. Fue allí cuando nació “Dónde estás Pepe”, en esa ocasión nuestro equipo resultó ganador! pero yo no estaba conforme, yo soy una programadora, no una artista… me encanta programar! pero las ocasiones en las que realmente puedo desempeñar ese rol son muy contadas .__. así que, después del GGJ2014 lo decidí: “voy a aprender a programar videojuegos”.

Por entonces, yo ya sabía programar, pero solo algoritmos, imprimiendo y leyendo datos de la consola, no sabía nada de javascript. Grandemente influenciada por los juegos que jugaba día tarde y noche en newgrounds, decidí desarrollar juegos para el navegador, y fue allí cuando conocí a phaser :D

pasé todo un año rompiéndome la cabeza, intentando aprender phaser, y cada vez que me topaba con un problema, no sabía si el problema era a causa de mi ignorancia de javascript, o a causa de mi ignorancia de phaser, o un bug de phaser, o un bug en mi código D’: fueron meses difíciles.

No fue hasta que faltaran tres meses para el GGJ2015 que me decidí a hacer mi primer juego: a global warming game as a global game jam warming, es un juego que hice como calentamiento para el global game jam del 2015.

pero… “dónde está qeqe?” XD bueno… aquí es donde entra qeqe:

El primer nombre de qeqe fue SpiderDog, y nació porque, yo quería jugar con la gravedad en phaser XD, quería hacer el juego de un perrito que pudiera trepar por las paredes como si fuera una araña… pero para lograr desarrollar eso, tenía que aprender a usar tilemaps!

Como sólamente era un juego, cuyo objetivo era que yo aprendiera a jugar con la física, no me enfoqué mucho en el arte… hice un perro de palitos jajaja.

Aprendiendo a usar tilemaps, vi que era super divertido… y pensé que sería muy divertido hacer que qeqe (por entonces spiderdog) pudiera hacer agujeros y modificar el tilemap.

Desarrollé un algoritmo, un tanto rudimentairo, para que los bordes de los tiles se acomodaran inteligentemente, y no se viera “feo” o “sobrepuesto” cada vez que hicieras un agujero en el tilemap, y listo! qeqe ya podía hacer agujeros.

Pero era medio aburrido, qeqe necesitaba un propósito para hacer agujeros… ¿y qué mejor motivación necesita un perro para hacer agujeros que encontrar huesos? bueno… así nacieron los huesos.

Pero si los huesos están ocultos, a qeqe le va a costar mucho encontrarlos… y así nació el rastreo de huesos XD

Si no recuerdo mal, desarrollar a qeqe me tomó 3 ó 2 semanas. Fue un juego rápido. Pero, siempre que le hago jugar a mis amigos mis juegos, qeqe es el juego que más les gusta!

Recientemente, en este año (2017), fuimos invitados como Ancestral Gods por Rodrigo Goyzueta a Proyecciones Animé, organizado por Anime Kai para que pudieramos mostrar nuestro trabajo :O así que decidimos preparar dos juegos para mostrarlos en exclusiva allí.

Uno de los juegos fue qeqe. Decidí hacer el port a Unity, estuve unos 3 ó 4 días peléandome con unity para que el juego se “sintiera” tal y como se sentía en su versión de phaser. Al final, lo tenía! una versión de qeqe en unity :D

Y ahora, he implementado una nueva característica: la capacidad de resetear niveles, y de deshacer tus cambios en niveles que hayas destruido.

Si quieres probar el teaser que hice, puedes descargarlo gratis de aquí: https://vengadoravg.itch.io/qeqe (aún no hay versión para mac, ni para linux… no tengo las herramientas para hacer el build, ni megas para descargar esas herramientas DX)

Si te quedas trabado, puedes ver el walkthrough aquí https://youtu.be/W1NdabKynNY

y si quieres jugar SpiderDog (la versión original de qeqe), puedes hacerlo desde aquí: http://vengadoravg.github.io/qeqe/index.html

qeqe ha sido liberado mediante la GPLv3.0 :D así que puedes explorar su código y clonar el proyecto de aquí: https://github.com/VengadoraVG/qeqe

Espero que te guste! :D y recuerda: es solo un teaser, voy a sacar nuevas versiones, y cuando lo haga, voy avisarte, escribiendo una entrada de blog ^__^

Bueno, son las 2:03 am, y me voy a dormir XD

El Efecto Kefka

Tenía 12 años, y mi hermano acababa de encontrar un juego genial en esa lista interminable de ROMs de snes que teníamos en nuestra vieja pentium 3. En ese momento, un mundo de fantasías se creó en mi mente, y no podía dejar de pensar en ese fantástico universo: en el colegio, mientras comía, mientras me bañaba, mientras dormía!… se trataba de Final Fantasy 6!

Aunque la jugabilidad me parecía bastante aburrida, su historia y sus puzzles nos consumieron por completo, y pronto, todos los demás juegos perdieron su encanto, y pasábamos nuestros turnos de computadora, jugando FFVI, descubriendo secretos y leveleando a nuestros personajes.

No pasó mucho tiempo antes de que conocieramos a Kefka. Su primera aparición (en la traducción española), lo hace parecer un payaso, quejándose y lloriquéando porque tiene arena en sus botas, y aprovechando su poder para solucionar problemas triviales. Una música exageradamente pegajosa acompaña su primera aparición, junto con una risa “mwahahahahahaha”.

Kefka_Palazzo_(Final_Fantasy_VI)

Este maldito bastardo es Kefka

Esta música no es nada que haya escuchado antes, al igual que la risa, por lo que llamó instantáneamente mi atención la primera vez que escuché estos sonidos, lo que causó que se grabara en mi mente.

SPOILER ALERT

A medida que avanza el juego, conoces más a Kefka, y siempre que lo ves protagonizando sus hechos atroces, escuchas esa música, y esa risa. La historia avanza, y Kefka se muestra cada vez más degenerado, haciendo cosas horribles.

A medida que avanzo en la historia, cada vez que escucho esa música, siento miedo, y cada vez que escucho esa risa, siento ira y me hierve la sangre.

Muchas veces intenté explicar este efecto, cuando describo juegos, o cuando pienso en mecánicas, y ahora, en vista de que necesito un término para nombrar fácilmente a este “fenómeno”, le he nombrado “El Efecto Kefka”.

El efecto Kefka, es una mecánica que se da cuando el jugador asocia (ya sea consciente o inconscientemente) algún detalle (del entorno o de la jugabilidad) a un antagonista, o a alguna situación que lo pone en peligro, causándole cierto estrés en la vida real.

Es una de mis mecánicas favoritas! y es sumamente explotada en el género lovecraftian: “oh, miren! el cielo cambia de color cuando me paro en este lugar… oh, el mundo cambia si presiono un botón en este lugar, eso me ayuda a conseguir más monedas, qué genial!… OMG!! el mundo se hizo horrible esta vez que presioné ese botón en ese lugar… el mundo es lindo otra vez… el cielo cambió de color en este lugar… tengo miedo D:” – Eversion

El “efecto kefka” no se da cuando asocias la imagen de un enemigo con el mismo enemigo. Me refiero a algo del entorno, algo que tal vez no tenga mucha relación con el antagonista: algo parecido a lo que Hideo Kojima hace en MGS V con el cambio de velocidad y el silencio antes de que algo peligroso pase, y este sentimiento es constantemente reforzado con la jugabilidad (cuando un enemigo te descubre).

Bueno… solo quería definir esa mecánica, y compartir mis experiencias con ella XD hasta la próxima!