Ir al contenido principal

Desarrollando Un Juego Para Android - Road Dash

Me he dedicado estos días a publicar el segundo juego completo que desarrollo para Android. Comenzaba a desarrollar Road Dash el pasado mes de marzo y durante los siguientes meses, me he dedicado a trabajar en el proyecto de forma intermitente según me permitían los estudios y la motivación. Finalmente, he terminado de pulir y depurar los últimos detalles durante este mes de septiembre y vengo a compartir en este texto aquellos aspectos que creo más interesantes del desarrollo del juego.

Los enlaces de descarga son estos:

Play Store: https://play.google.com/store/apps/details?id=com.JorgeFernandezApps.Roaddash

Amazon App Store: https://www.amazon.es/Jorge-Fern%C3%A1ndez-Road-Dash/dp/B08JKZS7KV/ref=sr_1_1?__mk_es_ES=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=road+dash&qid=1601245278&sr=8-1

Road Dash consiste en controlar un coche a lo largo de una carretera recta infinita con el fin de esquivar los obstáculos que en ella se encuentran. Lleva la tarea adicional de recoger monedas con las que comprar nuevos vehículos en la tienda del juego. 

Generación de la carretera infinita

El código del juego no es demasiado complejo pero uno de los algoritmos a tener en cuenta es el de generación de la carretera de forma aleatoria y en tiempo real. El mecanismo es muy simple. Contamos con una serie de tramos prediseñados que vamos colocando de forma aleatoria uno detrás de otro. Para ello creamos un array (secuencia o vector de objetos de longitud definida) de "GameObjects" con n posiciones (siendo n el número de tramos distintos que queremos utilizar) para almacenar los distintos tramos de carretera diseñados previamente. Cada vez que queramos añadir un tramo nuevo, generamos un entero aleatorio entre 0 y n - 1 (el rango de índices del array). De este modo, dicho índice aleatorio en el array nos devolverá una de las n opciones posibles de tramos para añadir a a la carretera. Por último se instancia el tramo de carretera al final del tramo anterior. A medida que el jugador va avanzando, se van destruyendo los tramos de carretera que se han pasado para liberar memoria y procesamiento.

Control del vehículo

El control del coche es otro punto básico a tener en cuenta. El vehículo se controla únicamente de forma lateral, pues hacia delante, avanza de forma contínua y automática y el jugador sólo debe desplazarse de lado a lado para esquivar los obstáculos. A medida que se alcanzan hitos de puntuación, aumenta la velocidad sumando dificultad al juego. 

El control se lleva a cabo por medio del desplazamiento de lado a lado del dedo en la pantalla. Para ello, se almacenan las coordenadas en la pantalla del momento en que el dedo se posa sobre ella. Una vez el jugador mueve el dedo, se debe calcular hacia qué lado lo ha hecho para saber si el coche debe ir a la izquierda o la derecha. Esto lo haremos tomando las coordenadas de la posición nueva del dedo en cada momento y calculando el valor x del vector que forman los dos puntos (el primer lugar que toca el dedo y hemos almacenado antes, y la nueva posición). Dicho de otra forma, para saber hacia dónde ha movido el dedo el jugador, restaremos el valor de la coordenada x de la primera pulsación a la coordenada x de la segunda posición del dedo. Si el resultado es positivo, sabremos que ha sido hacia la derecha, si por el contrario es negativo, habrá sido hacia la izquierda. Además, dicha resta nos dirá cómo de lejos ha movido el dedo del primer punto donde ha pulsado y lo utilizaremos para ajustar la velocidad lateral a la intensidad del desplazamiento del dedo. A más desplazamiento del dedo, más rápido se movera el coche lateralmente.

Estos son los dos mecanimos que principalmente dan vida al juego. Espero que haya sido entretenido ver qué hay detrás de Road Dash y te animo a probarlo.

Si te ha gustado esta publicación, te sugiero que te suscribas al blog haciendo clic en el botón de la cabecera de la página para no perderte las próximas publicaciones. También estoy en las redes sociales.

Twitter: @NacionPC
Instagram: @nacionpc

Comentarios

Entradas populares de este blog

Cómo crear proyectos y clases en Java con Eclipse.

Continuamos con Java y después de haber visto cómo instalar todo lo necesario para poder programar, vamos a ver, en esta publicación muy breve, cómo se crean los proyectos y las clases en Eclipse, paso fundamental para crear programas Java. Si todavía no has visto cómo instalar todo el software necesario, te dejo un enlace a las publicaciones donde lo explico. - Instalar Java. - Instalar el JDK. - Instalar Eclipse. Lo primero es crear el proyecto java. Para ello, estando dentro de Eclipse, hacemos clic en el botón indicado en la siguiente imagen. Se nos desplegará la siguiente ventana donde le damos nombre al proyecto en la primera casilla. No necesitaremos tocar ninguna otra opción. Hacemos clic en "Finish" y ya estará creado el proyecto. Nos aparecerá el proyecto en forma de carpeta en la ventana de la izquierda del programa "Package Explorer". Lo siguiente será crear una clase. Para ello hacemos clic derecho sobre la carpeta del proyect...

Generación procedimental desde 0 con Python

Los mundos procedimentales aparecen en númerosos videojuegos de bastante éxito, pero probablemente el ejemplo más emblemático sea Minecraft. En español, es habitual llamarlos procedurales como consecuencia de un error de traducción, pues viene del inglés "procedural", derivado de "procedure". Esta palabra, traducida al español, significa "procedimiento". ¿Por qué estoy llenando texto con comentarios sobre rigor lingüistico cuando lo único que quiere el lector es saber cómo crear mundos de forma automática? Pues porque la palabra "procedimiento" ya nos va aclarando de qué va este tema de la generación mágica y aleatoria. La generación procedimental se basa en un algoritmo (o procedimiento) que automatiza las reglas que un computador debe seguir a la hora de crear un mundo virtual. Esta técnica no se limita a mundos en videojuegos, se puede automatizar la generación computacional de prácticamente cualquier cosa: modelos 3D, personajes, animaciones,...

Cómo instalar el JDK 8, Java.

El JDK (Java Development Kit) es la herramienta básica para poder desarrollar programas Java. El proceso para instalarlo en nuestro equipo es muy simple y lo explicamos a continación. Primer paso: Accedemos mediante el siguiente enlace a la página oficial de Java: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Segundo paso: Como podemos observar en la captura, nos aparecerán diferentes archivos para cada sistema operativo. Hacemos clic en "Accept License Agreement " y seleccionamos el archivo para nuestro sistema operativo teniendo en cuenta si nuestro sistema es 64 bits (x64) o 32 bits (x86). Tercer paso: Accedemos a la ubicación donde hayamos descargado el archivo (generalmente la carpeta descargas) y lo ejecutamos. Nos aparecerá la habitual ventana del asistente de instalación. Seguimos los pasos haciendo clic en next. Esta ventana nos permitirá seleccionar los elementos que queramos instalar. Lo nor...