Programadores => Inteligencia Artificial => Mensaje iniciado por: Hechelion en 27 de Octubre de 2010, 06:16:08 am

Título: Algoritmos para la cración de terrenos y dungeon.
Publicado por: Hechelion en 27 de Octubre de 2010, 06:16:08 am
Buenas, tal como dice el titulo, si alguien conoce algún manual o tutorial  para la creación procedural de terrenos y dungeon. He estado buscando y leyendo algunas cosas en google, pero confío más en vuestro criterio a la hora de las recomendaciones que a leer 10000 ejemplos en la red y no saber cual será mejor. (Libros pagos no me sirven, ya que se me complica mucho encontrarlos por estos lares)

Por lo que he leído, en la creación de dungeon no ando tan perdido, primero creo al azar las habitaciones y luego creo corredores al azar hasta tener todas las habitaciones conectadas, pero al parecer es mejor crear un laberinto y luego colocar las habitaciones.

Sobre el terreno no he trabajado mucho, la idea es partir de un mapa con un terreno base y luego ir creando zonas de diferentes terrenos, como montañas, bosques, etc. Pero me complica particularmente agregarle ríos y que los bosques y zonas de cultivos aparezcan siguiendo un orden natural y no ver manchones de zonas al azar.

Ambas cosas (la creación de terrenos y los dungeon) son para mi proyecto feudo que es una especie de RPG con tiles(cuadrados), y me gustaría que los terrenos se generaran solos en cada juego nuevo en vez de tener una partida precreada de terrenos y dungeon.
Título: Re: Algoritmos para la cración de terrenos y dungeon.
Publicado por: t-spy en 27 de Octubre de 2010, 08:50:51 am
Esto me trae recuerdos.

Para los terrenos yo hace tiempo diseñe un pequeño algoritmo que funcionaba bastante bien. Consiste en crear cada tile en función de los que le rodean. Para ser más claro: un tile tiene tantas posibilidades de ser montaña como bosque o desierto (o los tipos de terreno que tengas). Tras colocar el primer tile (al azar o pones un valor predefinido) se comienzan a crear los que le rodean MODIFICANDO LA PROBABILIDAD en función de lo que ya hay. Si el primer tile ha resultado ser un bosque el siguiente tendrá una probabilidad mayor de ser bosque en detrimento del desierto (por ejemplo).

Si no recuerdo mal se seguía un orden de creación peculiar: desde el centro hacia el exterior. Era para maximizar el número de tiles ya existentes a la hora de crear los nuevos.

A ver si encuentro el algoritmo. Creo que era para un mapa de tiles hexagonales, pero supongo que no sería difícil de adaptar (es que lo hice hace bastantes años  ;) ).
Título: Re: Algoritmos para la cración de terrenos y dungeon.
Publicado por: Hechelion en 27 de Octubre de 2010, 09:44:13 am
Gracias por la respuesta t-spy, de verdad que es una propuesta simple y que suena muy interesante (me ha gustado bastante tu idea), igual no serviría para colocar los ríos, pero creo que sobre el terreno ya generado podría crear una o varias línea y luego ir deformándola al azar para generar el lecho del río.
Título: Re: Algoritmos para la cración de terrenos y dungeon.
Publicado por: Vicente en 27 de Octubre de 2010, 12:47:57 pm
En Gamedev hicieron hace un par de años un taller veraniego de C# y uno de los ejercicios era implementar un generador de laberintos, con algoritmo incluido :)

http://www.gamedev.net/community/forums/topic.asp?topic_id=457361

Título: Re: Algoritmos para la cración de terrenos y dungeon.
Publicado por: Hechelion en 27 de Octubre de 2010, 03:15:31 pm
Lo estoy revisando, gracias por el link.