Данный модуль позволяет генерировать карты для сражений в WarCraft III.


Это довольно гибкий модуль позволяющий настраивать параметры генерируемой карты перед процессом её создания. Сама карта генерируется в среднем от 3 до 20 секунд (в зависимости от выбранных настроек генератора, размера карты и количества игроков).

Скриншоты

Настраиваемые данные перед процессом генерации

смотреть

Результат работы генератора

смотреть

В разработке усовершенствованная система генерации биом

смотреть

Дополнительная информация о генераторе

генерация биом

В случайном порядке или через настройки пользователя - генератор определяет основные используемые биомы (местности). От местностей зависят текстуры земли, декорации, вражеские нейтральные монстры, ассортимент в лагерях наёмников и насестах драконов.
Генератор умеет смешивать различные биомы. Например: он может сгенерировать карту, которая от запада к востоку плавно переходит от болотистой местности в сафари. Для биом устанавливаются доступные связи - другие биомы, с которыми они могут смешиваться. Например - зимняя биома может смешиваться с осенней, ледяной и смертельной; Но не может смешиваться с летней, сафари, джунглями и пустошью.
На игровой карте могут располагаться локации, имеющие свои локальные биомы. Например - группа големов может располагаться в горной местности, тогда текстура земли и декорации внутри этой локации будут соответствовать горным (вы можете наблюдать это на скриншотах)

генерация игроков

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

генерация локаций

Для каждой локации генерируется своё местоположение и радиуса коллизий (дабы не генерироваться в географическом конфликте с другими локациями). На локациях могут располагаться дополнительные декорации, монстры, нейтральные здания, локальные биомы, погодные эффекты, золотые рудники и игроки. Генерируемое количество тех или иных локаций определяются через настройки.

насыщенность мира

Как сообщалось ранее, игра имеет возможность настроить вероятность количественных значений локаций на карте. Например, если в настройках количество таверн указано как 2d55%, то 20% вероятности того, что на карте не будет таверн; 50% вероятности, что на карте будет одна таверна; и 30% вероятности того, что на карте будет две таверны. Таблицу вероятностей я привожу ниже:
смотреть таблицу
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2 комментария удалено
18
Нет, ну конечно выглядит отлично, но отсутствие воды или других неровностей земли угнетает меня.
Однако ты можешь создать воду при желании
17
Molecyla, нельзя. Карта путей, используемая ИИ для определения маршрутов движения - создаётся на уровне WorldEditor. Создание любых продолжительных препятствий (рек, гор) приведёт к тому, что отряды будут "застревать" в препятствиях вместо того, чтобы пытаться их обойти. В режиме реального времени ИИ умеет обходить лишь небольшие препятствия. Продолжительные препятствия в виде стен, рек и гор я планирую использовать в генераторе RPG карт, но для RTS, к сожалению, не годится.
Molecyla, "других неровностей земли". Камера ведёт себя некрасиво когда уровень земли сильно отличается от изначально установленного. При большой возвышенности - камера может даже проваливаться под землю. Это может привести к дисбалансу уровня контроля отрядами, если в землях одного игрока обзор меньше, чем в землях другого.
Положение могла бы исправить камерная наработка, которая учитывала бы реальный уровень земли. Если кто предоставит таковую (желательно без утечек) - буду благодарен.
28
Неплохо в принципе, но что такое 2d55% и т.д?
17
Aws, Как сообщалось ранее, игра имеет возможность настроить вероятность количественных значений локаций на карте. Например, если в настройках количество таверн указано как 2d55%, то 20% вероятности того, что на карте не будет таверн; 50% вероятности, что на карте будет одна таверна; и 60% вероятности того, что на карте будет две таверны. Таблицу вероятностей я привожу ниже:
таблица
28
Cancel, А можно сделать генератор понятный для простых смертных и гуманитариев?
17
Aws, некоторые настройки более сложные (как приведённый пример), они обеспечивают повышенную гибкость самого генератора. В будущем этот ассортимент умножится. Пользователю не обязательно лезть в эти настройки чтобы получать удовольствие от игры, так как настройки по-умолчанию подбираются наиболее оптимальным вариантом с учётом количества игроков.
Даже если пользователь-гуманитарий хочет повлиять на количество локаций игрового мира - специально для него существуют константные варианты настроек, где он может вместо варианта 2d55% выбрать определённое количество локаций, например - 3.
Почему используется 2d50% вместо rand(0-2)? Это повышает шансы выпадения центральных чисел и понижает шансы выпадения крайних чисел. Уменьшает случаи генерации "пустынных" или наоборот "пёстрых" карт.
33
Вообще забавная идея, желаю успехов в разработке.
Но на втором скрине орфографическая ошибка — «мана» пишется с одной «н».
Этот термин произошёл не от библейской «манны небесной», но от полинезийского оккультного понятия «мана», означающего магическую энергию, яко бы содержащуюся в некоторых существах и предметах. Возможно, вы об этом знаете, но не мог не поделиться =)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.