Процедурні місцевості в 3D: що зроблено? Чи існують спільні альго та / або теорії про нього? [зачинено]


10

Окрім програмування, моделювання середовища займає багато часу.

Я не знаю про час роботи, наприклад, у підземеллях WoW, або інших прекрасних, подібних до міста, майбутніх обстановках, джунглях, фантазії тощо, але цей вид роботи зроблені з нуля художниками.

Які методи використовуються у рандомізаторі рівня TorchLight, і чи мають інші назви схожі з цим? Чи є прізвище для таких прийомів?


Я думаю, що карти Torchlight є двовимірними, з 3D графікою. Я не пам’ятаю, щоб у ньому були ділянки з 3D-картою, як WoW's Blackrock Spire, де тунелі йдуть вище або під один одного. Ви, ймовірно, можете використовувати будь-який із 2D генераторів підземелля від Roguelikes ( pcg.wikidot.com/pcg-algorithm:dungeon-generation ).
amitp

Весела довідка, це демонстрація 4 Кб: youtube.com/watch?v=_YWMGuh15nE
Оскар Дювеборн

2D покоління підземелля вже висвітлювалося на сайті gamedev.stackexchange.com/questions/2663/… .

Відповіді:


8

Рогалійці займалися подібною справою ще з часу їх винайдення, і саме вони "насіння" Torchlight (і Diablo) отримали свої ідеї.

Я не знаю конкретно про Torchlight, але загалом те, що ви шукаєте, називається "Процедурне генерування рівня".

Паливо процедурно генерує зону, настільки оброблювану, що не поміститься на DVD, в який входить гра. Особливо мені сподобалось читати на ній серії серіалу Shamus Young .

Ще один цікавий приклад процедурно створеного вмісту - це ще не випущена гра Introversion під назвою Subversion . Подивіться на частину 12 на цій сторінці; це спеціально соковите.

Якщо говорити про міста, створені процедурою, то тут також є деякі проміжні програми - ознайомтеся з http://www.procedural.com/ .

Для отримання додаткових ігор / проміжного програмного забезпечення , перевірити Процедурне сторінку Generation Вікіпедії і процедурне покоління Wiki .


2

(Цитовані посилання у пастібінному посиланні: http://pastebin.com/PpJknMuT )

Що ж, можна сказати, що існує 2 різних види. Це залежить від того, що ти хочеш. Наприклад, якщо взяти недавню гру GTA, для створення міста та його персоналізації було використано 100 художників. Тут може бути використане процедурне покоління, але воно буде використовуватися як інструмент художників, а не щось, що працює на ігровому двигуні, тому що ми не хочемо особливо відрізнятись розміткою міста в кожній грі.

Тож моя дипломна робота була присвячена процесу генерації міста з районуванням міста: [1]

Цей інструмент використовується художником для створення міста, дозволяючи контролювати різні аспекти, якщо вони цього вимагають. Покоління міста схоже з L-системами, як це бачиться в роботі Паскаля Мюллера: [2] Зонування міста працює як карта зображення, беручи ймовірності зон (комерційних, житлових, промислових) з даних піксельних rgb. При бажанні можна було б автоматизувати генерацію, але для того, щоб міста виглядали правдоподібними, алгоритм повинен був бути набагато складнішим, використовуючи механіку AI населення, а не L-System та алгоритми шуму.

Політ покоління можна побачити в [3] або я думаю, найпростішим прикладом був би вертоліт: [4]

Щось подібне до Torchlight було б Infinity: Quest for Earth [5]

У нескінченності галактика та все, що знаходиться в ній, генерується із насіннєвим значенням, яке потім створює всі інші змінні, які використовуються для генерування всього, що міститься в галактиці (планети, сонця тощо). Посилання розповідає про те, як це працює більш детально.


Так, я розумію: не завжди хочеться мати випадкові рівні з поколінням з насіння чи ще. Річ у тім, що ми хочемо зробити рівень покоління - це просто полегшити роботу дизайнера рівнів, щоб йому не довелося робити все майя або макс. Генерація рівнів не завжди призначена просто для генерування рівнів, але також може змусити програмне забезпечення генерувати шматки геометрії на ходу, замість того, щоб вести великий файл, що містить всю геометрію, як, наприклад, мапу висоти, але для конкретних наборів рівнів, як джунглі, офіс або місто: ми просто просимо художника зробити текстури і деякі
jokoon

і деякі загальні фрагменти геометрії, які ми хочемо повторити. Я не говорю про рівні, що стосуються лише процедур, але для великого великого світу це необхідно для збереження пам'яті.
jokoon

Яке ігрове середовище ви хочете? Я маю на увазі, якщо у вас є місто, то тільки будівлі повторюватимуться в різній орієнтації .. Пейзажі, як ви кажете, набагато простіше генерувати з льоту. Це дійсно залежить від гри, яку ви хочете зробити, тож це буде щось подібне Morrowind / Oblivion чи GTA чи щось інше?
Sycren

1

Minecraft використовує 2D Perlin-шум для створення зовнішньої місцевості. Він може мати практично нескінченний рівень (ви б померли від старості, перш ніж дістатися до краю), що створюється під час дослідження гравців. Він (ймовірно) також використовує 3D-шуми Perlin для створення підземних печер.


Технічно край світу Minecraft недоступний - коли ви отримуєте приблизно третину (IIRC) шляху туди, гра починає захоплюватися і економить кожну секунду і не підлягає програванню. ;-)
Качка комуніста

-1

Які методи залучені до рандомізатора рівня TorchLight.

Вони будуть просто випадковими числами, які вводяться в алгоритми рівня.

і чи мають подібні з цим інші назви?

Вікіпедія .

Хоча дискусійні ліві 4 мертві застосовували подібні методики там AI Director.

Чи є прізвище для таких прийомів?

Фрактали, рекурсії, L-системи та звичайні старі алгоритми. Кожен поєднується з випадковими числами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.