Обнаружил такую штуку.
вначале по таймеру через каждые 3 секунды начинают спаунится мобы и тут же получают приказ атаковать выбранную цель (пехотинца). Сначала всё идёт нормально, мобы исправно бегут скопом атаковать пехотинца, но в определённый момент, когда их становится слишком много, появляется такая аномалия: при движении пехотинца, все мобы перестают двигаться (но они поворачивают "лицо" на него, остаются "активными" и будут атаковать если подойти близко). До тех пор, пока пехотинец получает приказы двигаться в разные точки (через райтклик мышкой), мобы будут просто стоять на месте, но как только пехотинец остановится, мобы моментально бегут атаковать его. При возобновлении перемещения пехотинца, мобы опять стаггерятся. Собственно, вопрос: как это решить? Увеличить время таймера на спаун, или уменьшить количество мобов при спауне? Или и то и другое? Суть карты в том, что игрока атакует ОРДА (то есть очень много мобов одновременно), но, насколько я понимаю, движок варкрафта под такое не приспособлен? Или можно это решить используя не GUIшный вариант?

Раздели количество юнитов на ИИ игроков за которых их спавним.
Set MaxNr1 = 100 
// максимальное количество юнитов на одного ИИ //
If 
UnitCountGroup1 <= MaxNr1
then 
Create 1 unit for Player 1 AI
Set UnitCountGroup1 + 1
// не забываем Set UnitGroup1 -1 когда юнита убивают // 
Else
if 
UnitCountGroup1 => MaxNr1
Create 1 unit for Player 2 AI
Set UnitCountGroup2 + 1
Повторяем процесс в зависимости от того сколько тебе нужно.
я описал так на словах , думаю как реализовать ты поймешь , и не забывай удалять утечки
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
Вряд ли это можно решить, во многих картах такие проблемы, скорее всего просто идёт перерасчёт маршрутов для юнитов каждые 0.01 сек, вот и тормозят при больших количествах

ну.. можно конечно уменьшить кол-во юнитов, сделав их просто сильнее, это поможет
28
Не надо спамить юнитов пачками. Даже СК2 не видерживает.
28
Принятый ответ
Раздели количество юнитов на ИИ игроков за которых их спавним.
Set MaxNr1 = 100 
// максимальное количество юнитов на одного ИИ //
If 
UnitCountGroup1 <= MaxNr1
then 
Create 1 unit for Player 1 AI
Set UnitCountGroup1 + 1
// не забываем Set UnitGroup1 -1 когда юнита убивают // 
Else
if 
UnitCountGroup1 => MaxNr1
Create 1 unit for Player 2 AI
Set UnitCountGroup2 + 1
Повторяем процесс в зависимости от того сколько тебе нужно.
я описал так на словах , думаю как реализовать ты поймешь , и не забывай удалять утечки
28
Roy Mustang, вот это верный совет, я в своей карте похожее использую.
26
Можно фейкать дальних мобов, и превращать их в реальных, когда они оказываются близко к пехотинцу, через "стадо". youtu.be/ShVFHuc6-AU
Чтобы оставить комментарий, пожалуйста, войдите на сайт.