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


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

Скриншоты

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

смотреть

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

смотреть

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

смотреть

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

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

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

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

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

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

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

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

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

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