Algoritmo de generación procedural con pesos

Algoritmo de generación procedural con pesos

voy a hacer un hilo sobre el algoritmo que utilizamos para hacer el mapa procedural que usamos en Keepers of Vyrellia -> 🧵

Imagen

La generación procedural usando "Pesos" es una técnica común en el desarrollo de contenido procedural, como niveles, enemigos, objetos, eventos, etc. el Peso se utiliza para modificar la probabilidad de que ciertos elementos sean seleccionados durante el proceso de generación

por ejemplo si tenés una lista de elementos posibles para generar, en este caso digamos "enemigos":

Imagen

Cada elemento tiene un "Peso" asociado, que representa qué tan probable es que aparezca comparado con los demás. No son porcentajes fijos, pero cuanto más alto el peso, más probable su aparición.

Ejemplo simple:

Sumás todos los pesos:

50 + 30 + 5 + 15 = 100

Generás un número aleatorio entre 0 y 100

Recorrés la lista y restás los pesos acumulativamente hasta que ese número caiga dentro del rango de un elemento.

Ejemplo paso a paso:

ponele que el número aleatorio fue 72.

Slime (peso 50): 0 - 49 → no cae

Goblin (peso 30): 50 - 79 → ¡cayo!

→ Se genera un Goblin.

Ventajas:

Controlás la aleatoriedad (no es puro caos).

Podés afinar la dificultad, rareza o variedad.

Permite más variedad sin perder coherencia.

Etiquetas

videojuegos
procedural generation
algoritmo