Pieces: Desarrollando un Endless Runner

Desde Divertap, estamos haciendo un Endless Runner, un juego infinito y sencillo que se basa en partidas cortas y la rejugabilidad. Bautizamos el juego como Pieces. Llevamos ahora unos dos meses y medio de desarrollo, y empieza a ser hora de promover el juego y explicar cómo nos va.

Parte 1: Desarrollo de un videojuego.

Calles

Hola de nuevo, soy Adrià, el que se ha encargado del diseño y de parte de la programación.

Hacer un juego, sea un FPS como Call of Duty o uno más sencillo como Candy Crush, lleva su tiempo y su esfuerzo. Empezando por desarrollar la idea hasta el testeo final, hay meses (incluso años) de desarrollo y planificación.

Empezaré explicando un poco el proceso. Lo primero de todo, lo primordial, es un buen game design. Ahorra futuros dolores de cabeza como: ¿Esto no iba aquí? ¿El personaje tenía un arma?. Para evitar todo esto, se pone todo por escrito en un GDD, un documento de diseño del juego. Ahí se especifica todo. Si el personaje salta o no, si tiene puntos de vida, cuál es la historia en el juego, cuál es la meta, etc. Una vez acabado y discutido con el equipo, empieza la producción del prototipo.

Se le da a los artistas unas referencias y el GDD que hemos escrito previamente, para que empiecen a dibujar, a hacer los concepts. Cada vez que un artista hace un concept, lo enseña y se discute en el equipo qué está bien y qué no. Gusta más con antena o sin antena, los colores son los acertados o hay que cambiar de paleta, más alto o más bajo. Al acabar, el artista vuelve a empezar el proceso. Se repite esto una y otra vez hasta que se tiene el dibujo final.

Mientras tanto, los programadores deben ir haciendo el prototipo de nuestro Endless Runner. Hay que ir montando los menús, programando las mecánicas del juego, meter los plugins necesarios, etc.

Cuando hay algo jugable y el sector artístico tiene ya algo definitivo, empieza la fusión. Hay que ir metiendo el arte en nuestro juego. Si no, serán todo cuadrados y colores feos.

Poco a poco, se va mejorando y completando hasta que al final se tiene el juego en fase beta. Solo toca probarlo, ir corrigiendo errores y puliendo detalles. Y al acabar tenemos nuestro juego acabado.

 

Parte 2: Desarrollo de Pieces, un endless runner.

Ahora os preguntaréis: ¿Cómo os va a vosotros con Pieces? Has estado explicando el proceso de hacer un juego, pero no como haces el Endless Runner. Ahora os explicaré más detalladamente. Esto era una forma de introducción, por si no se está familiarizado con el desarrollo de videojuegos. Ahora entramos en materia de Divertap.

Pieces es un Endless Runner algo peculiar. Hay que hacerlo destacar de alguna forma, porque el mercado móvil está muy saturado, hay muchísimos productos. Hay diversas maneras de destacar. Puede tener un estilo gráfico y visual muy peculiar o muy espectacular. Otra manera, y por la que hemos apostado, es ponerle algo que no tengan los demás Endless Runners. Pensé en ponerle un modo historia, que te desbloqueara algo exclusivo, para que el jugador tuviera dos incentivos para completarlo. No sólo engancha el hecho de tener un hilo argumental que seguir, si no que además desbloqueas contenido exclusivo. Además, Pieces cuenta con una mecánica diferente. El personaje se puede dividir en tres partes diferentes.

Endless runner

Mientras nuestra artista, Alejandra, estaba con los bocetos de nuestro personaje, me dediqué a desarrollar el prototipo. Decidí empezar por la programación del jugador. ¿Cuál es la mecánica básica en un Endless Runner? Correr. Pues vamos a ello.

myRigidbody.velocity = new Vector2 (moveSpeed, myRigidbody.velocity.y);

Con esta simple línea de código, el objeto se moverá hacia la derecha de forma constante, con una velocidad dada por la variable moveSpeed. La componente vertical del vector es la que tiene el objeto en ese momento. Se hace así porque si le ponemos un cero, no caerá ni saltará. Lo siguiente en la lista es el salto.

If (Input.GetMouseButtonDown(0)){

If (isGrounded){

myRigidbody.velocity = new Vector2 (myRigidbody.velocity.x, jumpForce);

}

}

Cuando detecta el click del ratón, comprueba si está tocando el suelo. Si toca, hacemos lo mismo de antes pero al revés. El componente horizontal es el que tiene en ese momento, y el vertical es la variable jumpForce.

Estad atentos a más entradas del blog si os interesa el desarrollo de videojuegos. Nos vemos.

Comments

comments