Автор разбирает и переосмысляет систему приказов в своей тактической игре про автосражения флотов.
В Gratuitous Space Battles (автобаттлер про большие космические флоты) система приказов была запутанной: множество ордеров на уровне корабля (а не отдельных орудий) неочевидно взаимодействовали, и игроку было непонятно, как именно выбирается цель для выстрела. При этом ключевая фишка игры — большие флоты с множеством кораблей, поэтому давать приказы на уровне каждого оружия считается избыточным усложнением.
В новой игре Ridiculous Space Battles (развитие идей GSB) автор перерабатывает систему и добавляет новые типы приказов под изменившийся геймплей.
Новые приказы
- Raider — для истребителей: корабль вырывается вперёд флота на заданную дистанцию и вступает в бой.
- Last Defense — фокусирует огонь по вражеским кораблям, которые дальше всех прорвались через ваши линии.
- Breakthrough — предназначен для «пробития» обороны: стреляет только по кораблям прямо перед собой (в своей «строке» построения).
Структура новой системы приказов
Приказы делятся на категории с цветовой кодировкой и приоритетами.
- Специальные приказы (пример — «атаковать на дистанции 2 клетки»): это приказы движения, они независимы от логики выбора цели.
- Синие приказы — «Discriminators / Tie-breakers»: Co-operate, Vulture, Retaliate, Breakthrough, Last Defense. На корабль можно повесить только один такой приказ. Они применяются в конце — когда уже есть список подходящих целей, этот приказ решает, по какой именно стрелять (например, Co-operate выбирает цель, по которой уже ведут огонь союзники).
- Зелёные и жёлтые приказы — Target Criteria / Filters: описывают классы целей (истребители, фрегаты, крейсеры) и состояние защиты (щит цел, щит сбит — броня цела, голый корпус). Эти приказы упорядочены по приоритету. Игрок может удалить критерий, чтобы корабль никогда не стрелял по таким целям.
Алгоритм выбора цели
Базовый шаг: корабль строит список всех вражеских кораблей в радиусе и секторе обстрела, которые удовлетворяют хотя бы одному из критериев.
Дальше возникает ключевая развилка дизайна:
- Вариант A: идти по списку критериев сверху вниз, и как только найден хотя бы один подходящий корабль — остановиться и применить Discriminator для выбора лучшей цели из этого поднабора.
- Вариант B: последовательно проходить все критерии, каждый раз «ужимая» список целей (фильтруя его по текущему критерию, если остаётся ≥1 цель), и только в самом конце применять Discriminator к финальному списку.
Автор приводит примеры с 4 крейсерами и 12 фрегатами под щитами, показывая, как в одном случае выбор останавливается на «любых кораблях с щитами», а в другом — постепенно сужается до конкретного класса (например, только фрегаты), и признаёт, что сам пока не уверен, какой вариант лучше с точки зрения понятности для игрока.
Основная проблема — сложность объяснения этой логики без перегруженных туториалов. В GSB система была полностью непрозрачной, но игра всё равно хорошо продавалась, однако теперь автор хочет сделать поведение кораблей более предсказуемым и управляемым. Он отмечает, что часть игроков хотела бы буквально писать код для ИИ кораблей, но считает, что это уже превращает игру в работу, а не в развлечение.
Из очевидных улучшений автор фиксирует необходимость явно показывать приоритеты у зелёных/жёлтых критериев и, возможно, переименовать их из Criteria в Filters для лучшего понимания. Остальное он планирует ещё обдумывать.
Выводы
- Система приказов в GSB была мощной, но непрозрачной; новая версия нацелена на предсказуемость и управляемость.
- Приказы разделены на фильтры целей и один финальный «дискриминатор», решающий, по кому стрелять.
- Добавлены новые поведенческие роли (Raider, Last Defense, Breakthrough) под изменившийся геймплей.
- Ключевая дизайн-дилемма — как именно применять приоритетные фильтры: останавливаясь на первом срабатывании или последовательно сужая список целей.
- Автор стремится сохранить глубину без превращения настройки ИИ кораблей в «программирование» для игрока.