Какой контент вы сделали / видели сделали с использованием процедурных методов - PullRequest
8 голосов
/ 10 февраля 2010

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

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

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

Ответы [ 4 ]

9 голосов
/ 10 февраля 2010

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

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

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

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

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

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

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

1 голос
/ 10 февраля 2010

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

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

1 голос
/ 10 февраля 2010

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

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

1 голос
/ 10 февраля 2010

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

TerraGen 2

World Builder

World Machine

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

...