Процедурные ландшафты в 3D: что сделано? Есть ли общий алгоритм и / или теории об этом? [закрыто]


10

Помимо программирования, моделирование среды занимает много времени.

Я не знаю о рабочем времени, связанном, например, с уровнем подземелья WoW, или с другими красивыми городскими условиями, будущей средой, джунглями, фантазиями и т. Д., Но такие работы сделаны художниками с нуля.

Какие методы используются в рандомизаторе уровня TorchLight, и есть ли у других названий сходство с этим? Есть ли фамилия для таких методов?


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

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

Поколение 2D подземелий уже было описано на gamedev.stackexchange.com/questions/2663/… .

Ответы:


8

Roguelikes делал подобные вещи с тех пор, как они были изобретены, и они являются «семенем», которым Torchlight (и Diablo) получили свои идеи.

Я не знаю конкретно о Torchlight, но в целом то, что вы ищете, называется «Процедурное генерирование уровня».

Топливо процедурно генерирует зону, которая настолько невелика, что она не помещается на DVD, в который входит игра. Мне особенно понравилось читать серию Шамуса Янга о ней .

Другим интересным примером процедурно сгенерированного контента является еще не выпущенная игра Introversion, которая называется Subversion . Посмотрите на Часть 12 на этой странице; это особенно сочно.

Говоря о процедурно сгенерированных городах, есть также некоторое промежуточное программное обеспечение - посмотрите http://www.procedural.com/ .

Чтобы получить больше игр / промежуточного программного обеспечения, посетите страницу Википедии " Процессуальное поколение" и "Вики" Процедурного поколения " .


2

(Цитируемые ссылки в ссылке на ссылку: http://pastebin.com/PpJknMuT )

Ну, можно сказать, что есть 2 разных вида. Это зависит от того, что вы хотите. Например, если мы возьмем недавнюю игру GTA, сотни художников были использованы для создания города и его персонализации. Здесь можно использовать процедурную генерацию, но она будет использоваться как инструмент для художников, а не как нечто, работающее на игровом движке, так как мы не хотим, чтобы в каждой игре было другое расположение города.

Итак, моя магистерская диссертация была посвящена процессуальному поколению городов с городским зонированием: [1]

Этот инструмент используется художником для создания города, позволяя при этом контролировать различные аспекты, если они этого требуют. Генерация города похожа на L-системы, как видно из работ Паскаля Мюллера: [2] Городское зонирование работает как карта изображения, берущая вероятности зон (коммерческих, жилых, промышленных) из пиксельных данных rgb. Было бы возможно автоматизировать генерацию, если бы вы хотели, но чтобы города выглядели правдоподобно, алгоритм должен был бы быть намного более сложным, используя механику ИИ населения, а не L-систему и алгоритмы шума.

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

Нечто похожее на Torchlight было бы Infinity: Quest for Earth [5]

В Бесконечности галактика и все внутри нее генерируется начальным значением, которое затем создает все другие переменные, используемые для генерации всего, что содержится в галактике (планеты, солнца и т. Д.). Ссылка рассказывает о том, как это работает более подробно.


Да, я понимаю: не всегда хочется иметь случайные уровни с поколением из семени или иначе. Дело в том, что мы хотим, чтобы генерация уровней просто облегчала работу дизайнера уровней, чтобы ему не пришлось делать все с помощью Maya или Max. Генерация уровней не всегда предназначена только для генерации уровней, она также может заставить программное обеспечение генерировать куски геометрии на лету, вместо того, чтобы вести большой файл, содержащий всю геометрию, например карту высот, но для определенных наборов уровней, таких как джунгли, офис или город: мы просто просим художника сделать текстуры, а некоторые
jokoon

и некоторые общие части геометрии, которые мы хотим повторить. Я не говорю о процедурных уровнях, но для большого большого мира это необходимо для сохранения памяти.
Jokoon

Какую игровую среду вы хотите? Я имею в виду, что если у вас есть город, то только здания будут повторяться в разных ориентациях. Пейзажи, как вы говорите, гораздо проще создавать на лету. Это действительно зависит от игры, которую вы хотите создать, поэтому будет ли это что-то вроде Morrowind / Oblivion или GTA или что-то еще?
Sycren

1

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


Технически край Майнкрафта недостижим - когда вы проходите около трети пути (IIRC), игра начинает захватывать и экономит каждую секунду и становится недоступной для игры. ;-)
Коммунистическая утка

-1

Какие методы используются в рандомизаторе уровня TorchLight.

Это будут просто случайные числа, которые вставляются в алгоритмы уровня.

и другие названия имеют сходство с этим?

Wikipedia .

Хотя дискуссионный Left 4 Dead использовал аналогичные приемы в AI Director.

Есть ли фамилия для таких методов?

Фракталы, рекурсии, L-системы и простые старые алгоритмы. Каждый в сочетании со случайными числами.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.