voy a hacer un hilo sobre el algoritmo que utilizamos para hacer el mapa procedural que usamos en Keepers of Vyrellia -> 🧵
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":
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.