Максим, пиши посты с поправкой на гуманитариев, что такое граф, не разумию.Максим Кич писал(а):Речь шла о простом алгоритме. Я предложил простой рабочий алгоритм, который можно запрограммировать с минимумом навыков.Чёрствый Рогалик писал(а):Такой алгорит хорошо идёт, когда нужно сделать "дикое" подземелье, но как мне кажется, будет очень сложно приделать к такому лабиринту внятную легенду.
Вообще, имхо, генератор лабиринтов надо делать обёрткой к графу, представляющему собой подземелье. Одним махом решаем массу задач, начиная с оптимизации поведения монстров и заканчивая «приделыванием легенды». Но что-то мне говорит, что начинать стоит не с этого.
Генерация мира
Модераторы: Sanja, Максим Кич
- Чёрствый Рогалик
- Сообщения: 48
- Зарегистрирован: 13 фев 2009, 14:35
- Откуда: Санкт-Петербург
Re: Генерация мира
Анимэшницы и Велосипеды
Re: Генерация мира
В математической теории графов и информатике граф — это совокупность объектов со связями между ними.Чёрствый Рогалик писал(а):что такое граф, не разумию.
к примеру:
Комнаты(обьекты) представляются как вершины, или узлы графа, а каридоры (связи) — как дуги, или рёбра. Для разных областей применения виды графов могут различаться направленностью, ограничениями на количество связей и дополнительными данными о вершинах или рёбрах.
Эх теорию графов я в Обнинске здавал. Здал и забыл. Ктож знал что мне это потребуется в моём хоби.
- Чёрствый Рогалик
- Сообщения: 48
- Зарегистрирован: 13 фев 2009, 14:35
- Откуда: Санкт-Петербург
Re: Генерация мира
Ага, понятно! Я тем же самым пользовался, только не знал, что это графы называется.
Анимэшницы и Велосипеды
Re: Генерация мира
подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
- Максим Кич
- Администратор
- Сообщения: 1642
- Зарегистрирован: 03 дек 2006, 20:17
- Откуда: Витебск, Беларусь
- Контактная информация:
Re: Генерация мира
А можно чуть точнее описать, что требуется от алгоритма? Потому что вряд ли есть рогалики, симулирующие движение материковых плит.warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
Dump the screen? [y/n]
- Jesus05
- Сообщения: 1840
- Зарегистрирован: 02 дек 2009, 07:50
- Откуда: Норильск, сейчас Санкт-петербург.
- Контактная информация:
Re: Генерация мира
не исходный код конечно... но описание алгоритма который может быть сгодится.warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу
посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
http://habrahabr.ru/post/111538/
(я пытался его реализовать что-то не заладилось второй раз нет времени попробовать)
Re: Генерация мира
я такое реализовывалJesus05 писал(а):не исходный код конечно... но описание алгоритма который может быть сгодится.warchief писал(а):подскажите пожалуйста рогалики с исходным кодом в которых есть генерация континентов - очень хочу
посмотреть на код, как такое делается. А то пытался свое написать, но получается такая фигня
http://habrahabr.ru/post/111538/
(я пытался его реализовать что-то не заладилось второй раз нет времени попробовать)
viewtopic.php?f=7&t=516
только исходники где-то посеял
Re: Генерация мира
хочу что-то такое:Максим Кич писал(а):А можно чуть точнее описать, что требуется от алгоритма? Потому что вряд ли есть рогалики, симулирующие движение материковых плит.
Скрытый текст: ПОКАЗАТЬ
- Jesus05
- Сообщения: 1840
- Зарегистрирован: 02 дек 2009, 07:50
- Откуда: Норильск, сейчас Санкт-петербург.
- Контактная информация:
Re: Генерация мира
ну это похоже именно на тот алгоритм на который я давал ссылку, а Frolik реализовывал
Re: Генерация мира
Подошел и я к генерации подземелий, пока не определился с основными алгоритмами. Точнее говоря понравился этот алгоритм https://habrahabr.ru/post/275727/ но к реализации даже не приступал.
Для примера решил посмотреть, как генерируются подземелья в Dungeon Crawl - там 6800 строк кода только для генерации, и это наверно ещё не все. Не осилил.
Для примера решил посмотреть, как генерируются подземелья в Dungeon Crawl - там 6800 строк кода только для генерации, и это наверно ещё не все. Не осилил.
Re: Генерация мира
Этот алгоритм я некоторое время реализовал на паскале для BearLibMG: viewtopic.php?f=26&t=607&start=240
ну и на первой странице там куча других менее изощренных алгоритмов. Но если dll библиотека не подходит то от кода на паскале наверное толку будет не больше чем от кода из статьи.
ну и на первой странице там куча других менее изощренных алгоритмов. Но если dll библиотека не подходит то от кода на паскале наверное толку будет не больше чем от кода из статьи.
Re: Генерация мира
Вы таки будете смеяться, но этот алгоритм даже тут на вике есть, Харука год назад перевела. Единственное, что страница с его описанием не выведена в общий список всего-всего-всего.altmax писал(а): ↑08 фев 2017, 16:50Подошел и я к генерации подземелий, пока не определился с основными алгоритмами. Точнее говоря понравился этот алгоритм https://habrahabr.ru/post/275727/ но к реализации даже не приступал.
Для примера решил посмотреть, как генерируются подземелья в Dungeon Crawl - там 6800 строк кода только для генерации, и это наверно ещё не все. Не осилил.
Re: Генерация мира
на вики вот он: http://rlgclub.ru/wiki/Процедурная_гене ... в_TinyKeep
В любом случае я не очень понимаю что такого хорошего в этом алгоритме (ну кроме нереального количества обсуждений и красивых картинок генерации). Он позволяет делать широкие коридоры с кривыми стенками. Для чего-то похожего на диабло, что может эти коридоры густо забить статуями\дверями\колоннами\решетками и прочими предметами интерьера это неплохо, для большинства рогаликов - выглядит просто как странные коридоры из прямоугольников. Это тоже конечно можно использовать, но на универсальный алгоритм не тянет.
Из тех что на вики мне вот этот алгоритм понравился: http://rlgclub.ru/wiki/Алгоритм_построения_подземелий
Точнее даже не сам алгоритм а идея что надо привязывать генерацию к содержимому. Т.е. не сначала делать комнаты а потом генерировать для них содержимое, а сразу добавлять комнаты с конкретным смыслом (алтарь, казармы, бойня, сокровищница) и в зависимости от их роли генерить соседние проходы и комнаты. Но реализовывать я не пробовал.
В любом случае я не очень понимаю что такого хорошего в этом алгоритме (ну кроме нереального количества обсуждений и красивых картинок генерации). Он позволяет делать широкие коридоры с кривыми стенками. Для чего-то похожего на диабло, что может эти коридоры густо забить статуями\дверями\колоннами\решетками и прочими предметами интерьера это неплохо, для большинства рогаликов - выглядит просто как странные коридоры из прямоугольников. Это тоже конечно можно использовать, но на универсальный алгоритм не тянет.
Из тех что на вики мне вот этот алгоритм понравился: http://rlgclub.ru/wiki/Алгоритм_построения_подземелий
Точнее даже не сам алгоритм а идея что надо привязывать генерацию к содержимому. Т.е. не сначала делать комнаты а потом генерировать для них содержимое, а сразу добавлять комнаты с конкретным смыслом (алтарь, казармы, бойня, сокровищница) и в зависимости от их роли генерить соседние проходы и комнаты. Но реализовывать я не пробовал.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 40 гостей