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

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

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

ADB

Сообщение ADB » 28 авг 2007, 09:16

Sanja писал(а):Жаль библиотека Roguelike Lib здесь не участвовала (по условиям явно не проходит). Там есть немало разнотипных картогенераторов. Довольно хороших.
Очень даже культурненько :wink:
http://www.roguetemple.com/wp-content/u ... /08/p1.jpg


N_S_L
Сообщения: 4
Зарегистрирован: 06 апр 2009, 13:51

Re:

Сообщение N_S_L » 06 апр 2009, 13:58

Максим Кич писал(а): Примитивно, собрано на коленке за полчаса из которых большую часть времени я искал весьма тупую ошибку. Но общее представление даёт.
4 вида ландшафта, разность высот не рассматривается.

Простой фрактальный генератор ландшафта
Понимаю, что сейчас меня некропостером назовут и все такое, но очень хотелось бы взглянуть на эту программу.
В частности интересуют любые другие генераторы и алгоритмы генерации 2хмерных ландшафтов без учета карты высот, использующие фракталы(!).

заранее спасибо.

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

Re: Re:

Сообщение Максим Кич » 07 апр 2009, 06:52

N_S_L писал(а):
Максим Кич писал(а): Примитивно, собрано на коленке за полчаса из которых большую часть времени я искал весьма тупую ошибку. Но общее представление даёт.
4 вида ландшафта, разность высот не рассматривается.

Простой фрактальный генератор ландшафта
Понимаю, что сейчас меня некропостером назовут и все такое, но очень хотелось бы взглянуть на эту программу.
В частности интересуют любые другие генераторы и алгоритмы генерации 2хмерных ландшафтов без учета карты высот, использующие фракталы(!).

заранее спасибо.
Если программа ещё жива, постараюсь завтра выложить заново. Вообще, стоит посмотреть в сторону libtcode, там достаточно интересные были генераторы. ZAngband для глобальной карты тоже использует что-то похожее.
Dump the screen? [y/n]

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

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

Сообщение Максим Кич » 08 апр 2009, 06:31

Как и обещал, перезалил файлы.
Вложения
Maze1.zip
Генератор пещер на основе клеточного автомата
(219.89 КБ) 455 скачиваний
Gen.zip
Генератор плоского ландшафта на фракталах
(206.95 КБ) 481 скачивание
Dump the screen? [y/n]

N_S_L
Сообщения: 4
Зарегистрирован: 06 апр 2009, 13:51

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

Сообщение N_S_L » 13 апр 2009, 15:25

Огромное спасибо.

N_S_L
Сообщения: 4
Зарегистрирован: 06 апр 2009, 13:51

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

Сообщение N_S_L » 13 апр 2009, 15:29

Если программа ещё жива, постараюсь завтра выложить заново. Вообще, стоит посмотреть в сторону libtcode, там достаточно интересные были генераторы. ZAngband для глобальной карты тоже использует что-то похожее.
а можно подробнее про libtcode и zangband? я просто абсолютно не в теме того, что это вообще такое...
просто сфера моих интересов абсолютно за пределами roguelike-вселенной)

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

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

Сообщение Максим Кич » 14 апр 2009, 07:05

N_S_L писал(а):а можно подробнее про libtcode и zangband? я просто абсолютно не в теме того, что это вообще такое...
просто сфера моих интересов абсолютно за пределами roguelike-вселенной)
Тяжёлый случай :).

.libtcode — библиотека, предназначенная для разработки рогаликов. Включает в себя, как минимум, средства для работы с шумом Перлина.

ZAngband — вариант игры Angband с открытыми пространствами. Собственно говоря, качать исходники отсюда и RTFC.

Ну и, наконец, самый полный ресурс в Интернете

А в целом, если сфера интересов лежит за пределами RL, то стоит уточнить для чего нужны алгоритмы — тогда можно дать более толковый ответ.
Dump the screen? [y/n]

N_S_L
Сообщения: 4
Зарегистрирован: 06 апр 2009, 13:51

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

Сообщение N_S_L » 14 апр 2009, 07:59

я думаю, что этого всего уже вполне достаточно. спасибо.

Аватара пользователя
Xecutor
Мастер
Сообщения: 758
Зарегистрирован: 25 мар 2008, 08:32

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

Сообщение Xecutor » 15 апр 2009, 08:13

Чуток позанудствую, но всё таки libtcod.
Без e.
Ибо сокращение от The Chronicles of Doryen.
Но либа мощная.
Интересно Jice саму игру ради которой либа делается собирается заканчивать? :)

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

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

Сообщение BAHO » 19 апр 2009, 23:37

Доброво времени суток! и с праздником...
Вот мои наметки. алгоритм подземелий использую рекурсивный метод. Правду тут сказали, что работает он мягко говоря не очень...

Посоветуйте хороший и простой алгоритм для начинающих :oops:
вот этот был у выс в своё время мне очень нравится: RLNews Darren'а Hebden'а
но для меня он слишком сложен в реализации

я вас внимательно слушаю
Вложения
skrin2.png
кашмар
skrin2.png (1.62 КБ) 9057 просмотров
skrin1.png
более менее
skrin1.png (3.33 КБ) 9059 просмотров

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

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

Сообщение Максим Кич » 20 апр 2009, 08:24

BAHO писал(а):Доброво времени суток! и с праздником...
Вот мои наметки. алгоритм подземелий использую рекурсивный метод. Правду тут сказали, что работает он мягко говоря не очень...

я вас внимательно слушаю
Для начала, было бы интересно, какой алгоритм ты используешь, потому что под словом «рекурсивный» можно подразумевать всё, что использует рекурсию (то есть, если позанудствовать, вообще *любой* алгоритм). Тогда можно было бы дать совет по существу.

Простой и красивый алгоритм я подсмотрел в Moria (думаю, в том или ином виде его до сих пор используют Angband и его варианты).

1. По карте разбрасывается n комнат
2. Из каждой комнаты ведётся случайное число коридоров в диапазоне [0,k]. Коридор прокладывается по следующему принципу:выбирается случайное направление. В этом направлении от комнаты добавляются пустые клетки. С некоторой вероятностью m коридор поворачивает на 90 или -90 градусов. Если коридор натыкается на границу уровня, он опять таки поворачивает на 90 или -90 градусов (случайно выбирая между ними). Наконец, если коридор натыкается на пустую клетку, его построение заканчивается.
3. Комнаты можно обставить по вкусу колоннами и проч.
4 ...
5. PROFIT!
Dump the screen? [y/n]

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

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

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

Такой алгорит хорошо идёт, когда нужно сделать "дикое" подземелье, но как мне кажется, будет очень сложно приделать к такому лабиринту внятную легенду. :?
Анимэшницы и Велосипеды

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

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

Сообщение Максим Кич » 20 апр 2009, 10:23

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

Вообще, имхо, генератор лабиринтов надо делать обёрткой к графу, представляющему собой подземелье. Одним махом решаем массу задач, начиная с оптимизации поведения монстров и заканчивая «приделыванием легенды». Но что-то мне говорит, что начинать стоит не с этого.
Dump the screen? [y/n]

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

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

Сообщение BAHO » 20 апр 2009, 16:07

по поводу алгаритма
да проще и понятней я не встречал.
т.е. описывается сама комната не заполняем её всё доступное пространство уровня стенами не проходимыми и уже в этом начинаем рыть?

"мой" алгоритм мне не нравится по причине того что он похож на пищеру. Очень мдленно работает. и жрет много ресурсов железа. да и если чесно не я его делал тут уж так получилось но я его подредоктировал.

Ответить

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

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