Hunter or Victim

Hunter or Victim - это мультиплеерная карта для Warcraft 3 соединившая в себе жанры стелс и выживания.
Огромный процедурно генерируемый мир сделает каждое ваше путешествие уникальным.
Используйте мастерство скрытности и навыки выживания, что бы устранить соперников или объедините усилия для победы над Древним Злом.
163 28.6K
26
CopyPaster, к этому всё идёт. В юнити уже начали аишки встраивать. Но пока что это просто ускоряет некоторые процессы.
6
Jack-of-shadow, прикольный генератор, а так думаю скоро можно будет нейросетями полностью игры делать)
26
CopyPaster, люмен тащит, учитывая что тут даже не пбр, но для полноценной игры ассетов маловато)
6
Сначала не понял, думал это Рефоргет оО сделай ремастер на анриле! Выглядит как готовая игра)
26
Последние новости!

Изменения
Добавил соединения стен между областями.
Это придаст вариативности фигурам.
Теперь строка описывает весь замок вот так:
C0A0аC0A0D1B1бD1C1C2A2D3C3баC2A2D3B3
буквы в нижнем регистре указывают на то что эти точки могут быть соеденены для создания стен между областями.

Думаю на этом остановлюсь и буду переносить на jass.
23
Jack-of-shadow, Да не надо переделывать, скинь как есть, кому очень надо - разберётся и под себя переделает или попросит кого )
Просто добавь в архив txt файл с описанием ньюансов, вроде невыделяемого материала или анимаций, и ок.
26
EugeAl, Декор делался специально для карты. И в нем есть много нюансов. Он использует "не выделяемый" материал (это нужно для шифт системы) и использует анимации для переключения вариаций. Также 60% декора в игре спавнится как спецэффекты (по этому имеют спецификации для наклонов и прочего). Из модели из коробки будут неюзабельны для других проектов.

На самом деле много кто просил декор. Если кто то займется я могу расшарить сами модели для переделки, потому что сам я врятле до этого доберусь.
23
Jack-of-shadow, у твоего проекта классные ассеты, особенно деревья и декор, судя по обзорам и скринам. Не планируешь ли выложить пак моделей из карты для использования?
26
Последние новости!

Update 1.03c Eng

Translation of the Map into English.
• Version 1.03c Eng
26
Последние новости!
Понял что для ИИ и эвентов мне понадобятся не только стены но и области.
По этому изменил подход к генерации.

Теперь стены генерируются по форме которую образуют расставленные области.

На выходе получаем 2 строки такого вида:
Форма стен:
D0B0A1B0D3C3D0D0B1C2C1A1C0A0D1C1A
Области города:
24+6+12-16+8-24+8-12+2-12+26+6-10-20+26+

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


Работает примерно так:

Логика для редактора


• 1.Ищем все связанные с выбранным объектом области.
• 2.Проходимся по клеткам найденных областей и создаем таблицу.
Клеткам на углах области присваиваем значение 3, остальным 1, при пересечении областей складываем сумму.
• 3.Строим путь.
Начинаем от первой клетки, проверяем шаг влево, вправо, вверх и вниз и двигаемся вперед.
0 и 2 это пересечение областей либо не размеченная область.
1,3,6 можно сделать шаг.
Сохраняем полученный путь Линия (A,B,C,D) + Поворот (0,1,2,3):
Пример пути: B0D3C3D0D0B1C2C1A1C0A0D1C1A2A1B2
• 4.Сохраняем координаты областей MinX+MinY+MaxX+MaxY:
Пример областей: 24+6+12-16+8-24+8-12+2-12+26+6-10-20+26+1
Для экономии сохраняются координаты деленные на 192.

Логика для генератора

• 1.Спавним области читая строку CityRect
• 2.Спавним постройки по областям.
Если размер области позволяет то будем спавнить дома.
Находим большую сторону области и относительно нее указываем направление для линии домов.
Рандомайзим длину линии.
Двигаемся вперед с шагом 192 и спавним дом (или палатки или тенты) или два дома влево вправо, либо делаем пропуск.
Спавним со сдвигом влево или вправо забор.
Спавним со сдвигом влево или вправо фонари бочки или другие пропсы.

• 3.Спавним стены читая CityWalls.
Спавним ассет стены (с условиями: тип стены, тип крыши, тип дверей).
На поворотах башня, на прямой лини стена.
Используем доп. условия. Например можно поставить ворота?, какой тип крыши? итд.
К каждой стене снаружи и внутри может быть заспанен пропс.
У пропров есть параметры:
шанс спавна, шанс на повторение в следующем блоке стены, особый поворот или офсет и прочие.