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

AMD Ryzen 4000 a principios de 2020.

Hace menos de una semana que la directora ejecutiva de AMD, Lisa Su, ha comunicado que la cuarta generación de los procesadores Ryzen llegará a principios de 2020. Concretamente, los primeros en llegar serán para portátiles y posteriormente para equipos de sobremesa. De este modo, AMD estrenaría la arquitectura Zen3 de 7nm este próximo año. Eso sí, como hemos comentado antes, los primeros en llegar, en el mes de enero, serían para ordenadores portátiles con arquitectura Zen2 de 7nm, que según lo que se sabe se presentarán en el CES de Las Vegas. Los Ryzen 4000 para ordenadores de sobremensa, con la nueva arquitectura Zen3 de 7nm, llegarán posteriormente, según se especula, para mediados de año. Cabe destacar también que se espera que la nueva arquitectura Zen3 sea compatible con los sockets actuales de AMD por lo que debería ser soportada por la mayoría de las placas base actuales para Ryzen (socket AM4). Como es lógico, con la arquitectura Zen3 se esperan aumentos e

PC Gaming por piezas por 500 euros. [2019]

Este ordenador por piezas de preseupuesto medio-bajo será capaz de correr con buena calidad gráfica y tasas de frames más que aceptables casi cualquier videojuego actual. Saldrá por menos de 500 euros (al menos en España), y podrá ser incluso más barato aprovechando ofertas de Black Friday.  Enlace a la configuración en pccomponentes: https://www.pccomponentes.com/configurador/398cA0522 Importante tener en cuenta que en la lista no incluyo el sistema operativo. Asumo que cada uno puede elegir el que prefiera. Eso sí, para quien esté interesado en adquirir Windows 10, se puede encontrar a precio muy asequible en Instant Gaming. Estos son los componentes (añado enlaces a la página española pccomponentes para más detalles y compra): Procesador:  Intel Core i3-9100F 3.6GHz. Cuatro núcleos y frecuencia de 3.6GHz llegando a 4.20GHz en overclock. https://www.pccomponentes.com/intel-core-i3-9100f-36ghz Placa base:  MSI B360M PRO-VDH. Cuenta con todas las funcionalidade

Funciones hash: el invento que protege tus contraseñas de los hackers y te permite minar criptomonedas.

La criptografía es casi tan antigua como la necesidad de ocultar la información escrita. Son muy diversas las técnicas que se han empleado desde siglos atrás para transformar un texto en claro en uno cifrado, ilegible para quien no lo pueda descifrar. Uno de los ejemplos clásicos y más sencillos es el cifrado César, utilizado por Julio César para comunicarse con sus tropas durante la guerra contra los galos. Este mecanismo de cifrado se basa en sustituir cada letra del mensaje por aquella que se encuentra desplazada n posiciones en el alfabeto. Por ejemplo, si n = 2 , la sustitución alfabética sería la siguiente: Alfabeto en claro:  ABCDEFG HIJKLMNÑOPQRSTUVWXYZ   Alfabeto cifrado:  CDEFGHIJKLMNÑOPQRSTUVWXYZAB Y si cifrasemos la palabra HOLA  con n = 2  obtendríamos el siguiente resultado:  H -> J, O -> Q, L ->N, A -> C:  JQNC Lo que llamaríamos la clave de cifrado es, en este caso  n = 2 . Como es lógico, cualquiera que conozca la clave, podrá revertir el cifrado desplazan