Генерация мира

Темы, связанные с проектированием и программированием roguelike-игр

Модераторы: Sanja, Максим Кич

Аватара пользователя
Чёрствый Рогалик
Сообщения: 48
Зарегистрирован: 13 фев 2009, 14:35
Откуда: Санкт-Петербург

Re: Генерация мира

Сообщение Чёрствый Рогалик » 20 апр 2009, 16:43

Максим Кич писал(а):
Чёрствый Рогалик писал(а):Такой алгорит хорошо идёт, когда нужно сделать "дикое" подземелье, но как мне кажется, будет очень сложно приделать к такому лабиринту внятную легенду. :?
Речь шла о простом алгоритме. Я предложил простой рабочий алгоритм, который можно запрограммировать с минимумом навыков.

Вообще, имхо, генератор лабиринтов надо делать обёрткой к графу, представляющему собой подземелье. Одним махом решаем массу задач, начиная с оптимизации поведения монстров и заканчивая «приделыванием легенды». Но что-то мне говорит, что начинать стоит не с этого.
Максим, пиши посты с поправкой на гуманитариев, что такое граф, не разумию. :oops:
Анимэшницы и Велосипеды

BAHO
Сообщения: 7
Зарегистрирован: 17 апр 2009, 18:03

Re: Генерация мира

Сообщение BAHO » 21 апр 2009, 00:22

Чёрствый Рогалик писал(а):что такое граф, не разумию. :oops:
В математической теории графов и информатике граф — это совокупность объектов со связями между ними.

к примеру:
Комнаты(обьекты) представляются как вершины, или узлы графа, а каридоры (связи) — как дуги, или рёбра. Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или рёбрах.

Эх теорию графов я в Обнинске здавал. Здал и забыл. Ктож знал что мне это потребуется в моём хоби.

Аватара пользователя
Чёрствый Рогалик
Сообщения: 48
Зарегистрирован: 13 фев 2009, 14:35
Откуда: Санкт-Петербург

Re: Генерация мира

Сообщение Чёрствый Рогалик » 21 апр 2009, 06:42

Ага, понятно! Я тем же самым пользовался, только не знал, что это графы называется.
Анимэшницы и Велосипеды

BAHO
Сообщения: 7
Зарегистрирован: 17 апр 2009, 18:03

Re: Генерация мира

Сообщение BAHO » 22 апр 2009, 01:29

ссылка по теме
мне нравится как работает
http://direpress.bin.sh/tools/dungeon.cgi

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Генерация мира

Сообщение warchief » 22 авг 2012, 08:26

подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1560
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Генерация мира

Сообщение Максим Кич » 22 авг 2012, 09:20

warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
А можно чуть точнее описать, что требуется от алгоритма? Потому что вряд ли есть рогалики, симулирующие движение материковых плит.
Dump the screen? [y/n]

Аватара пользователя
Jesus05
Сообщения: 1792
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Генерация мира

Сообщение Jesus05 » 22 авг 2012, 10:50

warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу
посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
не исходный код конечно... но описание алгоритма который может быть сгодится.
http://habrahabr.ru/post/111538/
(я пытался его реализовать что-то не заладилось второй раз нет времени попробовать)

Аватара пользователя
Frolik
Сообщения: 624
Зарегистрирован: 08 мар 2011, 17:21

Re: Генерация мира

Сообщение Frolik » 22 авг 2012, 15:39

Jesus05 писал(а):
warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу
посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
не исходный код конечно... но описание алгоритма который может быть сгодится.
http://habrahabr.ru/post/111538/
(я пытался его реализовать что-то не заладилось второй раз нет времени попробовать)
я такое реализовывал
viewtopic.php?f=7&t=516
только исходники где-то посеял

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Генерация мира

Сообщение warchief » 22 авг 2012, 23:30

Максим Кич писал(а):А можно чуть точнее описать, что требуется от алгоритма? Потому что вряд ли есть рогалики, симулирующие движение материковых плит.
хочу что-то такое:
Скрытый текст: ПОКАЗАТЬ
Изображение
Это из рогалика, но к сожалению автор не дает исходников

Аватара пользователя
Jesus05
Сообщения: 1792
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Генерация мира

Сообщение Jesus05 » 23 авг 2012, 05:28

ну это похоже именно на тот алгоритм на который я давал ссылку, а Frolik реализовывал :)

altmax
Сообщения: 94
Зарегистрирован: 15 сен 2012, 11:59

Re: Генерация мира

Сообщение altmax » 08 фев 2017, 16:50

Подошел и я к генерации подземелий, пока не определился с основными алгоритмами. Точнее говоря понравился этот алгоритм https://habrahabr.ru/post/275727/ но к реализации даже не приступал.
Для примера решил посмотреть, как генерируются подземелья в Dungeon Crawl - там 6800 строк кода только для генерации, и это наверно ещё не все. Не осилил.

Аватара пользователя
kipar
Сообщения: 2082
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Генерация мира

Сообщение kipar » 09 фев 2017, 11:52

Этот алгоритм я некоторое время реализовал на паскале для BearLibMG: viewtopic.php?f=26&t=607&start=240
ну и на первой странице там куча других менее изощренных алгоритмов. Но если dll библиотека не подходит то от кода на паскале наверное толку будет не больше чем от кода из статьи.

Darkness
Сообщения: 33
Зарегистрирован: 13 апр 2012, 18:47

Re: Генерация мира

Сообщение Darkness » 09 фев 2017, 21:47

altmax писал(а):
08 фев 2017, 16:50
Подошел и я к генерации подземелий, пока не определился с основными алгоритмами. Точнее говоря понравился этот алгоритм https://habrahabr.ru/post/275727/ но к реализации даже не приступал.
Для примера решил посмотреть, как генерируются подземелья в Dungeon Crawl - там 6800 строк кода только для генерации, и это наверно ещё не все. Не осилил.
Вы таки будете смеяться, но этот алгоритм даже тут на вике есть, Харука год назад перевела. Единственное, что страница с его описанием не выведена в общий список всего-всего-всего.

Аватара пользователя
Jesus05
Сообщения: 1792
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Генерация мира

Сообщение Jesus05 » 10 фев 2017, 07:32

Darkness писал(а):
09 фев 2017, 21:47
Единственное, что страница с его описанием не выведена в общий список всего-всего-всего.
Так может ссылкой поделишься? ;)

Аватара пользователя
kipar
Сообщения: 2082
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Генерация мира

Сообщение kipar » 10 фев 2017, 08:05

на вики вот он: http://rlgclub.ru/wiki/Процедурная_гене ... в_TinyKeep
В любом случае я не очень понимаю что такого хорошего в этом алгоритме (ну кроме нереального количества обсуждений и красивых картинок генерации). Он позволяет делать широкие коридоры с кривыми стенками. Для чего-то похожего на диабло, что может эти коридоры густо забить статуями\дверями\колоннами\решетками и прочими предметами интерьера это неплохо, для большинства рогаликов - выглядит просто как странные коридоры из прямоугольников. Это тоже конечно можно использовать, но на универсальный алгоритм не тянет.

Из тех что на вики мне вот этот алгоритм понравился: http://rlgclub.ru/wiki/Алгоритм_построения_подземелий
Точнее даже не сам алгоритм а идея что надо привязывать генерацию к содержимому. Т.е. не сначала делать комнаты а потом генерировать для них содержимое, а сразу добавлять комнаты с конкретным смыслом (алтарь, казармы, бойня, сокровищница) и в зависимости от их роли генерить соседние проходы и комнаты. Но реализовывать я не пробовал.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей