Войти
ПрограммированиеФорумОбщее

Генерация карт в рогалике (2 стр)

Страницы: 1 2
#15
17:35, 2 апр. 2011

Bigfoot
> Как определяешь где комнаты будут?

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

Bigfoot
> Как определяешь что пещера останется связной?

Каждая стена хранит номер своей компоненты.
Когда я пытаюсь сделать новую стенку, я смотрю, нет ли среди её соседей разделённого множества одного номера. Если есть - значит, нельзя стенку ставить. Если нету - ставлю стенку, даю ей номер одного из соседей, а всем соседям другого номера меняю номер на новый вместе с их компонентами.
А, ещё вся граница имеет индекс 1.

Bigfoot
> Выглядит не очень.

Проходы получаются очень кривые, тебя такое устроит?


#16
17:40, 2 апр. 2011

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

#17
18:22, 2 апр. 2011

trleq
Ну например этим разбиением не создашь вот такое поле:

XXXXXXX
X...X.X
XXXXX.X
X.XXX.X
X.XXXXX
X.X...X
XXXXXXX
То есть комнаты не могут пересекать границы (вертикальные или горизонтальные).
#18
11:59, 3 апр. 2011

В общем я остановился на своем методе (который в #0). Исправил "хитрый алгоритм" так, что он теперь работает за 1 проход, тормоза практически пропали. Теперь нужно как-то по сгенерированной карте построить граф комнат и переходов между ними. Хочу сделать что-то похожее на http://roguebasin.roguelikedevelopment.org/index.php?title=Creati… 22Fun%22_Maps

Прошло более 1 года
#19
19:08, 20 сен. 2012

у меня мысль использовать бсп дерево для разбиения на комнаты, а комнаты заполнить клеточным алгоритмом(celular automata который)

Прошло более 4 лет
#20
15:15, 14 дек. 2016

Тема генерации рандомных карт по прежнему актуальна и интересна! Давайте продолжим делиться знаниями! ;)

#21
15:42, 14 дек. 2016

Подскажите хорошие алгоритмы, как генерировать карты открытой местности. Леса, озёра, болота, тропы и т.д.

#22
15:48, 14 дек. 2016

Вот тут несколько алгоритмов собранных в библиотеку:
http://rlgclub.ru/forum/viewtopic.php?f=26&t=607

И там ближе к концу темы моя реализация вот такого алгоритма:
http://rlgclub.ru/wiki/Процедурная_генерация_подземелий_в_TinyKeep

#23
17:23, 14 дек. 2016

Любимая тема, подпишусь :)

#24
8:18, 15 дек. 2016

SpiritAbsolute
> Тема генерации рандомных карт по прежнему актуальна и интересна! Давайте
> продолжим делиться знаниями! ;)

http://pcg.wikidot.com/pcg-algorithm:map-generation

Страницы: 1 2
ПрограммированиеФорумОбщее

Тема в архиве.