Rookie Awards 2024 - Open for Entries!
Portfolio Matemáticas
Share

Portfolio Matemáticas

by DiegoCosta on 12 Jan 2022

Pequeña explicación de un trabajo de Ruido Perlin ( generación procedural).

0 632 0
Round of applause for our sponsors

En el video que se observa encima de este texto, podemos ver el funcionamiento de un Infinity Runner 3D realizado proceduralmente, que quiere decir esto, que todo el terrero que se va a mostrar delante del personaje es ocasionado de forma diferente y nunca seguirá un patrón de generación exacta, esta técnica se conoce como el Ruido Perlin, una explicación clara de esta técnica, es que consiste en la generación aleatoria de cualquier cosa, siguiendo un patrón exacto y sin ninguna aglomeración. 

Gracias a esta técnica se pueden desarrollar infinitas cosas sin perder originalidad en su patrón, como por ejemplo Minecraft.

Esta práctica consistía en desarrollar un Infinity Runner de manera procedural en un escenario 3D, con diferentes objetos:

-1: Torretas que te disparen en todo momento según la posición en la que estés.

-2: Muros durante todo el recorrido el cual tendrás de esquivar.

-3: PowerUpps con aumento de tu salud en cuanto los recoges.

Estos eran los 3 requisitos que se requerían en la primera parte del proyecto, y posteriormente se implementaría un pequeño mini juego contra la máquina.


En mi caso, fue la primera vez que trabajé con un diseño de mapa de forma procedural. El lenguaje que se utilizó fue el C# en el motor de videojuegos Unity, al estar complementado Visual Studio con Unity, te ayuda a hacer las cosas más rápido y fácil. Gracias a esto, el propio programa, al ver hay algún error en el código, te lo marca directamente en que línea esta y cual podría ser una solución para eso.


El Ruido Perlin fue utilizado para la generación de las paredes, powerupps y torretas (como se observa en el video). Cada apartado tiene su propia generación, esto quiere decir que se genera en X tiempo, todo va apareciendo en un espacio determinado con una velocidad determinada, como las paredes, ellas son unas de las responsables en causarte la muerte, ya que te empujan constantemente y son un estorbo. Son las que más aparecen en todo el Runner, debido a que son la parte más fundamental del juego. Seguidamente se encuentran las torretas, que tienen una generación inferior a la de las paredes, ya que un exceso de torretas provocaría que el juego fuera in jugable, ellas son las encargadas de analizar tu posición y lanzar un proyectil en tu dirección, si no lo esquivas, se te restará un porcentaje de vida a tu personaje.

Detrás de nuestro personaje, se encuentra una pequeña pared sin movimiento que te mata al instante una vez colisionas con ella, esta pared tiene el propósito de eliminarte cuando eres empujado por las paredes que se generan procedural mente.

Según la dificultad que elijas, la generación será más reducida si es dificultad fácil, y más alta si es la  dificultad máxima, esto solo afecta a las paredes y torretas, los powerupps son los únicos que se mantienen, y su generación varía minúsculamente.

Finalmente, una vez que tu vida llegue a 0, encontrarás un pequeño mini juego, el cual tendrás de luchar contra la máquina para poner ganar, es un juego de cartas totalmente aleatorio, es decir, hay que tener suerte para poder ganarlo.



Comments (0)

This project doesn't have any comments yet.