AI-мастер игры: проведите сессию RPG с AI-мастером подземелий
Создайте собственного AI-мастера игры
AI-мастер игры ведёт мир, НПС и правила, чтобы вы просто играли. Попробуйте сессию RPG под управлением AI прямо в браузере — без стола, без подготовки, без кода.
AI-мастер игры — это среда выполнения, которая хранит состояние мира, озвучивает НПС, разрешает правила и реагирует на то, что вы пытаетесь сделать, — чтобы вы играли, а не готовились. В Neta Studio AI-мастер игры работает внутри настоящего 3D-мира в браузере, а не в окне чата. Вы пишете или говорите, что делает ваш персонаж; мир меняется.
Этот термин охватывает несколько разных задач. Если вам нужна сессия RPG в духе подземелья, AI-мастер игры создаёт комнаты, населяет их и разрешает бой. Если вам нужен конструктор MMORPG, те же системы масштабируются до постоянных общих миров с множеством игроков. Общий механизм — это цикл: прочитать состояние, создать повествование или действие, записать состояние обратно. Эта страница рассказывает, как этот цикл работает на самом деле, где он ломается и как собрать самую маленькую играбельную версию самостоятельно.
Краткий ответ
AI-мастер игры — это слой систем, который заменяет учёт у человека-арбитра, а не его суждение. Он отслеживает хиты, инвентарь, позиции, флаги квестов и время. Он генерирует или выбирает реплики НПС. Он разрешает броски и применяет их исходы. Он реагирует на любое действие, которое пытается совершить игрок, в рамках ограничений модели мира. Всё это работает непрерывно, пока игрок находится в сессии.
Это не замена хорошему человеку-мастеру. Человек-мастер читает атмосферу за столом, замечает, когда игроку скучно, изгибает правило, чтобы история не угасла, и помнит случайную деталь из шести сессий назад, потому что она была важна кому-то. AI-мастер убирает время на подготовку, убирает необходимость в том, чтобы ещё четыре человека были свободны в один и тот же вечер, и убирает паузу на поиск правила. Он не убирает ценность стола, где все знают друг друга.
Для задач RPG в духе подземелья и конструктора MMORPG ответ по сути один: хранилище состояния мира, решатель правил, слой НПС и пространственный мир. Разница в масштабе. Сессия подземелья для одного игрока работает с одним объектом состояния. Мир MMO работает с одним каноническим состоянием, которое читают и записывают множество клиентов, а это порождает проблемы общего состояния и модерации, о которых речь пойдёт позже.
Что делает AI-мастер игры
AI-мастер выполняет четыре задачи каждый ход. Если хотя бы одной из них нет, сессия ощущается сломанной вполне определённым, диагностируемым образом. Режимы отказа предсказуемы, и это полезно, когда вы настраиваете один из них.
Четыре задачи ниже — это минимально жизнеспособный цикл. Всё остальное — озвучка, генерация графики, музыка — украшение поверх них.
Хранить состояние мира
Состояние — это последняя зафиксированная истина: кто где, что у них с собой, что убито, что открыто, который час. В мире Neta Studio это хранится как граф сцены плюс хранилище «ключ — значение». Позиция НПС — это трансформ. Флаг квеста — логическое значение. Топливо факела игрока — целое число, которое уменьшается каждый тик. Когда AI-мастер рассказывает, он рассказывает из состояния, а не из краткого изложения промпта, которое он смутно помнит.
Частая ошибка: модель выдумывает деталь, которой нет в состоянии, — дверь, которую никогда не ставили, стражника, который уже убит. Исправление — сериализовать только то, что существует, и отклонять или переписывать сгенерированный текст, противоречащий жёсткому ключу состояния. Мягкие детали (погода, запах) могут быть вольными. Жёсткие детали (жив/мёртв, заперто/отперто) — нет.
Озвучивать НПС
Каждому НПС нужна стабильная персона: имя, роль, что он знает, чего он хочет и что он не скажет. AI-мастер генерирует реплики с учётом этой персоны и текущего состояния. Кузнец, который не видел игрока раньше, приветствует иначе, чем тот, кого обокрали в прошлую сессию. Именно здесь постоянный мир ощущается живым, а не случайным.
На практике вы держите отдельный буфер памяти для каждого НПС с ограничением по токенам. Когда он переполняется, вы суммируете самые старые записи в одну строку и продолжаете. Без этого ограничения длинная сессия уходит в сторону: НПС начинает противоречить более ранним репликам, потому что те выпали из контекста.
Разрешать правила
Разрешение правил — это детерминированный код, а не вывод модели. Модель предлагает действие; решатель проверяет его по набору правил и возвращает результат. «Я замахиваюсь на гоблина» превращается в бросок атаки, бросок урона и запись состояния. Затем модель рассказывает результат. Если позволить модели решать числа урона, баланс превратится в шум.
Это также делает систему отлаживаемой. Вы можете логировать каждый бросок, каждый модификатор и каждое изменение состояния. Когда игрок говорит «это не должно было попасть», у вас есть числа.
Реагировать на то, что пытается сделать игрок
Трудная часть — реагировать на незаписанный в сценарий ввод. Игрок пишет «Я бросаю фонарь в верёвочный мост». Система должна решить: есть ли фонарь в инвентаре, находится ли мост в пределах досягаемости, влияет ли огонь на верёвку, что происходит дальше. Мастер, работающий только с прозой, может всё это описать. Пространственный мастер обязан ещё и вычислить это, потому что геометрия моста и летящий фонарь оба находятся в сцене.
Цикл реакции таков: разобрать намерение в структурированное действие, проверить его по состоянию и правилам, применить эффекты, затем сгенерировать повествование из получившегося состояния. Разбор по схеме — то, что сохраняет мир согласованным. Свободное повествование без структурированного действия — место, где сессии размягчаются.
AI-мастер подземелий против человека-мастера
Честное сравнение — о том, кто выигрывает по какой оси, потому что это не один и тот же инструмент. Человек-мастер лучше читает людей. AI-мастер лучше тем, что никогда не устаёт и никогда не нуждается в календаре. Большинству групп стоит использовать оба, а не выбирать.
Таблица ниже — о том, что на самом деле различается в сессии, по опыту ведения обоими способами. Время на подготовку, импровизация, согласованность и атмосфера за столом — четыре оси, которые важны на практике.
| Ось | AI-мастер игры | Человек-мастер |
|---|---|---|
| Время на подготовку | Ноль перед сессией. Мир генерируется в начале сессии из сида и кривой сложности. | Часы на сессию, если вести хорошо. Карты, НПС, столкновения, заметки на случай непредвиденного. |
| Импровизация | Сильна внутри модели мира. Слаба вне неё — откажет или нафантазирует, если у действия нет пространственной или правиловой основы. | Сильнейший козырь. Может придумать целую фракцию на месте, потому что так чувствуется правильно. |
| Согласованность | Высокая. Одно и то же состояние, одни и те же правила, одна и та же память НПС между сессиями. Не забывает, что было на прошлой неделе. | Переменная. Зависит от заметок, памяти и сил. Часто источник и лучших историй, и худших ошибок непрерывности. |
| Атмосфера за столом | Низкая для энергии группы. Нет смеха, нет чувства момента, нет чтения атмосферы за столом. Хороша для одиночной или асинхронной игры. | Высокая. Для многих групп социальный слой и есть суть. |
| Честность правил | Детерминированная. Один и тот же бросок — один и тот же исход, с логированием. | Зависит от настроения мастера и истории. Может схитрить ради драмы. |
| Лучше всего подходит для | Одиночные сессии, игра в неудобное время, тестирование сборок, проведение одного и того же подземелья для двух разных персонажей. | Длинные кампании, арки персонажей, группы, которые играют ради общения не меньше, чем ради игры. |
Сыграйте сессию
Доказательство — это сессия, а не демо. В сессии есть цель, персонажи, которые отвечают вам, и хотя бы одно препятствие, которое можно преодолеть более чем одним способом. Вот миры Neta Studio, которые прямо сейчас работают как сессии с AI-мастером в браузере.
Каждый начинается с заявленной цели. Вас не бросают в песочницу без нити; вам дают причину двигаться и набор НПС, которые замечают то, что вы делаете. AI-мастер отслеживает ваш прогресс относительно цели и соответствующим образом меняет поведение НПС.
- The Cyclops' IslandСессия на одном острове с заявленной целью: выбраться с острова. У циклопа есть маршрут патрулирования и цикл сна. Вы можете сразиться с ним, украсть у него, приманить его или вовсе избегать. AI-мастер отслеживает, заметил ли он вас, и меняет его поведение при последующих встречах.
- Mini WorldМир поменьше, рассчитанный на короткую игру. Хорош для проверки того, как AI-мастер справляется с компактным пространством состояний: меньше НПС, меньше предметов, быстрее ходы. Полезен, когда хочется ясно увидеть цикл без большой карты.
- Agent Sprite ForgeСистема персонажей и спрайтов, которая даёт НПС зримое присутствие в мире. Когда AI-мастер озвучивает НПС, Sprite Forge предоставляет аватар и состояние анимации, так что реплики и язык тела остаются синхронными.
- конструктор 3D-игрРедактор, в котором собираются миры. Вы размещаете геометрию, задаёте персоны НПС, настраиваете кривую сложности и задаёте сид для планировки. AI-мастер работает поверх мира, который вы построили.
01
Откройте мир-сессию в браузере. Без установки, без требования аккаунта для первого запуска.
02
Прочитайте заявленную цель. Она говорит, что отслеживает AI-мастер.
03
Поговорите с НПС. Его ответ зависит от состояния, а не от фиксированного сценария.
04
Преодолейте препятствие одним способом. Если не выйдет, мир изменится — стражник насторожится, путь закроется, предмет будет израсходован.
05
Преодолейте то же препятствие другим способом. AI-мастер разрешает его по тем же правилам и записывает новое состояние.
06
Завершите сессию. Именно с этого состояния начнётся следующая, если вы продолжите.
Почему AI-мастера, работающие только с прозой, ломаются
У AI-мастера, работающего только с текстом, нет геометрии. В этом вся поломка. Когда вы пишете «Я взбираюсь на стену», нет стены с высотой, нет игрока со скоростью лазания, нет последствий, если у вас не выйдет. Модель выдаёт правдоподобное предложение и идёт дальше. Несколько ходов сессия ощущается нормально, а потом становится пустой, потому что ничто из того, что вы делаете, не может по-настоящему провалиться так, чтобы изменить пространство.
Симптом, который игроки замечают первым, — расстояния перестают иметь значение. Вы можете «перебежать на другую сторону комнаты», и это ничего не стоит. Вы можете «спрятаться за колонной», есть она или нет. Модель генерирует описание, а не моделирует пространство. Через двадцать минут игрок перестаёт пробовать творческие действия, потому что усвоил: у творческих действий нет механического веса.
Когда мир — настоящее 3D-пространство, всё меняется. У стены есть высота в мировых единицах. У игрока есть скорость лазания. Попытка либо удаётся, либо проваливается, либо удаётся частично, и результат записывается в состояние. AI-мастер рассказывает из разрешённого состояния, а не выдумывает его. Провал возможен, и именно это придаёт успеху смысл.
Вторая поломка — память. Мастер прозы держит весь мир в окне токенов. После определённой длины сессии ранние факты выпадают, и модель противоречит себе. Пространственный мир выносит состояние наружу. AI-мастеру не нужно помнить, что дверь заперта; у объекта двери есть флаг «заперто». Именно поэтому пространственные миры держатся дольше на длинных сессиях, чем чисто чатовые.
AI-MMO и многопользовательские миры
Задача конструктора MMORPG — это постоянный общий мир: много игроков, одно каноническое состояние, сессии, которые продолжаются, пока вас нет в сети. AI-мастер по-прежнему выполняет четыре задачи, но теперь работает с общим состоянием, а это порождает две проблемы, которых нет у одиночных миров.
Первая — общее состояние. Если два игрока в одном городе и один сжигает таверну, другой должен это увидеть. Значит, AI-мастер не может хранить состояние отдельно для каждого игрока; он хранит одно состояние мира, и каждый клиент читает из него. Режим отказа — конфликт: два игрока пытаются обчистить один и тот же сундук в одном и том же тике. Нужны порядок фиксации и блокировка, иначе действие одного игрока молча перезапишет действие другого.
Вторая — модерация. AI-мастер, который генерирует реплики НПС из ввода игрока, рано или поздно сгенерирует то, чего игроку видеть не следует, либо игрок воспользуется каналом ввода, чтобы это получить. В общем мире это не личная ошибка; это проблема всех. Практичный ответ — фильтр на сгенерированный текст, путь для жалоб и ограничение частоты для канала ввода на каждого игрока.
Общее состояние
Держите одно авторитетное состояние мира. Клиенты отправляют намерения, а не состояние. Сервер проверяет намерение по текущему состоянию, применяет эффект и рассылает разницу. Если позволить клиентам писать состояние напрямую, вы получите рассинхронизацию и дублирование уже через несколько минут. AI-мастер читает из авторитетного состояния, поэтому его повествование согласовано для всех игроков в области.
Для постоянных миров состояние должно переживать перезапуски сервера. Делайте снимок мира через фиксированный интервал и записывайте разницы между снимками. Воспроизведение разниц от последнего снимка — так вы восстанавливаетесь после сбоя, не откатывая всю сессию.
Модерация
Две поверхности в ней нуждаются: сгенерированные реплики и ввод игрока. Сгенерированные реплики проходят контент-фильтр до рассылки. Ввод игрока ограничивается по частоте и фильтруется, прежде чем дойти до AI-мастера. Логируйте ввод и сгенерированный вывод вместе, чтобы разбирать жалобу, не гадая, что произошло.
У AI-мастера также должен быть жёсткий путь отказа. Если действие выходит за пределы модели мира или политики контента, мастер отказывает в образе и предлагает альтернативу. Отказ, остающийся внутри вымысла, разрушает игру меньше, чем системное сообщение об ошибке.
Рогалик и генерация подземелий
Рогалику нужны две вещи, которые тянут в разные стороны: подземелье, которое ощущается разным в каждом забеге, и подземелье, которое честно в каждом забеге. Случайность по обеим осям порождает нечестные забеги. Фиксированная планировка по обеим осям порождает скучные. Решение — разделить оси: задать сид планировки, зафиксировать кривую сложности, разнообразить оформление.
Задать сид планировки значит, что граф комнат, связи коридоров и расположение ключей генерируются из сида, так что заданный сид всегда даёт одно и то же подземелье. Это делает забеги воспроизводимыми для отладки и позволяет сравнивать две сборки на одной карте. Зафиксировать кривую сложности значит, что бюджет столкновений на глубину — константа, а не случайная величина. Разнообразить оформление значит, что набор тайлов, скины врагов и таблица добычи могут меняться от забега к забегу, не меняя кривой.
AI-мастер стоит поверх этого как мастер подземелий. Он читает сгенерированный граф, населяет комнаты НПС, чьи персоны соответствуют их расположению, и ведёт правила во время игры. Генерация детерминирована; сессия — нет.
01
Выберите сид. Генератор планировки строит из него граф комнат.
02
Примените кривую сложности. Каждая глубина получает фиксированный бюджет столкновений, а не случайный.
03
Населите комнаты. Персоны НПС назначаются по роли комнаты — стражник, торговец, босс.
04
Разнообразьте оформление. Набор тайлов, скины врагов и таблица добычи берутся из палитры уровня забега.
05
Передайте граф AI-мастеру. Он ведёт сессию по этому графу и решателю правил.
06
Логируйте изменения состояния. Если забег кажется нечестным, воспроизведите сид и проверьте бюджет на той глубине, где всё сломалось.
Соберите свой
Самой маленькой играбельной сессии с AI-мастером нужны четыре вещи: мир с геометрией, один НПС с персоной, одно препятствие с двумя решениями и хранилище состояния, которое сохраняется между ходами. Вот и всё. Правила, графику и кривую сложности можно добавить позже. Если сначала собрать версию из четырёх частей, вы найдёте проблемы цикла рано, когда их дёшево исправлять.
Начните с одной комнаты и одного стражника. У стражника есть имя, причина там находиться и правило: не покидать дверь. Препятствие — это дверь. Вы можете сразиться со стражником, отвлечь его или найти ключ. Каждый путь записывает свой флаг состояния. Если AI-мастер может провести эту комнату, не противореча себе, на протяжении десяти ходов, у вас есть сессия.
Оттуда добавляйте части, которые масштабируются: больше НПС с буферами памяти, решатель правил с логируемыми бросками, генератор планировки по сиду и в конце концов общее состояние, если хотите многопользовательскую игру. У каждого добавления есть свой особый режим отказа, который можно проверять. Соберите самое маленькое, нарочно сломайте его, затем расширяйте.
- конструктор 3D-игрРедактор для размещения геометрии, задания персон НПС и настройки кривой сложности. Здесь собирается мир, по которому работает AI-мастер.
- ГенераторГенератор планировки и содержимого для миров в стиле подземелий. Берёт сид и кривую сложности и выдаёт населённый граф комнат, готовый для AI-мастера.
- Agent Sprite ForgeПредоставляет зрительный слой для НПС, чтобы реплики и язык тела оставались синхронными, пока AI-мастер озвучивает персонажей.
- The Cyclops' IslandПроработанный пример полного цикла: заявленная цель, реагирующий НПС, препятствие с несколькими решениями. Полезен как эталонная сборка, когда ваша ведёт себя не так.
Шагните в мир, которому он принадлежит
Единственный способ оценить мастера игры — сыграть сессию. Откройте одну: маленький мир, где четыре персонажа дают вам по заданию, а препятствия отвечают на то, как вы к ним подходите. Он был построен так же, как всё на этом сайте, — из описания, опубликованного как страница.
Вернуться в конструктор 3D-игр
Все 31 готовых 3D-мира, игры и сцены собраны на одной странице — и в каждую из них можно играть.