Я будую Острів. Я використовую класичне рішення висотної карти: за допомогою функції побудови пагорба, уникаючи кутів карти, я роблю висоту. Тоді, перліновий шум дає мені кілька кліматичних змінних для обробки біомів. Зараз я зіткнувся з двома проблемами, які певним чином пов'язані між собою:
У карликовій фортеці одним із акуратних аспектів світового покоління є те, як гра, схоже, «знає» області та дає їм назви, хоча вони не мають прямокутної форми. Я хотів би мати можливість «розпізнати» свої ліси, свої річки, свої пагорби ... будь-яка ідея, який алгоритм я міг би використати для сканування карти та інтерпретації її ділянок? І як би ви це зберігали? Я використовую базовий графік С ++, зроблений з вектора "об'єкта плитки".
Цей Острів слід розділити на політичні райони, а не лише на суто природні регіони. Я міг би використовувати гори та річки для створення "природних кордонів", але моя процедурно створена карта не гарантує, що у мене будуть гарні "анклави", які б формували королівство; Я міг опинитися у гігантських політичних областях, утворених стрічкою, оточених мікро-царствами. Іншою можливістю було б шукати відповідні ділянки для міста чи замку. Тоді "вирощуйте" навколо себе політичну область. Але знову ж таки, я хотів би мати кілька відомих алгоритмів, перш ніж спробувати розробити свій власний.
Це питання можна трактувати як занадто розпливчасте, тому одним із способів перефразовування було б: як розділити (не змінюючи!) Процедурно створений світ на області, придатні для гри? Заздалегідь дякую за вашу допомогу.