Estoy diseñando una ciudad en este momento y quiero que la construcción residencial siga un diseño iterativo. Las casas están hechas de habitaciones hexagonales conectadas.
Las familias crecen mucho en mi ciudad debido a algunas cosas sociales no relacionadas y la construcción a menudo la realizan los residentes. Por lo tanto, las reglas deben ser lo suficientemente simples para que la población en general las entienda y se ejecuten usando solo una regla y un compás, en un período de tiempo razonable (sin grandes algoritmos que necesiten una computadora para ejecutarse). Este conjunto de reglas debe dejar un mínimo de 2 metros de espacio entre las casas (para caminar y andar en bicicleta). No puede haber colisiones, superposiciones o atrapamientos (una familia de crecimiento lento no debería quedar atrapada por sus vecinos de crecimiento más rápido).
Las únicas soluciones que he encontrado dan como resultado una ciudad increíblemente regular y aburrida y no puede manejar irregularidades de ninguna forma. Quiero que mi ciudad tenga una cualidad orgánica/fractal.
La razón por la que tu diseño resulta aburrido son las reglas que has puesto. Una ciudad es orgánica, la mayoría de las antiguas ciudades "interesantes" tenían las reglas más extrañas. Las casas de Amsterdam estaban gravadas por el ancho. En París los balcones tenían que alinearse. En las antiguas ciudades amuralladas había un incentivo para permanecer dentro de la seguridad de las murallas de la ciudad, por lo que cambias el espacio por seguridad y construyes en pequeño.
Si introduce algunas reglas estéticas arbitrarias en lugar de lógicas, obtendrá un sistema más orgánico. Perder la brecha impuesta entre cada propiedad a favor de una red vial hexagonal, por ejemplo. Esto significa que a medida que las personas sobreexpanden su parcela debido al tamaño de la familia, tienen que mudarse a una nueva parcela con más espacio para expandirse.
La tierra es más cara en los centros de las ciudades, la gente construirá en una huella más pequeña en lugar de afuera. Es más barato construir fuera de la ciudad, pero a medida que la ciudad se expande, obtendrá grandes casas antiguas fuera de la ciudad ahora en el centro rodeadas de pequeñas viviendas de alta densidad.
Esto permitirá la construcción de pequeñas propiedades en el centro de la ciudad y otras más grandes en los suburbios, pero con elementos extraños ocasionales, como antiguas mansiones de campo cerca del centro de la ciudad (ver Lauderdale House o el Palacio de Buckingham como ejemplos de este efecto).
Se construirán nuevas propiedades a lo largo de las carreteras existentes antes de que se construyan nuevas carreteras, por lo que las rutas principales tendrán bloques más largos de casas más grandes ubicadas en más terreno, luego las carreteras secundarias se construirán con bloques más pequeños de casas más pequeñas a medida que aumente el valor de la tierra.
Cosas que hacer:
Introducir áreas donde la gente quiere estar: Esto provoca una mayor densidad de viviendas más caras.
Introducir áreas donde la gente no quiere estar: esto proporciona viviendas de mayor densidad y bajo valor (barrios marginales), tal vez incluso hacer que sean cuadradas, de esa manera se destacarán como viviendas baratas. Luego la regeneración tendrá viviendas hexagonales en parcelas cuadradas.
Los suburbios: un poco aburrido, el valor de la propiedad está relacionado con el tamaño de la parcela.
Agregue ruido: ríos, parques, lagos y embalses, así como topografía.
En resumen: las reglas estrictas hacen que las ciudades sean aburridas .
Añadir ruido. Si tu terreno es uniforme, la ciudad también lo será. Ejecute primero un generador de ruido Perlin o Simplex en el mapa, creando ubicaciones que no se pueden usar porque son demasiado altas o demasiado bajas. También podría imponer ordenanzas de 'espacio abierto' que requieren 1 hexágono abierto por cada 3 construidos. Podría tener la superstición de que un porcentaje sigue y nunca se conectará a un número de borde hexadecimal específico. Solo necesita permitir algo de aleatoriedad.
En cuanto al diseño orgánico, busque L-systems . Establezca sus caminos primero, corra distancias aleatorias, luego coloque una bifurcación (Y) o dispare desde una calle lateral más pequeña o un lote de construcción. En cada iteración, continúa haciendo crecer las carreteras en los puntos finales o construyendo casas en los puntos del lote.
Una búsqueda en la generación de Procedural Road le dará muchas investigaciones que la gente ha hecho, solo tiene que aplicarla a su sistema.
Hay muchos programas de software que se especializan en la generación procedimental de ciudades; como este: https://youtu.be/yI5YOFR1Wus Encuestaría a un montón de ellos, ya sea para encontrar uno para usar, o tratar de averiguar qué están haciendo que te gusta. De lo contrario, como dijo la persona de arriba, prueba con el tablero de matemáticas.
Solo aplica las reglas que tienes, pero aplícalas orgánicamente.
Divide el mapa en hexágonos, cada uno del tamaño de una habitación. Pon los "caminos" alrededor de los hexágonos también.
Dispersa "puntos de semillas" alrededor de los hexágonos para que sean tu punto de partida.
Usa un generador de números aleatorios de 1->X+1 donde X es el número de hexágonos ocupados para generar un número.
Si el número coincide con una familia, se expande. Eligen un hexágono adyacente vacío y se expanden en él (coloréalo con su color) y rellenan el camino entre esos dos hexágonos. Tenga en cuenta que si se selecciona cualquier hexágono que ocupan, pueden hacer crecer su edificio desde cualquier lugar, no solo desde ese hexágono. Si no hay hexágonos adyacentes vacíos, crecen hacia arriba: uno de los hexágonos se convierte en 2 pisos (o 3 o lo que sea).
Si sale x+1, entonces una familia se ha dividido, elige un nuevo punto y rellénalo con un nuevo color.
En general, haga que los edificios se expandan alejándose de sus vecinos más cercanos en lugar de hacia ellos y evite rodearlos.
Detente cuando creas que tu asentamiento está lo suficientemente poblado.
Esto te dará una sensación de ciudad orgánica con edificios de diferentes tamaños, áreas más concurridas que crecen hacia arriba, etc.
El algoritmo descrito tenderá a favorecer a las familias más grandes que crecen cada vez más, por lo que obtendrá una mayor variación en los tamaños y tenderá a favorecer los edificios de una sola planta en expansión.
Si prefiere tamaños más uniformes, puede seleccionar una familia aleatoria para crecer dándoles a todos la misma posibilidad.
Si prefiere más altura, puede seguir con el primer algoritmo pero requiere que el crecimiento ocurra desde la celda seleccionada. El centro de las casas tenderá entonces a elevarse incluso cuando los bordes aún tengan espacios para expandirse.
Para ser conciso, haz una configuración de colmena de abejas .
Lo que quiero decir es que cada familia tiene un tamaño de lote asignado. Este lote es un gran hexágono con espacio para una cantidad determinada de habitaciones.
Ahora rodee cada lote con un "camino" de 2 metros para el comercio.
De esta manera, cada familia puede expandirse según sus necesidades, siempre habrá espacio para viajar entre las casas y todas las casas están hechas de habitaciones hexagonales entrelazadas.
Marion
Bob Hopeldorf
InstantáneaMuffin
Babika Babaka
Jaime
Jaime
el nato
el nato
Bob Hopeldorf
el nato