Stronghold Kingdoms
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


Этот форум самый лучший помошник в игре Stronghold Kingdoms
 
ФорумПоследние изображенияПоискРегистрацияВход

 

 Интелект юнитов

Перейти вниз 
АвторСообщение
Admin
Admin



Сообщения : 10
Дата регистрации : 2013-09-27

Интелект юнитов Empty
СообщениеТема: Интелект юнитов   Интелект юнитов EmptyПт Сен 27, 2013 5:33 pm

Попробуем проанализировать интеллект поведения юнитов. Используется некоторый алгоритм поиска пути на плоскости с весом. Поиск происходит в циклах, во время которых юниты смещаются в клетку с меньшим, для определенности, весом. На кажом шаге, для каждого юнита рассчитывается есть ли для него такая клетка, она должна быть не занята для возможности перемещения. Веса рассчитываются до некоторой опорной точки у донжона. Сам донжон соответственно весит очень много, чтоб юниты не могли находиться в его клетках (кроме понятно сердцевины), ни при каких обстоятельствах.

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

Логично проводить построение от опорной точки донжона к краям. Задавая ей некоторый вес, рассчитываем все остальные клетки по принципу: общий вес клетки = наименьший вес ее соседей + вес части здания-юнита-пустого простанства этой клетки (такой вес назовем дополнительным). При программировании логично иметь матрицу весов замковых построек для удобства. Вес пустой клетки нужен, например, для инициации перемещения за пределами замка.

Дополнительные веса, вероятно, берутся в зависимости от показателя прочности (сколько ударов выдерживает объект против мечника-пикинера и тд) или в таком-же соотношении. Вес пустой клетки допустим 1. Пустые клетки в и снаружи замка по логике имеют одинаковый вес. Башня, из-за неразрушимости обычными войсками, должна иметь значительный вес, например, превосходить максимум из любых разрушимых объектов на всей карте. Все клетки башни равны, для любого типа башен, так как дополнительную разницу вводить не логично. Соответственно вес башни состоит из веса всех ее клеток, и пожалуй все клетки стоит брать целочисленными. Минимальная башня — 2 на 2 итого на 4 клетки должен приходится такой значительный вес.

Общая карта весов обновляется при передвижении юнитов, разрушении ими структур и при разрушении структур баллистами.

Особенности поиска пути:

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


Интелект юнитов 122


Посмотрим некоторое поведение юнитов:


Интелект юнитов 124


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

видно приоритет У координаты. Юнит отмеченный красной точкой избирает путь отмеченный синим вначале инициируя диагональное перемещения и меняя координату У.

Посмотрим на следующие изображения:


Интелект юнитов 125


Интелект юнитов Untitl10


Здесь мы убеждаемся в действительности что рассчет по X происходит слева направо и координатная прямая У действительно слева. Если бы первым передвигался юнит у границы, то последующий юнит передвигался бы тоже прямо а не ходил в обход.

На схеме ярко красным обозначен первый юнит, точка его перемещения синяя. Красным и светлосиним остальные юниты и их перемещение по диагонали.

Итого имеем следующую иллюстрацию для поля с произвольным замком:


Интелект юнитов 126


Вернуться к началу Перейти вниз
https://stronghold-kingdoms.profiforum.ru
 
Интелект юнитов
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Stronghold Kingdoms :: Информация о юнитах и обороне деревень-
Перейти: