Что самое болезненное в создании 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.