Какой контент вы создали/видели, созданный с использованием процедурных приемов?

StackOverflow https://stackoverflow.com/questions/2233644

Вопрос

Я рассматривал какое-то исследование, которое мне предстоит провести в будущем, связанное с методами процедурной генерации, и мне было интересно, какой тип контента у вас есть:
Развитый
Помогли разработать
Видно реализовано
Пытался разработать

и какие методы/техники/процедуры вы использовали для его разработки.
Если вы чувствуете себя щедрым, возможно, вы даже сможете вникнуть в его особенности, например, в структуры данных и алгоритмы, которые вы использовали для его разработки.

Если это нужно разместить как вики-сообщество, потому что это не я прошу решить проблему, просто дайте мне знать.Это не тема для домашнего задания, потому что это исследовательский модуль, который я пока не сдаю ;)

Это было полезно?

Решение

Программное обеспечение Introversion, создатели игр Defcon, Uplink и Darwinia (среди прочих) около года назад начали работу над игрой, в которой широко используется PCG для генерации городов. вот видео их работы, и вы можете прочитать больше об этом на дневник разработки игры (начните с первой части внизу страницы!).

Это сразу меня чрезвычайно заинтересовало, и, увидев потенциал игр, я сразу же начал исследовать эту технологию.Я собрал папку из 18 PDF-файлов по этой теме (научные статьи, презентации SIGGRAPH и т. д.). Вот, я загрузил это для вас.

Основной подход заключается в использовании L-систем, однако я так и не удосужился понять это настолько, чтобы что-то из этого извлечь.Я пробовал другие, менее успешные подходы, например, использование Вороной, рекурсивно разбивая прямоугольную область на более мелкие области и немного смещая границы, чтобы получить немного случайности и разделения полигонов.

Последний метод, который я получил из сообщений Майка в блоге Code (здесь и здесь).Скриншоты, показанные в его блоге, вызывают у меня слюни, это моя самая большая мечта программиста — когда-либо получить что-то подобное.Я написал ему по электронной почте, чтобы спросить, как он это сделал, и вот соответствующая часть его ответа. Я уверен, что он не будет возражать, если я опубликую это здесь:

L-Systems, безусловно, один из вариантов, но я этим не занимаюсь.Основа моего метода — разделение полигонов.Я начинаю с простого многоугольника, который представляет всю территорию города.Затем я разделил его (примерно) пополам, а затем разделил эти два многоугольника и т. д.пока я не доберусь до размеров городского квартала.На этом этапе края всех моих полигонов представляют собой дороги.Затем я использую тот же метод подразделения, чтобы разбить блоки на участки размером со здание.

Дьявол, конечно, кроется в деталях, но это основной метод.

Мне, например, до сих пор не удалось полностью реализовать решение, которым я доволен, но оно остается одной из, если не самой большой мечтой моего программиста, когда-либо достичь чего-то подобного.

Другие советы

Вот несколько лидеров в области процедурно генерируемого ландшафта (и в меньшей степени листвы).Если вы не получили здесь подробного ответа относительно методов и техник, возможно, вы захотите поискать/спросить на их форумах.Я видел там некоторые обсуждения методов.

ТерраГен 2

Мировой Строитель

Мировая машина

Естественная графика

Никто не упомянул о демосцене, где используются ТОЛЬКО процедурные вещи?

Итак, для начала найдите Werkkzeug, Kkrieger, MilkyTracker.Также вы можете зайти на сайт pouet и увидеть чудо прекрасно сделанных процедурных видеороликов (да, процедурных видеороликов!С музыкой и графикой всё процедурно!)

Аллегоритмические продукты используются в фактических названиях отгрузок.Эти ребята сосредоточены на генерации текстур (как в автономном режиме, так и во время выполнения).

У них есть очень красивые скриншоты и демо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top