Daily MaverickPOLL PERIL: ANC campaigner suffers electric shock and broken leg during poster drivePunchEbola:​‌⁠​‍‌‍⁠⁠‍‌​‍​‍‍‌⁠‌​ NOA warns against self-medicationBollywood HungamaAastha Tiku’s directorial debut Dreamboat to premiere at Dharamshala International Film Festival; first look outRTP DesportoCaitlin Simmers e Molly Picklum na final da prova de elite do surf em PenicheEl ComercioRaúl Castro: “No existe una posibilidad jurídica inmediata” de llevarlo ante la justicia de EE.UU.The Jerusalem PostWith five days until elections, Netanyahu shifts strategies to courting right-wing votes - analysisInquirerOSG welcomes SC ruling, seeks review of budget safeguardsDigital SpyCoronation Street and Emmerdale aren't on ITV1 or ITVX today - here's when they returnZDF heuteAktuelle Pressemitteilungen des ZDFVilaWebEls Mossos investiguen una agressió a un alumne d’onze anys a una escola de CerveraSouth China Morning PostMissing lift fire door frames confined to Taizoom, Hong Kong authorities sayAntara News2026 China Apple Annual Conference and Qingyang Apple Conference Kicks Off
The Daily Newsstand · Free, Always
Thursday, October 22, 2026

Применение агентских пайплайнов в игровой разработке

Translate

Я аналитик в веб-разработке, а в свободное время уже несколько лет делаю собственную игру на Unity.

Это изометрический симулятор строительства и управления, чем-то напоминающий Project Hospital и The Sims. В игре есть строительство зданий, размещение объектов, персонажи со своим поведением, взаимодействия между ними и прочие механики, которые постепенно превращают небольшой пет-проект в довольно сложную систему. как-то работающую систему.

Буквально год назад я как сейчас помню, я кодил, используя помощь обычных чатов. Типа копируешь кусок кода или несколько файлов, вставляешь в ChatGPT и он тебе помогает решить твою проблему. Это работало, прирост был зачастую что-то типа 100-200 осмысленных строчек кода в день. Это где-то около 1 полноценно нормально работающей фичи в неделю.
Фича тут это типа добавить статы к персонажам (голод, усталость) и заложить интерфейсы систем, которые будут их менять.
Что-то глобальное типа поиска пути делалось около 2 месяцев где-то. Ну сам алгоритм быстро пишется, а вот его оптимизация - нет.

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

Прошел год иииии теперь я пишу про то, как использовать агентский пайплайн в геймдеве. Да, и, кстати, вынужден признать, что, примерно с марта 2026го я ни одной строчки кода руками ни в один из своих проектов не добавил. Так что же там с моей позицией по вайбкодингу? Переобулся, получается?

Получается так

Это еще одна статья из цикла про разработку игр без прикладного опыта. Если вам интересна эта и подобные темы - подписывайтесь на мой ТГ-канал Homemade Gamedev, где посты выходят чаще, и я пишу про текущие задачи в проекте и уже про AI задачи в целом.

Нюансы

Я вынужден сказать пару слов про нюансы, а то вся суть-то в деталях. Чтобы не сложилось впечатление, что ниже пойдет речь про то, как я просто пишу свои хотелки, а агент сам создает решение такой чик-чик, все готово. Успевай только принимать фичи. Любой сходу сделает также. Дааа, но есть нюансы и вот они:

  1. Я умею писать код. Ну типа научился уже, плюс у меня 10+ лет в бизнес/системном анализе. Я понимаю ответственность сервисов и как именно система должна работать. Знание синтаксиса тут вторично, его мне может объяснить агент.

  2. Я спроектировал основную архитектуру. Сейчас каркас игры в целом готов, нет контента. А база под механики уже заложена - проработаны очереди, структуры данных. Понятен сам механизм их расширения. Игра разделена на игровую часть и так называемый "движок" поверх юнити, который работает на чистом C# без примеси специфичных данных от игровых движков и он занимается базовыми механиками - перемещением, очередями, событиями и т.д. Основные игровые системы тоже есть, строительство, сама симуляция, классы NPC, их взаимодействие. Короче база. А вот "контента" - нет. В этом-то соль, понимаете, да? Поначалу агент делал криво и не понимал мою архитектуру и тк я создал ее сам, я смог оформить для него правила, чтобы он в ней нормально разбирался и только после этого пустил его в огород.

  3. Я в параллель создаю еще один веб-продукт и у меня сложились определенные подходы к тому, как именно ставить задачи агентам, чтобы они делали норм.

Виртуальная команда

За основу я взял уже знакомый подход Superpowers (это плагин такой для агентов - крайне рекомендую), но добавил несколько ролей, которые обычно существуют в полноценной продуктовой команде.

Сейчас в моей фабрике есть:

  • Продакт — помогает определить, какой результат вообще нужен и какие продуктовые решения необходимо принять.

  • Гейм-дизайнер — оценивает механику с точки зрения игрового процесса, ограничений и поведения игрока.

  • UX/UI-дизайнер — прорабатывает взаимодействие, интерфейсные состояния и визуальные компоненты.

  • Аналитик — формализует требования и подготавливает концепцию реализации.

  • Архитектор — определяет, какие системы потребуется менять, и следит за архитектурными ограничениями.

  • Агенты разработки и тестирования — реализуют и проверяют результат.

Разумеется, это не шесть независимых искусственных интеллектов с собственной волей. Это агентные роли с разными инструкциями, контекстом и зонами ответственности. Даже llm пока что одна и та же у них. Точнее как это сказать - провайдер один и тот же. Сами модели все же чуть разные, тк иначе бюджет сгорает.

Выглядит процесс примерно так:

Идея фичи → продуктовая проработка → гейм-дизайн → UX/UI при необходимости → аналитика и архитектура → реализация → проверка результата.

Причём процесс не обязан быть строго линейным. Если фича не требует интерфейса, дизайнер не нужен. Если речь идёт о техническом рефакторинге без изменения поведения игры, можно пропустить продуктовую проработку. Если нужно согласовать визуал, агент приходит ко мне за решением, а не молча выбирает вариант. Это все решает главный оркестрационный агент. От меня здесь по-прежнему требуются две вещи: принимать решения, которые нельзя надёжно вывести из требований, и контролировать архитектуру. И вот тут мы возвращаемся к нюансам. Я долго думал, можно ли прям масштабировать это так, что ну вот реально абсолютно любого ставишь вместо меня и результат получается тот же... Кажется, пока это не достижимо, в любом случае, если чел не шарит в том, КАК должна работать система, то продукт будет деградировать (причем вместе с этим челом, тк он не будет разбираться в том, что делает).

Пайплайны и скиллы

Здесь полезно разделить три понятия. (это моя интерпретация, пожалуйста, простите, если я технически что-то напутал, можете меня поправить, я так вижу)

Агент - исполнитель с определённой ролью, набором инструкций и доступными инструментами.

Скилл - переиспользуемый пакет инструкций, знаний и, при необходимости, вспомогательных скриптов и ресурсов. Например, правила проектирования Unity UI, проверки ассетов или написания тестов.

Пайплайн - процесс, который определяет последовательность этапов, их зависимости, условия переходов и ожидаемые результаты.

То есть скилл объясняет агенту, как выполнять определенный вид работы, а пайплайн - когда эта работа должна выполняться и что произойдет после.

Раньше мне приходилось в значительной степени управлять последовательностью шагов вручную. Сейчас эта логика частично вынесена в процесс. Ниже я обрисую основные пайплайны, чтобы было понятно на примерах.

Эксперимент №1. Может ли ИИ стать игровым UI-дизайнером?

Одной из первых задач для нового процесса стала переработка интерфейса.

У меня уже был рабочий HUD и набор интерфейсов для строительства. Но визуально всё это выглядело довольно посредственно. И я стал пытаться заюзать для этой цели llm. На тот момент я работал с Claude Code, и это было....ну посредственно.
Для понимания того КАК он рисует, я прикрепил ниже иллюстрацию мозга в неоновом стиле, которую мне сделал Chat GPT и "такую же иллюстрацию", которую сделал Claude

Chat GPT

Chat GPT

Такой же мозг от Claude

Такой же мозг от Claude

Он зачем-то пририсовал ему пипиську, хотя в исходном варианте ее не было. Да и сама картинка...я даже не знаю как ее прокомментировать

Ладно пиписька, зачем там вот эти зеленые точки. Это созвездие какое-то что ли?

Потом в начале октября антропики забанили мой акк, я мигрировался на экосистему OpenAI и, решил заюзать ее именно для геймдева

Вначале дизайн-система

В обычной веб-разработке я стараюсь придерживаться довольно понятных принципов: сначала библиотека базовых компонентов, затем переиспользование этих компонентов в формах, единые стили, минимизация дублирования.

Решил перенести тот же подход в Unity. Оказалось, что подход очень похож по духу (кто бы мог подумать, да?)

Агент помог собрать локальный стенд с дизайн-системой — по сути, каталог интерфейсных компонентов, в котором можно посмотреть различные элементы и их состояния:

Локальный стенд

Локальный стенд

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

Все, что вы видите на скрине выше было сделано за 2 вечера взаимодействия с агентом (с учетом нюансов, конечно же, о которых я писал выше)))

В Unity, конечно, другая технологическая среда, но принципы остаются теми же: базовые компоненты, повторное использование, единые визуальные правила, разделение логики и представления.

Итоги первого эксперимента

Я поставил задачу на переработку интерфейса и основных графических компонентов, а затем оставил агента работать. На выходе получил переработанные тайлы, улучшенный интерфейс, более вменяемый HUD, визуальные элементы для редактирования стен, окна и двери

Пример интерфейса

Пример интерфейса

Что меня еще порадовало - это вот это "оттенение" спрайтов при разных углах поворота.

Для меня, если работать "по классике" - это прям космический объем работы. Даже просто спрайт нарисовать и размножить его - уже квест. Скачать готовые ассеты можно, но они между собой не всегда бьются - тоже проблема.

По моей субъективной оценке за ночь он сделал сопоставимый объем с тем, который в прежние времена я бы делал где-то около месяца так же по вечерам.

Ну да, минус 20% от недельного лимита подписки. Ну да и хрен с ним.

Эксперимент 2. Создание объектов под ключ

Следующей задачей стала механика размещения объектов непосредственно на стенах.

Тут опять же важен нюанс - базовая механика строительства и валидации у меня уже была. Мне надо было в ней сделать расширение для того, чтобы некоторые объекты (двери и окна, а потом и часы, доска и т.д.) могли бы крепиться только на стены. Типичная фича на пару вечеров или даже недельку "по классике".

Агент расширил существующую функциональность, добавив поддержку объектов вроде дверей и окон. Само по себе это меня не особо удивило в конце 2026го, но мне понравилось другое - появился формализованный процесс создания ассетов. Поэтому идея использования llm-ки для создания согласованного набора игровых ассетов мне зашла.

Важно, что речь не просто о генерации отдельных картинок - тут нужен именно процесс, который выдает результат в форме, пригодной для дальнейшего использования в проекте. Например: спрайт с нужными размерами и прозрачностью, соответствующий визуальному стилю (а стиль-то откуда? - а из дизайн-системы). Дальше, если надо, агент сам свяжет спрайт с префабом, разложит файлики по папочкам по согласованной структуре ресурсов проекта. Огонь.

Эксперимент 3. Автоматизированное создание 3D-персов.

Несмотря на изометрический формат игры, для персонажей я использую 3D-модели и анимации, которые затем обрабатываются для эффективного отображения в Unity.

И создание каждого нового персонажа раньше было отдельным небольшим проектом.

Мой стандартный процесс выглядел следующим образом:

Генерация модели → FBX → Mixamo → анимации → Blender → запекание → Unity → конфигурация клипов.

Модель могла оказаться не того размера. Анимация не подходила к скелету. При импорте возникали проблемы с ориентацией или настройками. Иногда модель проще было перегенерировать. А и еще. Допустим засунули модель, сгенерили анимации, запекли их, а потом такие...аааа нет, давай-ка ей немного волосы другие сделаем - и все по новой))) Это цена запеченных анимаций (зато производительность огонь).

В результате на одного персонажа под ключ уходило около четырёх часов активной работы.

Сама по себе каждая операция несложная. Проблема в их количестве.

Я решил попробовать собрать отдельный пайплайн и попросил GPT Sol 6.1 подготовить модель первоклассника-пухляша, такого откормленного деревенского мальчика, создать FBX, анимировать персонажа и выполнить необходимые операции подготовки. Имея опыт с Claude (мозг с пиписькой), я думал, что будет ну кринж очередной какой-то

Типа такого

Но, вот результат сразу с первой попытки

Пухляш

Пухляш

пухляш в движении

пухляш в движении

Всего-то около 3000 полигонов. Как по мне, результат для первого раза - потрясающий. Да, можно придраться к тому, что у него воротник рубашки какой-то не такой, руки не оттуда растут, выглядит как маньячелло, но это не существенно для экономического симулятора - там масштаб не такой, чтобы это все разглядывать.

Ну да ладно, я думал - собрать анимацию это одно, а вот запечь ее и закинуть конфиг в Unity - другое. Но нет, с этим он тоже справился. Затупил только в одном месте, у меня координаты перепутаны и я поленился их править и ручками обычно конфиг меняю. Он это не увидел и у меня моделька двигалась задом наперед, но я это сразу пофиксил и все.

Агент автоматизировал практически всю рутину, которая раньше требовала моего непосредственного участия: подготовку модели, работу с анимациями в Blender, корректировку размеров, запекание, импорт в Unity и создание конфигурации клипов.

В итоге я получил набор артефактов:

  • Статический FBX.

  • Анимационные клипы.

  • VAT-текстуру.

  • Данные, необходимые для расшифровки координат.

Весь проход занял около часа без моего участия. А раньше на ту же самую тему я тратил около 4 часов (это прям полный вечер после рабочего дня). А сейчас час работы агента (не моей).

Зачем вообще VAT?

VAT (Vertex Animation Texture - вершинная анимационная текстура) - подход, при котором данные анимации вершин запекаются в текстуру. Вместо того, чтобы проигрывать анимацию стандартным способом, можно использовать предварительно подготовленные данные для изменения положения вершин на GPU. По своей сути это перевод 3D анимации в 2D вид, когда мы для каждой координаты (x, y, z) сопоставляем цвет (RGB) и даем файл с расшифровкой. Получается такая полоса, где по горизонтали пиксель, соответствующий позиции вершины фигурки, а по вертикали - кадры. Соот-но, прогон анимации - это просто чтение построчно этого файла.

Почему мне это актуально - персонажей дофига, а стоимость рендеринга скелета в Unity колоссальная.

Есть и обратная сторона медали - так называемые накладные расходы - с одной стороны рутина для формирования этого файла. С другой - волна изменений, если модельку надо поменять. Еще год назад это была прям боль. Сейчас - просто задача агенту на 15-20 минут.

Именно такие этапы особенно хорошо подходят для автоматизации: агент не "думает", а просто выполняет небольшие, хорошо формализованные операции.

Пайплайны

Тут идея какая. Окей, один-два раза это прокатило, а что делать, если тебе надо выпускать этот контент сотнями единиц? У меня же ничего нет - пару тайлов поверхности, говношкафчики какие-то, пару дверей, стены, окна и 3 модельки с 4 анимациями. Т.е. по сути весь контент надо выпустить.

И тут тоже могут быть проблемы. Например, у меня ограниченное кол-во полигонов у моделей (до 3к) - это требование производительности.

Анимации должны быть определенной продолжительности, я не делаю их слишком короткими, например, и они не должны быть "рваными" - есть порог максимального расстояния телепорта точки между соседними кадрами, чтобы для глаза это не выглядело рваным (обратите внимание, что пухляш немного дергается при ходьбе - отсюда как раз и вырос этот порог). Ну и конечно, я не хочу руками потом все это настраивать в Unity, тк это тоже мутотень. Поэтому мне нужен какой-то настраиваемый конфиг, в котором я задал бы требуемые параметры и на выходе получил готовый результат в своем проекте. Это и есть агентский пайплайн. Он отличается от простого скилла тем, что на выходе каждого шага я могу ввести так называемые "гейты", которые будут проверять предварительный результат шага как раз по обозначенным выше проверкам. Или по любым другим провекам.

В этом случае, процесс можно представить следующим образом:

Генерация модели → проверка геометрии → подготовка анимаций → проверка анимаций → запекание VAT → проверка результатов → импорт в Unity.

Если какая-то из проверок не пройдена, пайплайн не идет дальше. Он либо прерывается с ошибкой, либо передает ошибку llm и повторяет шаг еще раз. И важное уточнение - не все проверки требуют участия LLM. Более того, зачастую это просто код, детерменированный алгоритм, который проверяет данные по определенной методологии. Все, что можно формализовать лучше формализовать, а llm отдать именно интеллектуальную часть (желательно, чтобы она еще была связана с преобразованием текста в текст - это ее конек)

Что есть сейчас

На сегодняшний день моя агентная фабрика уже участвует в нескольких разных процессах: проектировании фичей, создании интерфейсов, реализации механик и подготовке игровых ассетов. Наиболее ощутимый эффект я получил там, где раньше тратил много времени на повторяющиеся ручные операции. Подготовить модель, открыть Blender, обработать анимации, выгрузить результат, импортировать в Unity, создать конфиги - всё это не самая творческая часть геймдева.

Именно её автоматизация оказалась особенно ценной.

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

Ну и просто ради прикола я подключил эти агентские пайплайны в свою агентскую платформу, пока она не выпущенна, я заодно тестирую ее вот такими сценариями. Кмк факт того, что в нее получилось подключить пайплайн из кардинально другой сферы - уже показатель ее работоспособности

Загруженные скиллы в единое рабочее пространство

Загруженные скиллы в единое рабочее пространство

Интерфейс пайплайна

Интерфейс пайплайна

Вместо заключения

Когда я впервые начал пользоваться кодинговыми агентами, основной ценностью казалось то, что теперь можно гораздо меньше писать кода вручную. Через некоторое время оказалось, что не это ценно

Ценность в том, что меняется характер работы и то, как именно он меняется. Раньше я думал так: нужно реализовать фичу. Ага, сейчас я сяду попроектирую ее, обсудили с llm-кой архитектуру, реализацию, типичные подходы. Так, теперь пишем код (естественно я пишу его либо сам, либо кусочки отдаю "на подряд"). Потом рисую интерфейс, ищу ассеты, добавляю их в редактор, делаю конфиги и так далее.

Сейчас подход совсем другой - я определяю рамки того, что является результатом, описываю ограничения, выбираю производственный процесс и организую его выполнение. Где-то процесс требует LLM, где-то это чисто детерменированные операции, где-то нужно мое участие. Именно в этом мне кажется сейчас основная ценность. Не в создании какого-то супер-агента, которому ты пишешь типа "создай мне игру" и пошел катать вату, а в том, что ты ведешь себя как "продуктолог", а основные организационные операции у тебя выполняются пайплайнами. Только бы токенов хватило)))

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.