2011-08-26 14 views
11

Estoy creando un juego y necesito crear un mapa 2d aleatorio de un castillo o un edificio similar. Debería verse como planos, es decir, disparado desde arriba y solo se usan líneas.¿Cómo generar un mapa 2D aleatorio para un castillo o edificio?

Estoy buscando algún algoritmo que lo haga. No estoy tan interesado en el código, sino en el algoritmo en sí. ¿Por dónde empezar y cómo llenar el área deseada?

Respuesta

10

Hay muchos algoritmos diferentes que se han desarrollado en los últimos 30 a 40 años, y todos producen resultados bastante diferentes.

Salida este wiki:

http://pcg.wikidot.com

En particular estas páginas:

Ese sitio parece tener enlaces a algoritmos en prácticamente cualquier generación de contenido procedural que desee hacer.

+0

Gracias, el enlace "generación de mazmorras" ofrece algunas buenas ideas para comenzar. –

+2

Si desea un comportamiento parecido a un modelo, entonces una 2da simplificación de [los algoritmos en este artículo] (http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings) podría ser un buen lugar para comenzar. Esto podría darle diseños de habitación básicos dentro de una casa, luego podría aplicar cosas como dividir, etc. y aleatorizar las ubicaciones de conexión. Esto probablemente te daría mejores resultados que los algoritmos de generación de mazmorras sobre los que he leído antes, porque representaría mejor las formas en edificios sobre el suelo, en lugar de formas excavadas. –

+0

@ MerlynMorgan-Graham ese enlace parece ser el enlace de retorno muerto aquí http://web.archive.org/web/20110830033753/http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings –

0

Un laberinto describe mejor un mapa 2D aleatorio de una estructura interna. Lo que necesita es un maze generation algorithm. Después de implementar los conceptos básicos, puede agregar su propia implementación de ubicación aleatoria de "sala", etc.

+0

Los laberintos son diferentes de los castillos. Los castillos necesitan habitaciones con muchas puertas que permitan la libre circulación. Por cierto, ya tengo un nivel diferente con el laberinto en este juego y esa página de Wikipedia fue mi punto de partida al hacerlo;) –

+0

hay más de una forma de hacerlo. un laberinto funciona bastante bien para la generación de mazmorras, pero el interior de un castillo es diferente ... Yo despediría a mi arquitecto si hicieran que mi casa se viera como un laberinto con habitaciones abofeteadas. – lunixbochs

+0

Este no es un mal enfoque, pero es posible que desee hacerlo al revés. Prepara las habitaciones primero, luego coloca túneles semialeatorios entre ellas. –

Cuestiones relacionadas