А что если сделать опциональный режим, чтобы протестировать, в котором боты будут в точности повторять маршрут игрока, каким бы не стандартным он ни был.
Есть моменты, когда боты используя свои маршруты тратят много времени на обходы препятствий или банально подставляются врагу.
Вот пример, окна на вокзале. Да они высоко, но к ним ступенька и в целом игрок спокойно пролезает в него. Но боты следуя за игроком идут в обход, до пролома стены справа или к двери слева. и эти направления могут быть фатальны для ботов.
Выскочив наружу, боты не спешат выходить в окно за тобой, хотя там не высоко и так безопаснее, они снова ищут “легальный проход”
Но некоторые окна боты распознают как проходы.
Что если ботов научить в точности повторять маршрут игрока?
Чтобы они бежали стройно колонной за игроком, повторяя его движения. Перепрыгивая окоп там же где игрок, пролизать в то окно в которое пролез игрок и повторять в точности его движение, чтобы не застрять.
Понятное дело, что боты плохо умеют лазать в некоторые окна/проломы или забираться на уступы. По этому я предлагаю сделать, чтобы они в точности копировали маршрут игрока игрока ( а может даже заставить игру протаскивать ботов по координатам игрока с повторением анимаций в нужных местах, чтобы они точно не застряли).
Как это мне представляется.
В небольшой области рядом с игроком, боты ведут себя как обычно (симулирую активную деятельность).
Когда игрок отдаляется от ботов, те боты которые покидают зону ищют маршрут к точке в которой был игрок в этот момент.
Далее боты боты идут по маршруту игрока “нога в ногу” полностью копируя
Подходя к игроку боты должны подойти к игроку на более близкую дистанцию, прежде чем включать обычное поведение, чтобы избежать ситуации когда ты прыгнул в окно и остановился, а боты недостаточно приблизившись решили пойти в обход
Если игрок ставит приказ “занять позиции” рядом с собой (в оранжевом круге) то боты сначала следуют к месту где стоял игрок а потом к точке приказа. Если приказ отдан дальше, боты сходят с “рельс” игрока
В случае контакта с врагом, боты могли бы искать укрытие в определенной области вокруг места, где они были потревожены. или же просто делать пару шагов от маршрута, и ложиться/приседать Если их застали на открытой местности. В случае удачном случае после контакта, боты возвращаются теми же путями на “рельсы” и продолжают бежать за игроком
В теории может быть такая ситуация, когда ботам было бы быстрее пройти по прямой, а не следовать маршруту. Однако с такой механикой боты не должны отставать, и в теории он всегда будут рядом. Если не застрял игрок то боты должны пройти как по рельсам с той же скоростью.
Но в случае пересечения своего пути игроком, боты могли бы “отрезать” лишний путь
Это на самом деле спорная функция, и местами может показаться нелепой, когда боты колонной друг за другом перепрыгивают препятствие, потому что так сделал игрок.
Однако оно может избавить от моментов, когда боты оббегают здания со стороны врага, не идут в окопе, забегают умереть в серую зону ( актуально для партизан, когда обошел красную зону а боты решили дружно в ней умереть.
Поскольку это не выглядит идеальным решением проблемы я предлагаю сделать это включаемой опцией в меню отряда.
По умолчанию будет стандарт, как сейчас.