Rookie Awards 2024 - Open for Entries!
Videojuego procedural Matemáticas - Plane Rush
Share

Videojuego procedural Matemáticas - Plane Rush

by Crugi on 13 Jan 2022

Videojuego realizado para la asignatura de matemáticas de 2º de Diseño y desarrollo de videojuegos

0 507 0
Round of applause for our sponsors

Antes de explicar como funciona el juego, observaremos un breve gameplay

Ahora tendremos otro vídeo explicativo, no obstante si prefieres leer la explicación del juego puedes seguir scrolleando hacia abajo :D

Plane rush consiste en un procedural runner en el cual controlas una avionave, el juego consistirá en aguantar hasta que nos quedemos sin vidas.

Ahora bien, vamos a adentrarnos más en los pasos para crearlo:

Primeramente tenemos una pantalla de título, esta pantalla tiene 2 botones, los cuales cada uno tienen una función. Al hacer click en ellos activan la función que tienen la cual consiste en cargar una escena diferente (todos los botones van a tener la misma funcionalidad, es decir van a tener una función dentro, así que posteriormente omitiré volverlo a comentar).

Una vez entremos se nos activará un canvas mediante un script, este canvas dispondrá de otros 3 botones los cuales servirán para guardar una variable que emplearemos posteriormente.

Una vez elegida la dificultad se nos desactivará el canvas y empezará el juego

Una vez dentro de la partida como tal podemos observar varias cosas, primeramente tenemos un contador de tiempo, este contador nos guardará una variable startTime cada vez que empecemos la partida para cuando queramos resetear vuelva a 0, además guardará otra variable en playerprefs para mostrar el tiempo que hemos tardado en la siguiente pantalla. Para calcular utilizaremos la variable del tiempo en el que estamos, para calcular los minutos lo dividimos entre 60 y dividiremos esto entre 60 para los segundos.

Podemos ver que se están generando objetos, ¿pero cómo se generan? pues estamos utilizando un perlinnoise para instanciarlos, tenemos un script en el que cogemos este perlin y le decimos donde queremos que nos instancie objetos, en mi caso me instancia en x=0 y cada 10 de distancia. También dependerá de como sea el perlin para que nos genere un edificio, torreta o powerup, si es menor de 0,4 nos genera edificios, si es mayor podrá generar torretas o power ups, dependiendo de un Random.Range de 0 a 100 generará una cosa u otra, si es menor a 5 una torreta y si es mayor de 95 un powerup.

Esta generación variará según la dificultad que hayamos elegido. Si hemos elegido normal tendremos la generación definida arriba. Si hemos elegido fácil dispondremos de más powerups y menos torretas, por último si hemos elegido difícil tendremos menos powerups y más torretas.

También nos podemos fijar en las vidas, esto es una variable que va aumentando o disminuyendo según las colisiones que tengamos, si colisionamos contra un edificio o un misil, nos restara 1 punto de vida y si cogemos un bote de gasolina nos sumará 0,5 de vida. En caso de llegar a 0 nos activará un canvas que será el de la búsqueda lineal, binaria o ternaria.

El canvas que se nos activa dependerá de la dificultad que hayamos elegido (fácil=lineal, normal=binaria, difícil=terciaria). Primero tendremos el turno nosotros, si acertamos se acaba el minijuego y volveremos a tener 5 vidas, pudiendo volver a jugar otra vez. Si fallamos, activaremos la función de búsqueda, es decir, será el turno de la ia, por lo que realizará la búsqueda saltándose el botón que hayamos clickeado nosotros.

Si ganamos el minijuego de búsqueda y volvemos a morir no se nos volverá a activar el canvas, sino que moriremos directamente y iremos a la pantalla de GameOver.

Esta pantalla tendrá el tiempo que hayamos hecho y habíamos guardado en Player.Prefs, además de tener 2 botones para volver a jugar cambiando de escena a la anterior o salir del juego.


Comments (0)

This project doesn't have any comments yet.