BeaRLibMG - генератор карт
Модератор: Apromix
Re: BeaRLibMG
Алгоритм прост.
Возможные проблемы: иногда дороги "обрываются" на полпути, на скринах видно=)
Код: Выделить всё
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
Попробовал очень по чёрному прикрутить библиотеку к FFHtR и... оно заработало!
Есть пара идей, кстати по некоторому улучшению.
Есть пара идей, кстати по некоторому улучшению.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
Re: BeaRLibMG
Есть пара идей, кстати по некоторому улучшению.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: BeaRLibMG
Тяк, ну примерно вот что мне больше всего понадобилось - это место, где может появиться ГГ.
может в качестве отдельных тайлов, превращающихся в обычные или координаты возвращаемые процедурой итд
Просто, скажем в карте типа город, игрока можно высадить просто на улице, со стороны откуда прибыл, но подземелье или башня, нужны некие координаты, от которых можно было бы плясать.
может в качестве отдельных тайлов, превращающихся в обычные или координаты возвращаемые процедурой итд
Просто, скажем в карте типа город, игрока можно высадить просто на улице, со стороны откуда прибыл, но подземелье или башня, нужны некие координаты, от которых можно было бы плясать.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
Re: BeaRLibMG
По-хорошему, стоит вообще возвращать каким-то образом вместе с картой координаты комнат. Это может быть полезно для генерации монстров, предметов и других энкаунтеров.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: BeaRLibMG
Ну это не смертельно, генератор различает комнаты и улицу, это и самому собрать можно.
Но вот координаты вход/ выход были бы не лишними.
Но вот координаты вход/ выход были бы не лишними.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibMG
Есть идея для MG заделать некий примитивный скриптовый язык, с помощью которого можно будет более удобно и шире управлять генерацией карты
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibMG
JustHarry
Генератор 7 генерит карту не по центру, а немного влево-вверх. У меня получается в HoD'e там пространство, по которому можно ходить из одной ветки подземелья в другую, и вообще не красиво получается.
Генератор 7 генерит карту не по центру, а немного влево-вверх. У меня получается в HoD'e там пространство, по которому можно ходить из одной ветки подземелья в другую, и вообще не красиво получается.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: BeaRLibMG
Думаю, что прикручу ваш генератор, товарищи, к FFHtR уже на капитальной основе. Я тут такую штуку сделал, рандомный генератор комнат, помещенией и проч. по англицки зовущегося sites. Таким образом, если генератор будет выделять раздельные зоны, которые можно заселять. Внутренние помещения домов, отдельные участки башен, пещер и проч, то соединение МедведоГенератора с моим генератором, позволит создавать просто замечательные карты, полные вкусностей. Хотелось бы только обсудить некоторые моменты, если нет возражений.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibMG
Мы всегда готовы к диалогуJolly Roger писал(а):Хотелось бы только обсудить некоторые моменты, если нет возражений.
Re: BeaRLibMG
А что, здорово будетДумаю, что прикручу ваш генератор, товарищи, к FFHtR уже на капитальной основе. Я тут такую штуку сделал, рандомный генератор комнат, помещенией и проч. по англицки зовущегося sites. Таким образом, если генератор будет выделять раздельные зоны, которые можно заселять. Внутренние помещения домов, отдельные участки башен, пещер и проч, то соединение МедведоГенератора с моим генератором, позволит создавать просто замечательные карты, полные вкусностей. Хотелось бы только обсудить некоторые моменты, если нет возражений.
Если разберусь с сессией, то со следующей недели уже буду более-менее свободен, так что покодить bearlib смогу.
- Jolly Roger
- Сообщения: 2973
- Зарегистрирован: 27 ноя 2009, 09:10
- Откуда: Minsk, Belarus
Re: BeaRLibMG
Отлично!
Цимес в том, что для FFHtR генератора нужно, чтобы Медведь выдавал, помимо имеющегося, зоны входа/выхода с карты. Выходом может быть и край карты, а вот с входом труба, сами знаете, как важно точное размещение.
Также нужно, чтобы генератор возвращал тайлы отмеченные под зоны, где будут размещены полуслучайные участки. Те для городов, это что-то внутри городов (хммм... в будущем можно будет сделать и уличные участки.) для пещер или руин, просто удобные участки, где можно было бы, что-то интересно отспавнить. ТЕ монстры не везде, рандомно по карте, а добрый некромант в башне, а на улице никого.
Цимес в том, что для FFHtR генератора нужно, чтобы Медведь выдавал, помимо имеющегося, зоны входа/выхода с карты. Выходом может быть и край карты, а вот с входом труба, сами знаете, как важно точное размещение.
Также нужно, чтобы генератор возвращал тайлы отмеченные под зоны, где будут размещены полуслучайные участки. Те для городов, это что-то внутри городов (хммм... в будущем можно будет сделать и уличные участки.) для пещер или руин, просто удобные участки, где можно было бы, что-то интересно отспавнить. ТЕ монстры не везде, рандомно по карте, а добрый некромант в башне, а на улице никого.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.
- Apromix
- Мастер
- Сообщения: 1236
- Зарегистрирован: 04 июл 2011, 10:44
- Откуда: Украина, Черновцы
- Контактная информация:
Re: BeaRLibMG
Как было сказано выше возможно в BeaRLibMG будут введены дополнительные параметры в виде простых скриптов Это должно помочь решить проблему...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей