Можливо, я надмірно спрощую, але навіщо ігнорувати той факт, що міста будуються на вигідній місцевості, або з цього приводу будь-якого розміру цивілізованої території з будь-якої причини? Можливо, місцевість пропонує тактичну перевагу для військового вкладу чи, можливо, на перетині великого лісу та річки, що має велике село нижче за течією, є лісозаготівельний млин. Навіть "святі" місця базуються на місцевості, навіть якщо простий факт, що певна ділянка землі в якийсь момент вважався святим і т. Д. Незалежно від наслідків, остаточне місце спокою переважної більшості цивілізації існує в фізичне місце з місць, що ґрунтуються на місцевості. Навіть у випадку, коли місто проростає просто тому, що між двома більшими містами відбувається торгівля, щоб гарантувати середнього чоловіка, якщо ви хочете, це місто було б вибране виходячи із шляху найменшого опору. Це було б розміщене десь, що пропонувало б хороші плоскі сільськогосподарські угіддя для місцевого продовольчого господарства разом із землею, яка добре піддається будівництву доріг. Я впевнений, що ти думав про це ...
Отже, якщо ви збираєтесь спочатку будувати міста, то чому б ні? Чому б не побудувати місто, село, селище чи що завгодно, поряд із гідною частиною навколишньої місцевості, побудованою вручну, що підтримує такий тип закладу?
Візьмемо як приклад процедурні біоми. Їх зазвичай застосовують для псевдовипадкових карт температури, вологості та висоти. Якщо ви вже проектували місто (або лісозаготівлю тощо), то, швидше за все, ви маєте тверду концепцію того, як має виглядати земля, яка, якщо я не розумію, - це саме ваша думка. Візьміть фантазійну споруду на зразок Ортанка, наповнену планами поверхів та навколишньою місцевістю, які ви грамотно повторили. Ну, ми знаємо, що залежно від часової шкали, Ортанка був оточений величезним лісом, населеним Ентами (деревними істотами) тощо. Якщо ви намагаєтесь це повторити, то застосовувати випадкову місцевість для мене немає сенсу. Як сказано, щойно ви створили цю установку для самої вежі та навколишнього лісу, що між Ортанком і будь-яким вашим наступним містом?
Простим підходом може бути написання вашої процедурної генерації рельєфу місцевості, розміщення налаштувань всередині випадково сформованої системи місцевості та покращення висот навколо вашої фіксованої установки та віоли. Ви можете розмістити Orthanc у багатьох різних світі, що генерується випадковим чином (якщо це має бути вашим після).
Я думаю, однак, вам найкраще буде поєднати обстановку, місцевість і визначений біом і переконатися, що Ортанк поміститься всередину процедурно створеного великого лісового біома. Залежно від того, як ви його кодуєте, ви можете встановити мінімальну / максимальну біому, рельєф, вологість тощо для кожної заздалегідь заданої установки чи будівлі чи міста, які ви скульптували. Це було б невеликим завданням у повноцінному фотореалістичному 3d-світі? Очевидно, що ні.
Я думаю, якби я спробував це зробити, я б спершу дослідив процедурні алгоритми узбережжя. Беручи підхід, що майже всі цивілізації протягом історії дотримувались будь-якої берегової лінії, будь то океан, море чи велике озеро. Це шлях найменшого опору для зростання, оскільки там, ймовірно, рясна риболовля, дерева поруч за дровами, і, звичайно, швидше подорожувати навіть рудиментарними водними суднами (принаймні в одну сторону).
Я б подумав, що вам доведеться будувати повністю назад. Подумайте, псевдовипадкові точки на карті, що представляють точки цивілізації, можливо, з алгоритмом шуму, що визначає популяцію цих цивілізацій, перш ніж щось інше буде визначено. Гаразд, так 1 бал припадає на 1000 людей, ще 2 000 000 (або будь-яке співвідношення залежно від вашого світового населення). Чому? Чому ці кількості населення там? Населення 1000 людей може бути маленькою громадою пиломатеріалів. Можливо, це гірнича спільнота, якщо вона знаходиться на північній стороні карти, якщо ви створюєте 3d сферичний світ. Тут стає трохи нечітко, тому що я не знаю, чи ти будеш нескінченно в усіх напрямках, роблячи NESW безглуздим у визначенні біомів, або якщо ти хочеш справжню "Землю"
Однак, якщо ви збиваєте свої цивілізації, грунтуючись на псевдовипадкових популяціях шуму, я думаю, ми можемо сміливо припустити кілька правил (але, можливо, не абсолютних) на кшталт ... Чим більша цивілізація, швидше за все, тим більша кількість корисних ресурсів руку та місцевість для їх підтримки. Дорогі корисні копалини, ліси тощо повинні бути присутніми або має бути створена величезна система торгівлі, яка б підтримувала таке велике підприємство. Виходячи з цього, ви можете почати генерувати автомобільні дороги від міста до міста та дороги до оточуючих населених пунктів, як глибока гірнича операція тощо. Виберіть точки цивілізації, які б сформулювали хороші берегові лінії і повністю скинули точки населення з карти, де вам потрібно заповнити океани (або, можливо, у вас є Атлантида у вашому світі, або офшорні нафтові свердловини).
Заповнення місцевості між ними знову залежить від вашого підходу до біома. Якщо у вас є нескінченне в будь-якому світі, тоді відкладіть Ортанку в той куточок, де він відповідає населенню, примусьте його до лісового біома і побудуйте навколо нього назовні, поки ви не дістанетесь на півдорозі до наступного заданого пункту призначення, який ваш алгоритм виконує той самий процедурний покоління навколо. Lerp / Змішайте два місцевості разом, коли вони зустрічаються, і так, це очевидно надмірне спрощення.
Без реальних робочих знань про те, що ти насправді намагаєшся механічно здійснити, я можу викинути лише ідеї та, можливо, погані. Я думаю, що ваш підхід має заслугу, навіть якщо він насправді абсолютно фантастичний, адже ви орієнтуєтесь на те, що завжди є найважливішим фактором у будь-якій грі: чи грає весело? Або я створюю випадковий світ, який не нудний і, отже, не веселий?
Що також буде цікавим, і це могло б бути частиною покоління цивілізацій у будь-якій грі, спочатку місцевість чи ні, що станеться, якщо розбити 2 великих міста поруч? Що це означає? Вони воюють? Чи масові торгові операції між двома процвітаючими країнами? Які вороги ховаються в лісі того лісопильного заводу?
Я думаю, що одне є певним, якщо ви намагаєтеся будувати рельєф на базі "міст", і саме ця місцевість буде безпосередньо впливати на населення вказаного міста, як в ландшафті, так і в природних ресурсах (а може бути, і в красі).
Я не впевнений, чи насправді я щось відповів, чи це було доречно, але це дуже цікава концепція, і я хотів би почути, куди ви з цим попрямуєте.