BeaRLibMG - генератор карт

Форум библиотеки BeaRLib

Модератор: Apromix

ADB

Re: BeaRLibMG

Сообщение ADB » 10 окт 2011, 10:36

Интересный вариант прямых дорог. Что за алгоритм?

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: BeaRLibMG

Сообщение JustHarry » 10 окт 2011, 13:57

Алгоритм прост.

Код: Выделить всё

1) Заполняем карту землей.
2) 10(N?) раз проводим дорогу, а именно :
---1) Выбираем рандомно две точки на карте(x1, y1, x2, y2), лежащие на границах карты, но не на одной и той же границе.
---2) Проводим линию от точки x1,y1 до x2,y2(по брезенхему)
---3)  для i = от 1 до 3 проводим линии
--- от x1,y1+i до x1, y1+i
--- от x1,y1-i до x1, y1+i
--- от x1,y1-i до x1, y1-i
--- от x1,y1+i до x1, y1-i
---4) Пробегаем каждую точку карты и смотрим, если у нее 5 соседей-тайлов дороги, делаем ее дорогой(тут получаются "закругления" у перекрестков)
3) Все, теперь добавляем по вкусу дома и прочие ништяки.
Возможные проблемы: иногда дороги "обрываются" на полпути, на скринах видно=)

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: BeaRLibMG

Сообщение Jolly Roger » 14 окт 2011, 11:10

Попробовал очень по чёрному прикрутить библиотеку к FFHtR и... оно заработало!
Есть пара идей, кстати по некоторому улучшению. :)
FFHtR+BearLibMG_1.PNG
FFHtR+BearLibMG_1.PNG (479.41 КБ) 4274 просмотра
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: BeaRLibMG

Сообщение JustHarry » 14 окт 2011, 11:46

Есть пара идей, кстати по некоторому улучшению.
:?: :?: :?:

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BeaRLibMG

Сообщение Apromix » 17 окт 2011, 13:19

:?: :?: :?: :D

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: BeaRLibMG

Сообщение Jolly Roger » 26 окт 2011, 09:02

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

Аватара пользователя
alexbard
Сообщения: 670
Зарегистрирован: 22 апр 2011, 17:15
Откуда: Украина
Контактная информация:

Re: BeaRLibMG

Сообщение alexbard » 26 окт 2011, 09:11

По-хорошему, стоит вообще возвращать каким-то образом вместе с картой координаты комнат. Это может быть полезно для генерации монстров, предметов и других энкаунтеров.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: BeaRLibMG

Сообщение Jolly Roger » 26 окт 2011, 09:16

Ну это не смертельно, генератор различает комнаты и улицу, это и самому собрать можно.
Но вот координаты вход/ выход были бы не лишними.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BeaRLibMG

Сообщение Apromix » 26 окт 2011, 17:42

Есть идея для MG заделать некий примитивный скриптовый язык, с помощью которого можно будет более удобно и шире управлять генерацией карты :)

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BeaRLibMG

Сообщение Apromix » 04 янв 2012, 19:03

JustHarry
Генератор 7 генерит карту не по центру, а немного влево-вверх. У меня получается в HoD'e там пространство, по которому можно ходить из одной ветки подземелья в другую, и вообще не красиво получается. :)

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: BeaRLibMG

Сообщение Jolly Roger » 10 янв 2012, 13:14

Думаю, что прикручу ваш генератор, товарищи, к FFHtR уже на капитальной основе. Я тут такую штуку сделал, рандомный генератор комнат, помещенией и проч. по англицки зовущегося sites. Таким образом, если генератор будет выделять раздельные зоны, которые можно заселять. Внутренние помещения домов, отдельные участки башен, пещер и проч, то соединение МедведоГенератора с моим генератором, позволит создавать просто замечательные карты, полные вкусностей. Хотелось бы только обсудить некоторые моменты, если нет возражений.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BeaRLibMG

Сообщение Apromix » 10 янв 2012, 13:27

Jolly Roger писал(а):Хотелось бы только обсудить некоторые моменты, если нет возражений.
Мы всегда готовы к диалогу :D

JustHarry
Сообщения: 655
Зарегистрирован: 30 июл 2010, 17:13

Re: BeaRLibMG

Сообщение JustHarry » 10 янв 2012, 14:46

Думаю, что прикручу ваш генератор, товарищи, к FFHtR уже на капитальной основе. Я тут такую штуку сделал, рандомный генератор комнат, помещенией и проч. по англицки зовущегося sites. Таким образом, если генератор будет выделять раздельные зоны, которые можно заселять. Внутренние помещения домов, отдельные участки башен, пещер и проч, то соединение МедведоГенератора с моим генератором, позволит создавать просто замечательные карты, полные вкусностей. Хотелось бы только обсудить некоторые моменты, если нет возражений.
А что, здорово будет :twisted:
Если разберусь с сессией, то со следующей недели уже буду более-менее свободен, так что покодить bearlib смогу.

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: BeaRLibMG

Сообщение Jolly Roger » 11 янв 2012, 00:49

Отлично!
Цимес в том, что для FFHtR генератора нужно, чтобы Медведь выдавал, помимо имеющегося, зоны входа/выхода с карты. Выходом может быть и край карты, а вот с входом труба, сами знаете, как важно точное размещение.
Также нужно, чтобы генератор возвращал тайлы отмеченные под зоны, где будут размещены полуслучайные участки. Те для городов, это что-то внутри городов (хммм... в будущем можно будет сделать и уличные участки.) для пещер или руин, просто удобные участки, где можно было бы, что-то интересно отспавнить. ТЕ монстры не везде, рандомно по карте, а добрый некромант в башне, а на улице никого. :wink:
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

Re: BeaRLibMG

Сообщение Apromix » 11 янв 2012, 15:55

Как было сказано выше возможно в BeaRLibMG будут введены дополнительные параметры в виде простых скриптов :D Это должно помочь решить проблему...

Ответить

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

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