Позиционика боя
Статус: круг вердиктов закрыт (2026-07-26). Все пункты
P1-P22разобраны — принятое отмечено явно, отклонённое оставлено с причиной. Открытыми остаются только темы из раздела Не обсуждали; числа (5 сек агро, +20%/+40% за тыл) — черновые, к ревизии при балансе.
Задача
Юниты не должны стоять втроём в ряд перед целью и тупо бить. Нужны реальные позиционные действия, которые влияют на бой, а свободное время между атаками тратится осмысленно.
Три критерия отбора:
- Читаемо — игрок понимает, почему юнит пошёл, без объяснений.
- Не бесит — не выглядит как баг, глупость или потеря урона впустую.
- Тактично — влияет на исход, а не изображает влияние.
Третий критерий — следствие спора по ходу обсуждения: движение, которое выглядит тактическим, но ни на что не влияет, читается игроком как обещание механики. Обещание оказывается ложным, и дальше игрок перестаёт верить картинке вообще. В игре, где он наблюдает и не вмешивается, картинка — единственный канал, и ложный телеграф обходится дороже пустого экрана.
Архитектурный принцип: поведение — это набор AI-блоков
Главный вывод обсуждения, снимающий большинство споров «нужно ли поведение X всем»:
Поведение — набор переключаемых блоков. Класс задаёт дефолтный набор, конкретный юнит его переопределяет.
Правильный вопрос про любое поведение ниже — не «нужно ли оно», а «кому оно включено по умолчанию». Ложится на записанную схему Filter / Score / Override (модель AI-настроек, настраивается вне боя).
Примеры, которые этим уже закрыты: призыватель с фланкёрами выключает «держаться за призывами»; отступление дальника отключается для конкретной роли; отклонённая «линия огня» может вернуться как уникальная настройка одного персонажа.
Слой A: слоты вокруг цели — принято
У каждой цели есть набор точек боевого контакта по окружности; атакующий занимает свободную. Окружение — общая механика для всех мили-классов. Отдельного «приказа обходить» не требуется: спереди занято — заходишь сбоку.
Технические решения — приняты:
P1. Слот — это угол, а не точка в пространстве. У копейщика и мечника разная дальность атаки. Если слот — точка, копейщик встанет вплотную и потеряет свою дальность. Если слот — сектор направления, юнит идёт на свой угол и встаёт там на своей дистанции.
P2. Число слотов зависит от размера цели. Размер юнита уже влияет на радиус тела и досягаемость — тот же вход. Босса окружают шестеро, мелкого гоблина двое.
P3. Резервация слота детерминирована. Назначение по фиксированному приоритету (порядок
юнитов, расстояние), без Random — иначе повтор боя разойдётся.
Существующее расталкивание эту задачу не решает: оно разводит тела физически, но не создаёт намерения.
Слой B: зона контроля — ОТКЛОНЕНО
Рассматривалась механика «вступивший в ближний бой залипает и не может проскользнуть мимо».
Отклонено. Проход сквозь строй свободный. Юниты не держат друг друга и не блокируют перемещение.
Возражение «без зоны контроля обход бессмыслен, ведь можно пройти напрямую» снято: обход оправдан не преградой, а выгодой — см. слой C. Убийца выбирает более долгий маршрут осознанно, потому что удар в спину сильнее, а не потому что его куда-то не пускают.
Слой C: фланг и тыл — принято
Атака сбоку и со спины даёт бонус. Он и делает обход осмысленным.
P4. Бонус — голый урон, с разными числами по ролям (принято):
| Кто бьёт в тыл | Бонус |
|---|---|
| Обычные юниты | +20% |
| Фланкёры | +40% |
Вариант «снижать броню вместо урона» рассмотрен и отклонён — лишняя сложность. Разные числа делают работу сами: удвоенный бонус у фланкёра — это его механическая идентичность, выраженная прямо в цифре, без отдельного правила.
P5. Обход у Убийцы — это AI-тактика выбора маршрута, а не отдельная механика. Принято в изменённом виде: оценивается «идти дольше, но зайти в спину и нанести больше урона». Обычный мили в это не играет — он просто занимает свободный слот.
Условие против вырождения: целенаправленный обход включается, только если Убийца уже дерётся в ближнем бою и фокусит кого-то ещё. В бою один на один обход отключён — иначе двое будут бесконечно кружить друг вокруг друга, и это читается как баг.
Танк: удержание линии — принято
Две связанные механики, вместе дающие настоящую линию фронта без зоны контроля.
Агро-автоатака. Автоатака танка принудительно переводит фокус цели на него самого.
| Параметр | Значение |
|---|---|
| На кого действует | на всех, кроме танков (два танка не перетягивают друг друга) |
| Длительность | 5 секунд (черновое число), затем фокус свободен |
Ограничение по времени намеренное: агро спадает, враг снова рвётся к бэклайну, и танку нужно бить его повторно. Танк работает весь бой, а не привязывает цель одним ударом навсегда.
Перехват. Если кто-то идёт мимо танка — выбрал целью союзника за его спиной, а не самого танка — танк пытается встретить его и автоатаковать.
Связка работает так: прорывающийся получает удар на подходе, агро переводит его фокус на танка, прорыв срывается. Проход при этом остаётся физически свободным — линию держит угроза, а не стена. Это и есть замена отклонённого слоя B, полученная более дешёвым способом.
Контр-игра — по замыслу. «Скрытность» Убийцы сама по себе защищает от агро, поэтому окно прорыва у него есть, но ограничено (начало боя и после убийства). Соответственно развеять скрытность и следом сагрить — валидная тактика, а не дыра в дизайне.
Каталог поведения по ролям
P9 — дальник. Базовое поведение: удерживает дистанцию, пока враг идёт через арену, и выигрывает лишние выстрелы. Дополнительно: если милишник выбрал его целью — некоторое время пытается убегать, ограниченно по времени, затем смиряется и стреляет.
Оговорка по арифметике: РДД и Поддержка имеют скорость 75%, самый медленный мили (Танк) — 85%, Убийца 110%. Бэклайн медленнее всех мили-классов, поэтому побег — заведомо проигранная гонка. Чтобы это читалось как драма, а не как глупость, ограничение по времени обязательно.
Предложение, вердикта нет: пусть бежит не от врага, а к своим — за танка, к центру строя. Тогда это не побег, а зов о помощи с достижимой целью, и работает на записанное правило «бэклайн не кайтит сам, его защищает строй».
P10 — отклонено. Как постоянное поведение даёт мелкую суету стрелков. Вопрос закрыт окончательно: снаряды летят сквозь союзников, физической блокировки нет. Может вернуться как уникальная способность отдельных персонажей — но не как общая механика.
P13 — с оговоркой. Поведение зависит от того, кого призыватель призывает: если он поднимает фланкёров, прятаться за ними бессмысленно. Дефолт включён не для всех — конкретный юнит переопределяет (см. принцип AI-блоков).
Изворотливость Убийцы: кувырок и рывок — принято
Дополнение к уже существующей механике The Verdict — «Изворотливость» (активный, 2 заряда, игнорирует следующую автоатаку, КД 5 сек). Трата заряда теперь позиционное событие:
- кувырок с уходом с места;
- ускорение на 100% в течение 1 секунды после него.
Смысл: уклонение не просто гасит урон, а даёт Убийце занять хорошую позицию — оторваться, дойти до нужной цели, зайти в спину.
Направление кувырка = направление текущего намерения юнита. Это ключевое правило, и оно делает механику всегда полезной:
| Ситуация | Куда кувырок |
|---|---|
| Бьёт цель вплотную, она же его атакует | от неё |
| Движется куда-либо (к цели, в обход, отступая) | в сторону своего движения |
То есть уклонение никогда не сбивает план юнита — оно ускоряет его в ту сторону, куда он и так шёл. Отдельного сброса цели у противника не требуется: разрыв дистанции происходит сам.
Каноничен ли рандом: нет и не нужен — «Изворотливость» работает на зарядах и кулдауне, то есть детерминированно, и принцип «ноль выходного рандома: нет крита, промаха, уклонения» (Difficulty & Skill, Pitch) не нарушается.
Пять правил, чтобы позиционика не бесила — приняты
P14. Движение никогда не откладывает готовый удар. Кулдаун пришёл — юнит бьёт с того места, где стоит, манёвр обрывается немедленно. Простаивающий ДПС читается как поломка.
P15. Манёвр не начинается, если окно короче его длительности. Иначе вместо жеста получатся дёрганые обрывки.
P16. Гистерезис против дёрганья. Решение о перемещении принимается редко и только при заметной разнице в оценке.
P17. У каждого перемещения — видимая причина. Игрок должен уметь сказать вслух, почему юнит пошёл. Движение по невидимому внутреннему скорингу неотличимо от бага.
P18. Никакого предзнания и проигранных гонок. Юнит не уклоняется от того, что ещё не случилось. (Побег дальника — сознательное исключение, удерживаемое ограничением по времени.)
Отложено: P19-P22
Предложены и отложены (решение 2026-07-26, ночь-2, п.6): по сути это не позиционика, а смежные боевые механики, затащенные сюда за компанию. Не отклонены — оставлены записанными и вернутся отдельным заходом.
- P19. Смыкание строя — передний юнит умер, соседи закрывают дыру.
- P20. Добивание — переключение на почти мёртвую цель рядом.
- P21. Продавливание фронта — перевешивающая мили-линия оттесняет врага.
- P22. Репозиция после большой способности — отдача и смена стойки после ульты.
Оставлены записанными: если тема вернётся, начинать отсюда.
Цена, которую надо заложить
Перемещение между слотами тратит время, которое юнит не бьёт. Позиционика режет общий DPS — не как баг, а по своей природе. Это придётся учесть в балансе, иначе бои перестанут укладываться в ориентир 90 секунд.
Побочная выгода: темп боя
Обсуждение началось с другого вопроса — почему бои в референсах (Gladiator Guild Manager, Teamfight Manager) при красивых анимациях иногда ощущаются медленными. Вывод: дело не в скорости удара, а в плотности событий — вяло становится там, где между ударами экран пуст.
Позиционика закрывает это честно: когда слоты освобождаются, цели умирают, а Убийца ищет спину, юниты перестраиваются постоянно и по делу. Живой экран получается из механики, поэтому игрок читает движение правильно и ложного телеграфа не возникает.
Смежные рычаги темпа (proposed, вне этого документа): расфазировка первого удара из сида боя
(отряд перестаёт бить залпами), неоднородность темпа по классам, микро-жизнь в простое.
Диагностика: если играть комфортно только на ускорении ×2 — базовый темп сломан, а ускорение
это маскирует.
Не обсуждали
- Как позиционика стыкуется со способностями (каст с места? прерывание манёвра кастом?).
- Призывы как позиционный инструмент (стена, отвлечение) — за пределами P13.
- Геометрия арены: узкие места, препятствия, возвышенности. → Принято достраивать (2026-07-26): это четвёртая подпорка расстановки, начинаем с одного типа точки интереса. Кандидаты и рекомендация — Meta - Open Forks §A2; тип ждёт вердикта.
- Влияет ли позиционика на расстановку до боя (сейчас это ключевое решение игрока).
- Перебивание агро: что если два танка бьют одну цель — держит первый или перебивает последний.
- Балансные числа: 5 секунд агро, +20%/+40% за тыл, длительность побега дальника.
- Как враги встают вокруг цели, чтобы это выглядело окружением, а не толпой (заявка Макса
2026-07-29). Механически слоты боевого контакта это уже решают — вопрос подачи: юниты должны
занимать слоты по дуге и доворачиваться к цели, а не сбиваться в точку. Пограничная тема: слоты —
симуляция, красивый подход — презентация (контур
gamefeel-vfx), и владелец факта «где стоит юнит» обязан остаться один — симуляция.
Связь: Combat - System (принцип боя, таймер), Combat - Stats (классы, скорости), The Verdict (Assassin) (Изворотливость), Модель AI-настроек (блоки поведения), Vision - Character Animation (анимации манёвров).