Создание игры на Godot с AI-агентом: Claude Code, Sprite Cook MCP и генерация 2D-ассетов
Пошаговый гайд по созданию survival-стратегии на Godot с Claude Code и Sprite Cook MCP: генерация анимаций, тайлсетов, мобильный порт и сравнение моделей.
Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
🎯 О чём этот конспект: Практическое руководство по созданию полноценной survival-стратегии Emberhold на движке Godot с нуля с помощью AI-агентов (Claude Code, Opus/Sonnet и Fable 5.1). В видео детально показано, как превратить пустую папку проекта в готовую игру с механикой строительства днем и обороны ночью, генерацией анимированных спрайтов через Sprite Cook MCP, интеграцией мобильного управления для Android и процедурным созданием тайлсетов лавового мира.
👤 Кому будет полезно: Вайбкодерам, инди-разработчикам игр, пользователям Godot Engine и тем, кто хочет автоматизировать арт-пайплайн и написание логики через протокол MCP (Model Context Protocol).
✨ Что получите: Пошаговый воркфлоу разработки 2D-игры: от составления Game Design Document (GDD) и настройки MCP-сервера для генерации спрайтов до реализации сложных игровых систем, сравнительного анализа производительности моделей и портирования игры на Android.
1. Подготовка Game Design Document и арт-промптов перед запуском агента
Контекст: Многие вайбкодеры совершают ошибку, открывая терминал AI-агента с абстрактной просьбой «создай мне классную игру». Без жестких рамок и детального контекста LLM генерирует несвязный код и банальные механики («AI slop»). Автор подчеркивает роль разработчика как режиссёра и арт-директора: прежде чем написать первую строчку кода, проект проходит этап глубокой концептуализации. Составляется массивный GDD (Game Design Document) со всеми взаимосвязями систем, а также отдельный реестр ключевых слов и промптов для генерации визуальных ассетов под конкретный стиль.
Тайминг:[00:30], [00:87], [01:28], [01:61]
Выгода: Устраняет бесконечные циклы переделок и архитектурных тупиков. Экономит десятки часов работы агента и сотни долларов на бесполезных API-токенах.
Как применить:
Шаг 1: Итерация концепта и сеттинга — ChatGPT / Claude — Проведите мозговой штурм концепций. Автор тестировал варианты с живыми растениями, пляжем, волшебным лесом и остановился на «деревне в аду на лаве».
Шаг 2: Создание Game Design Document (GDD) — Текстовый редактор / Markdown — Опишите все игровые циклы: базовые механики (сбор ресурсов, строительство, ночные волны врагов), типы зданий, параметры здоровья ратуши (Town Hall), типы оружия и паттерны поведения боссов.
Шаг 3: Составление арт-реестра для Sprite Cook — Markdown-файл со списком ассетов — Сформируйте документ art_prompts.md, где для каждого элемента (здания, враги, герой, снаряды) прописаны стиль, палитра и ключевые промпты.
# GDD: Emberhold (Core Loop & Systems)---## 1. Сеттинг и визуальный стиль- Мир: Лавовая пустошь (Hell/Lava Village), изометрия/top-down 2D.- Палитра: Тёмно-бордовый, лавовый оранжевый, обсидиан, пепел.---## 2. Игровой цикл (Core Loop)- Дневная фаза: Сбор ресурсов, постройка домов (прирост жителей/ресурсов), шахт, складов и защитных укреплений (башни, мортиры, капканы).- Ночная фаза: Нашествие демонов. Цель врагов — уничтожить Town Hall. Игрок и турели отбивают волну.- Прогрессия: Разблокировка оружия (арбалет с пробитием, дробовик), появление финального босса волны.---## 3. Состояния объектов (Destruction States)- Каждое здание имеет 3 спрайтовых состояния: 100% HP (целое), 50% HP (повреждённое), 0% HP (руины).
Результат: Готовый исчерпывающий спецификационный документ и структурированный словарь промптов, которые скармливаются агенту на старте сессии.
2. Интеграция Sprite Cook MCP в Claude Code: сквозная генерация ассетов
Контекст: Классический пайплайн вайбкодинга игр часто спотыкается об арт: программировать логику агент умеет, но для графики приходится вручную открывать генераторы изображений, кадрировать, вырезать фон и раскладывать по папкам. Протокол MCP (Model Context Protocol) позволяет подключить сервис Sprite Cook напрямую к CLI-агенту (Claude Code, Codex и др.). Агент самостоятельно вызывает генерацию спрайта по промпту из арт-листа, генерирует анимационные кадры, сохраняет файлы в структуру проекта Godot и привязывает их к игровым нодам.
Тайминг:[00:41], [01:46], [05:54], [06:14]
Выгода: Полная ликвидация рутины по импорту графики. Спрайты, тайлсеты и анимации создаются по ходу сборки кода без переключения контекста.
Как применить:
Шаг 1: Подключение MCP-сервера Sprite Cook — Терминал / Конфигурация Claude Code — Добавьте инструмент в конфиг агента в одну команду (или отредактируйте claude_desktop_config.json / конфиг Claude Code CLI):
# Добавление Sprite Cook MCP в окружение агента Claude Codeclaude mcp add sprite-cook -- https://api.spritecook.com/mcp
Шаг 2: Настройка генерации анимаций — Sprite Cook — Агент сначала генерирует базовый опорный кадр (keyframe), а затем через инструмент анимирует объект, получая готовую покадровую ленту (spritesheet).
Шаг 3: Генерация ассетов паками (Packs) — Промпт для агента — Требуйте создания взаимосвязанных элементов едиными паками, чтобы выдерживать единый пиксельный масштаб (scale) и цветовую гамму.
Шаг 4: Нарезка через встроенный Slicer — Sprite Cook UI / MCP — Используйте функцию слайсера, которая автоматически сегментирует сгенерированный пак на отдельные спрайты с прозрачным фоном.
Промпт для агента:
"Сгенерируй пак оборонительных сооружений ада в едином масштабе 32x32:
1) Базовая стрелковая башня из обсидиана
2) Мортира, стреляющая лавовыми ядрами
3) Напольная ловушка с шипами
Сохрани ассеты в папку res://assets/buildings/defenses/ и настрой SpriteFrames для каждого здания."
Результат: Агент генерирует сотни стилевых спрайтов с анимациями разрушения и движения, раскладывая их сразу по ресурсам Godot.
3. Реализация комплексных игровых механик: экономика, оборона и босс
Контекст: В первой версии проекта автор протестировал связку Opus и Sonnet в длительной сессии Claude Code (5–6 часов взаимодействия). Агент шаг за шагом с нуля собрал масштабную survival-стратегию. Игра включает смену дня и ночи, логистику ресурсов (шахты генерируют доход с таймером, склады расширяют лимиты хранения, жилые дома увеличивают рабочую силу), радиальное/сеточное меню строительства на клавишу V, турели с поиском ближайшей цели, несколько видов оружия и финального босса.
Выгода: Получение работающей глубокой игры с разнородными системами (AI врагов, система снарядов, состояния построек) за одну рабочую смену без ручного написания GDScript.
Как применить:
Шаг 1: Создание архитектуры менеджера зданий — Godot / GDScript — Настройте агент на разделение логики: BuildingManager, WaveManager, ResourceManager.
Шаг 2: Реализация меню постройки — Привяжите вызов GUI по клавише (автор использовал клавишу V): фильтрация по категориям (жилье, добыча, склады, оборона).
Шаг 3: Настройка состояний разрушения — Сделайте привязку спрайтов к текущему уровню HP строения: при атаке демонов здания визуально трескаются и распадаются.
Шаг 4: Реализация арсенала и спавна босса — Добавьте пробивающий арбалет (piercing crossbow, ваншотящий линию врагов) и дробовик с разбросом дроби. Настройте ночную волну с таймером до прихода гигантского демона-босса.
# Пример архитектуры получения урона зданием (building.gd)extends Node2Dclass_name Building@export var max_health: float = 100.0var current_health: float@onready var sprite: AnimatedSprite2D = $AnimatedSprite2Dfunc _ready(): current_health = max_health update_destruction_state()func take_damage(amount: float) -> void: current_health = max(0.0, current_health - amount) update_destruction_state() if current_health <= 0: destroy_building()func update_destruction_state() -> void: var health_pct = current_health / max_health if health_pct > 0.6: sprite.play("intact") elif health_pct > 0.0: sprite.play("damaged") else: sprite.play("ruins")func destroy_building() -> void: # Оповещение WaveManager и освобождение ноды queue_free()
Результат: Полнофункциональный геймплей с глубоким core-loop: от дневного планирования базы до адреналиновой ночной обороны против босса.
4. Портирование Godot-проекта на Android: экранный джойстик и тач-контролы
Контекст: После успешного билда на ПК автор решил протестировать возможности AI по адаптации десктопного проекта под мобильные устройства. Добавление сенсорного управления, адаптация интерфейса под экраны смартфонов и экранные стики часто требуют рефакторинга всей системы ввода. Агент выполнил задачу по одной текстовой инструкции: интегрировал виртуальный стик (touchscreen joystick), настроил экранные кнопки атаки и строительства, а также добавил рабочую мини-карту (minimap).
Тайминг:[03:91], [04:01], [04:08]
Выгода: Кроссплатформенный запуск на смартфонах за несколько минут промптинга вместо многочасовой переработки системы ввода InputEventAction.
Как применить:
Шаг 1: Формулирование промпта на мобильную адаптацию — Claude Code — Отправьте агенту задачу переключить схему управления:
Промпт для агента:
"Адаптируй игру под Android:
1. Добавь виртуальный аналоговый джойстик в левый нижний угол экрана для перемещения персонажа.
2. Сделай сенсорные экранные кнопки для стрельбы, переключения оружия и вызова меню строительства справа.
3. Добавь радар/мини-карту (minimap) в правый верхний угол с отображением базы и наступающих демонов.
4. Убедись, что элементы UI масштабируются под мобильные разрешения экрана."
Шаг 2: Настройка проекта в Godot — Перейдите в Project Settings -> Display -> Window -> Handheld и установите Emulate Touch From Mouse = On, чтобы тестировать тач-управление прямо на ПК перед экспортом .apk.
Результат: Рабочий мобильный билд Emberhold с гладким управлением через виртуальный джойстик, функциональной миникартой и удобной кнопкой покупки домов на смартфоне.
5. Сравнение моделей: Fable 5.1 против Opus/Sonnet (качество, сочность и лимиты)
Контекст: Во второй части эксперимента автор запустил разработку той же игры с нуля на новейшей модели Fable 5.1 (в режиме рассуждений High). Результаты показали разительный контраст:
Качество визуала и UI: Fable 5.1 «из коробки» (в один шот) создала на порядок более живой, органичный ландшафт с вариативными узорами лавы, идеальный баланс масштабов спрайтов, добавила звуки и фоновую музыку, а также внедрила «игровой сок» (game juice) — плавные анимации всплывания интерфейса, отдачу и визуальные эффекты подбора предметов.
Расход токенов и лимиты: Всего за 1 час 20 минут работы Fable 5.1 полностью сожгла 5-часовой лимит аккаунта Claude ($100 тарифный план с +50% бустом лимитов) и потребила ~70% недельного лимита модели (при эквивалентной стоимости API-вызовов около $60). Модель не успела завершить все механики врагов до исчерпания квоты.
Вывод автора: Opus потребовал 5-6 часов работы и дал более простой результат, но позволил довести игру до финала. Fable 5.1 генерирует продукт класса AAA по уровню полировки за 1 час, но упирается в экстремальную прожорливость лимитов.
Выгода: Понимание экономической и временной эффективности моделей при выборе стека для вайбкодинга: когда использовать длинный контекст Opus/Sonnet, а когда отдавать задачи reasoning-модели.
Как применить:
Стратегия гибридного пайплайна:
Этап 1 (Планирование и концепт): Используйте быстрые и дешёвые модели (Sonnet / GPT) для брейншторма, структуры GDD и реестра ассетов.
Этап 2 (Сложная архитектура и Game Feel): Подключайте высокоинтеллектуальную reasoning-модель (Fable 5.1 / o3) короткими точечными сессиями для создания генератора процедурных уровней, полировки UI и написания шейдеров/сока.
Этап 3 (Рутина, механики, дебаг): Переключайтесь на Opus / Sonnet для рутинного добавления 20 типов зданий, полировки багов и портирования на Android, чтобы не упереться в жесткие 5-часовые лимиты.
Результат: Оптимальный баланс бюджета: максимальный визуальный «juice» без риска заблокировать рабочий процесс на неделю из-за исчерпания лимитов тарифа.
6. Автоматическая генерация тайлсетов и UI-китов под Godot в Sprite Cook
Контекст: Создание 2D-окружения вручную требует рутинной сборки тайлов: углы, переходы между лавой и сушей, коллизии. В Sprite Cook заложены две киллер-фичи для разработчиков: специализированный генератор тайлсетов с прямой поддержкой экспорта в Godot Engine и UI Kit Builder, создающий консистентные интерфейсы из одного концепт-арта.
Тайминг:[06:24], [06:38], [06:64]
Выгода: Экономия дней работы 2D-художника: вы получаете готовый файл тайлсета, настроенный для прямого перетаскивания в редактор тайлов Godot.
Как применить:
Шаг 1: Генерация ландшафта по текстовому промпту — Sprite Cook — Введите описание биома: lava world tile set, dark obsidian ground with glowing magma edges, top-down view.
Шаг 2: Тестирование тайлов в браузере — Интерактивный предпросмотр — Протестируйте состыковку углов и бесшовность прямо во встроенном окне предпросмотра Sprite Cook.
Шаг 3: Экспорт под Godot Engine — Выберите формат скачивания: Export for Godot Engine. Файл импортируется в проект с уже преднастроенными тайловыми сетками (TileSet Resource).
Шаг 4: Сборка интерфейса через UI Kit Builder — Загрузите или сгенерируйте концепт окна интерфейса в желаемом стиле. Инструмент разобьет картинку на независимые модульные компоненты: рамки, кнопки, слайдеры здоровья, плашки инвентаря.
Результат: Готовый бесшовный тайлсет адского мира и полный комплект UI-элементов, полностью готовых к интеграции в сцены Godot.
FAQ
В: С чего начать создание игры, если у меня полностью пустой проект Godot? О: Начните не с генерации кода, а с глубокого GDD (дизайн-документа). Проработайте базовый цикл (core loop), типы ресурсов, баланс и подготовьте документ со списком промптов для графики. Только после этого запускайте AI-агента, скормив ему GDD как системную инструкцию.
В: Что такое Sprite Cook MCP и как он взаимодействует с агентом? О: Это сервер на базе Model Context Protocol (MCP), который подключается к Claude Code или Codex. Он дает агенту команды для генерации спрайтов, анимационных кадров, нарезки паков и экспорта тайлсетов прямо в файловую систему проекта без участия браузера.
В: Почему модель Fable 5.1 так быстро израсходовала лимиты? О: Fable 5.1 — тяжелая модель с глубоким циклом внутренних рассуждений (reasoning). В режиме High она генерирует огромное количество скрытых токенов размышлений на каждый запрос, что привело к исчерпанию 5-часового лимита тарифа за 80 минут работы.
В: Как реализовать отображение повреждений на зданиях в 2D-стратегии? О: Используйте ноду AnimatedSprite2D с тремя анимациями: целое состояние (100–60% HP), поврежденное со сколами/трещинами (60–1% HP) и обломки (0% HP). В коде здания проверяйте процент оставшегося здоровья при получении урона и вызывайте соответствующий кадр.
В: Насколько сложно перенести ПК-игру на Godot под мобильные телефоны с помощью AI? О: Достаточно подать агенту команду на замену событий клавиатуры (ui_up, ui_attack) на виртуальный джойстик и экранные кнопки TouchScreenButton. Агент автора добавил рабочий джойстик, тач-кнопки и миникарту за один промпт.
В: Что делать, если спрайты от AI получаются разного стиля и масштаба? О: Генерируйте ассеты паками («packs») в одном контекстном запросе через Sprite Cook, а затем нарезайте их встроенным инструментом Slicer. Это гарантирует совпадение палитры, толщины обводки и разрешения пикселей.
Ресурсы и ссылки
Sprite Cook — Сервис генерации, анимации спрайтов, тайлсетов и UI-китов с поддержкой MCP-сервера — spritecook.com(упомянут в видео)
Claude Code CLI — Терминальный AI-агент от Anthropic для автономного кодинга — упомянут в видео
Godot Engine — Бесплатный кроссплатформенный 2D/3D игровой движок с открытым исходным кодом — упомянут в видео
Конспект создан на основе видео «I Built a Complete Godot Game with AI Agents & Sprite Cook MCP» канала GameDev AI. Все права на оригинальный материал принадлежат авторам.Источник: https://www.youtube.com/watch?v=mxFy9Ie5CZc