К содержимому
Документация
На этой странице

ИИ-ассистент

ИИ-клиент с поддержкой MCP может править уровень, открытый в редакторе, у вас на глазах. Каждый пакет ИИ - один шаг отмены, а публиковать, удалять файлы и писать поверх другого уровня ИИ не может

Для этого игра на Windows, Linux и Mac поставляется с MCP-сервером. ИИ правит теми же операциями, что и вы, поэтому каждое изменение сразу видно во вьюпорте и попадает в историю, как ваше собственное

Подойдёт любой клиент с поддержкой MCP, например чат-приложение или ассистент для кода. Ничто в игре не привязано к одному ИИ

Подключение клиента

  1. Откройте Настройки → Редактор уровней → ИИ-агент (MCP)
  2. Поставьте галочку Разрешить подключение ИИ. Строка состояния под настройками показывает порт, который слушает редактор
  3. Нажмите Копировать конфиг клиента. В буфере обмена окажется конфиг клиента с уже заполненными путями
  4. Вставьте его в настройки MCP-серверов вашего клиента
  5. Откройте уровень в редакторе или попросите ИИ самого открыть редактор или уровень

Скопированный конфиг выглядит так:

{ "mcpServers": { "bullet-hero": { "command": "<path to BH.MCP>", "args": ["--endpoint", "<path to endpoint.json>"] } } }

Файл сервера BH.MCP лежит рядом с игрой:

СистемаФайл сервера
Windows<папка игры>/BH.MCP.exe
Linux<папка игры>/BH.MCP
Mac<game>.app/Contents/Resources/mcp/osx-arm64/BH.MCP, на Intel osx-x64 вместо osx-arm64

Подключиться может только этот компьютер и только один клиент за раз. На телефонах и планшетах раздела MCP нет: ассистент работает только на компьютере

Можно запустить несколько копий игры сразу. ИИ работает в последней запущенной, пока вы не попросите переключиться, и может показать список всех. Каждая копия по-прежнему принимает одного клиента. Для нескольких копий оставьте Порт равным 0: две копии не могут слушать один порт

Что ИИ может и чего не может

ИИ может почти всё, что можете вы:

  • читать уровень: иерархию, объекты, ключи, события и ресурсы
  • создавать, менять и удалять объекты, ключи, маркеры, чекпоинты, аудиодорожки и сетку ритма
  • запускать генераторы, упаковывать и размещать префабы, работать в режиме префаба
  • импортировать в уровень файл текстуры, шрифта или звука
  • заполнять запись об атрибуции файла текстуры, шрифта или звука после импорта: название, описание, ссылку, источники и авторов - Карточка ресурса
  • брать готовые темы, шрифты и звуки интерфейса самой игры. resources_list помечает их как игровые, импортировать их не нужно. Готовых эффектов игра не поставляет: ИИ ставит эффект, который уже есть в уровне, или создаёт новый
  • рисовать любой контур как фигуру уровня по его углам, красить фигуру градиентом, задавать тексту шрифт и выравнивание, создавать и править темы уровня
  • отменять и повторять, сохранять открытый уровень, открывать другой уровень, создавать новый
  • запускать и ставить на паузу проигрывание, как ваша кнопка воспроизведения
  • переводить игру на другой экран, например в редактор, на уровень или в настройки, теми же аргументами, что и при запуске - Аргументы запуска
  • запускать игру, если она не запущена, когда сервер лежит рядом с установленной игрой и MCP уже включён

Забег, начатый так, попадает в статистику как любой другой, поэтому ИИ начинает его только по вашей просьбе

Не может:

  • публиковать в Мастерскую Steam
  • удалять уровень или любой файл
  • писать поверх другого уровня или другого файла. Импорт, имя файла которого уже занято, отклоняется
  • открывать уровень только для чтения или защищённый уровень, пароль которого вы не вводили в этой сессии
  • открывать другой уровень, пока в открытом есть несохранённые правки

Один пакет ИИ - один шаг истории. На вкладке История он виден как Пакет ИИ с подписью, которую дал ему ИИ. Один Ctrl+Z убирает весь пакет. Подробнее об истории - Настройки уровня › История

ИИ никогда не кладёт два объекта на один слой, пока оба играют. Если пакет так сделал бы, он поднимает более поздний объект на следующий свободный слой в том же шаге и сообщает об этом. Исключение - содержимое префаба: оно может делить слои с остальным уровнем

Первый пакет ИИ, который меняет уровень, ставит в его ИИ-генерация значение Сгенерировано ИИ, в том же шаге. Отмена пакета возвращает и его. Подробнее - Метаданные и как поделиться › ИИ-генерация

Приоритет за вами

ИИ никогда не борется с вами за редактор:

  • пока вы тянете ручку гизмо или перематываете таймлайн, правки ИИ отклоняются, и он ждёт и пробует снова
  • плейхед ИИ берёт только тогда, когда вы ничего не делаете: не играете, не тянете, не печатаете, не сохраняете
  • редактор начинает проигрывать уровень сразу при открытии, поэтому ИИ может поставить его на паузу, чтобы посмотреть кадры. Уровень, который ИИ открыл или создал сам, остаётся на паузе. Если вы смотрите проигрывание специально, ИИ сначала спросит
  • если тронуть редактор, пока ИИ смотрит кадр, ИИ сразу останавливается. Плейхед остаётся там, куда его поставили вы
  • пока идёт переход по истории, ИИ тоже не может править

Пока клиент подключён, в правом верхнем углу вьюпорта, под кнопками поиска, виден значок AI. Его цвет - состояние: зелёный - подключён, жёлтый - ИИ работает, красный - последний вызов ИИ закончился ошибкой. После отключения клиента значок держится ещё 30 секунд, чтобы ИИ, который подключается заново на каждый шаг, не мигал. Он скрывается вместе с инструментами вьюпорта. Наведите на него, чтобы прочитать состояние словами: ИИ подключён, а пока ИИ работает, - подпись того, что он делает. Крестик рядом отключает клиента и не пускает его, а значок пропадает

Остановка не сохраняется. Её снимает выключение и повторное включение Разрешить подключение ИИ или перезапуск игры

Что видит ИИ

ИИ смотрит на уровень двумя способами:

  • схема. Картинка любого кадра, посчитанная вне экрана. Плейхед она не двигает. На ней фигуры и хитбоксы, но нет текстов и эффектов
  • снимок. Настоящие пиксели, ровно как рисует уровень, снятые через ваш плейхед. На мгновение плейхед прыгает на этот кадр, а оверлеи редактора скрываются. Потом плейхед возвращается туда, где вы его оставили, если не включено Плейхед следует за ИИ. Кадр строит камера уровня, а не камера редактора. Чтобы рассмотреть деталь вблизи, ИИ может вместо этого снять прямоугольник мира. Уровень при этом не меняется

Снимок эффекта после прыжка близок к тому, что показывает непрерывное проигрывание, но не всегда совпадает с ним

ИИ не слышит музыку. Он превращает трек в числа: темп, доли, такты, секции, громкость каждой полосы частот. Это оценка с уверенностью, и она может ошибаться, например вдвое по темпу в одну или другую сторону. Сетке ритма, которую вы задали в уровне, доверяют больше, чем оценке ИИ. В сетке, которую ИИ предлагает по анализу, темп в пределах 0,01 % от целого числа округляется до него, а смещение всегда короче одного такта. Предложение по части трека берёт темп этой части, поэтому трек со сменой темпа получает по сегменту на каждый темп

Поэтому, когда важна точность, ИИ может попросить вас послушать. Он проигрывает в редакторе отрезок до 45 секунд, и это тоже двигает плейхед. Тронете редактор - проигрывание остановится там, где было

Пока звук редактора выключен, ИИ ничего не проигрывает и просит вас включить звук

Действия самого ИИ не издают звуков интерфейса: отмена, сохранение или отказ, которые он вызвал, проходят тихо. Слышно только то, что он проигрывает намеренно

Папка ai

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

Что там лежит:

  • CONTEXT.md - задача, музыка, план секций, решения, ваши замечания и открытые вопросы
  • другие файлы, которые ИИ решит хранить, только .md или .json
  • manifest.json - передаётся ли папка вместе с уровнем. ИИ менять его не может

Папка появляется, только когда ИИ впервые есть что записать. Один файл - до 256 КБ, вся папка - до 1 МБ. Это обычные текстовые файлы: их можно читать, править или удалять самому

Предупреждение

Папка ai не входит в историю уровня. Ctrl+Z не отменяет то, что ИИ туда записал

По умолчанию папка уходит вместе с уровнем: в экспортированный архив и в загрузку в Мастерскую Steam. Чтобы оставить её у себя, снимите галочку Передавать ИИ-контекст вместе с уровнем на вкладке Метаданные настроек уровня. Галочка появляется, когда папка уже есть. Она сразу сохраняется в файл, поэтому Ctrl+Z её тоже не вернёт

Режим экспорта с паролем никогда не берёт папку, что бы ни стояло в галочке. Подробнее - Экспорт и защита › Экспорт уровня

Копия уровня на этом устройстве забирает папку с собой: копия - это не передача

Настройки

Все они в Настройки → Редактор уровней → ИИ-агент (MCP) и хранятся только на этом устройстве:

  • Разрешить подключение ИИ - может ли клиент вообще подключиться. По умолчанию выключено
  • Порт - порт, который слушает редактор. 0 выбирает свободный при каждом запуске
  • Плейхед следует за ИИ - включено: после снимка плейхед остаётся на кадре, который смотрел ИИ, на паузе
  • Показывать правки ИИ - после каждой правки ИИ выделяет и показывает то, что он создал или изменил
  • Задержка операций ИИ, секунды - сколько редактор ждёт между двумя операциями ИИ, чтобы за ними можно было следить. 0 - каждая применяется сразу

Все настройки и их значения по умолчанию - Настройки редактора › ИИ-агент

Дальше: Не потерять работу, Экспорт и защита