C
ChaoBro

Генерация игровых спрайтов одной фразой: навык agent-sprite-forge для Codex превращает ИИ в 2D-художника

Генерация игровых спрайтов одной фразой: навык agent-sprite-forge для Codex превращает ИИ в 2D-художника

Что самое болезненное в создании 2D-инди-игр? Не написание детекции коллизий, не настройка физического движка — это рисование ассетов.

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

Недавно на GitHub появился проект agent-sprite-forge (1,7 тыс. звёзд), который идёт по очень прямому пути: вместо сложных рабочих процессов на базе Stable Diffusion или ComfyUI он устанавливает в OpenAI Codex набор навыков по игровой графике, позволяя одним предложением на естественном языке массово генерировать спрайты, кадры анимации и карты сцен, которые можно просто перетащить в игровой движок.

Как это работает

Проект содержит два независимых навыка Codex:

$generate2dsprite занимается персонажами и анимациями. Вы вводите описание, например «создай анимацию заклинания огненного мага со снарядом и эффектом взрыва», и Codex самостоятельно планирует количество кадров, раскладку сетки, генерирует исходные изображения с помощью встроенных возможностей, а затем локальный Python-скрипт выполняет постобработку: автоматически убирает маджентовый фон (хромакей по #FF00FF), нарезает кадры по сетке, выравнивает и масштабирует их, экспортирует PNG-последовательность с прозрачным каналом и в конце собирает GIF-превью анимации. Также поддерживаются направленные анимации (ходьба в четырёх направлениях: вверх, вниз, влево, вправо) и режим «пакета» — за один проход генерируются три сегмента: заклинание, снаряд и попадание.

$generate2dmap работает с картами сцен. Предлагаются два подхода: единая запечённая картинка подходит для простых сцен — одна полная карта и готова к использованию; гибридная послойная карта подходит для сложных сцен, где нужны коллизии и сортировка по оси Y — она разбивает пол, двери и фонари на отдельные прозрачные пропсы, одновременно генерируя метаданные зон коллизии и триггерных зон, благодаря чему персонаж может пройти за дерево, но упереться в дверь.

Когда для гибридного послойного подхода нужны прозрачные пропсы, навык напрямую вызывает $generate2dsprite для генерации этих элементов — два навыка работают в связке.

Отличия от аналогичных инструментов

На рынке немало ИИ-инструментов для игровой графики: Scenario, режим Game Assets в Leonardo.ai, всевозможные рабочие процессы на базе ComfyUI. У agent-sprite-forge отличия очевидны:

Вам не нужно разворачивать сервер diffusion и не нужно платить за API генерации изображений поштучно — сам Codex выступает генератором. И это не графический инструмент для людей, а «навык» для ИИ, что означает возможность встроить генерацию ассетов в более крупный автоматизированный рабочий процесс: пусть ИИ сначала напишет сюжет, а затем по сюжету автоматически создаст персонажей и сцены.

Многие инструменты отдают вам просто картинку — нарезку кадров и вырезание фона делайте сами. Этот проект берёт на себя всю постобработку, на выходе — стандартный формат, который движок загружает напрямую.

Что получается на практике

Проект уже продемонстрировал несколько играбельных прототипов, созданных с помощью Codex + agent-sprite-forge: игра в жанре survivor на Unity WebGL (все ассеты — карта, герой, монстры, предметы, HUD, эффекты — сгенерированы), прототип Tower Defense на Godot 4, редактируемая карта RPG TileMap, киберпанковый платформер-экшен и ещё одна игра в стиле Pokémon на JavaScript.

По качеству ассетов это, разумеется, не дотягивает до ручной работы профессионального художника — стабильность стиля по-прежнему остаётся естественной проблемой ИИ-генерации. Но для потребности инди-разработчика «сначала сделать геймплей, потом подтянуть графику» этот рабочий процесс уже способен ускорить проверку прототипа на порядок.

Быстрый старт

Установка проще, чем кажется:

git clone https://github.com/0x0funky/agent-sprite-forge.git
cd agent-sprite-forge
pip install -r requirements.txt

mkdir -p ~/.codex/skills
cp -R ./skills/* ~/.codex/skills/

После установки откройте новую сессию Codex и просто введите Use $generate2dsprite to create a fire mage cast animation — генерация начнётся.

Лицензия MIT, открытый исходный код, бесплатно. Для разработчиков, желающих быстро проверить 2D-игровой прототип, это может оказаться гораздо быстрее, чем осваивать Aseprite.