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

План игры

Первый промпт описывает игру целиком, но код писать запрещает. DeepSeek изучит ассеты, сам посмотрит на кадры из видео и напишет план. В конце у тебя будут два файла: PLAN.md с планом по этапам и AGENTS.md с правилами проекта.

⏱ DeepSeek: около 20 минтвоё время: 10 миннужно: шаг 1 и путь к Blender

Зачем сначала план

Если сразу попросить «сделай файтинг», модель начнёт писать код, ничего не зная про ассеты. А в видео есть подвохи, которые видно только на кадрах: где-то персонаж снят мельче, где-то смещение зашито прямо в клип. Поэтому первый промпт просит только изучить ассеты и написать план. План ты прочитаешь сам, а в следующем шаге поправишь то, что не нравится.

AGENTS.md работает как память проекта. opencode читает его в каждом новом чате, а модель дописывает туда, что уже сделано. Поэтому дальше можно начинать новый чат на каждый этап и не пересказывать всё заново.

Отправляем первый промпт

Прикрепи к сообщению inputs/ref.png: набери @ и выбери файл. Это картинка, по которой DeepSeek будет делать локацию.

Если Blender у тебя лежит не в /Applications/Blender.app, замени путь во втором абзаце промпта на тот, что нашёл DeepSeek в шаге 1.

я хочу сделать файтинг для браузера, 2 персонажа. все ассеты я уже нагенерил, они лежат в inputs/ (описание ниже). анимации - это видео на зелёном фоне, их надо превратить в 2d спрайты. все анимации начинаются и заканчиваются в idle позе и должны бесшовно переходить одна в другую: текущая ускоренно доматывается до ближайшей idle-позы, и оттуда стартует следующая. ОЧЕНЬ ВАЖНО СДЕЛАТЬ СУПЕР ПЛАВНЫЕ АНИМАЦИИ КАК БУДТО ЭТО КИНО, но управление при этом должно быть отзывчивым, как в нормальном файтинге. фон - красивая детализированная 3d локация в стиле референса inputs/ref.png (прикрепил): ночные ворота китайского храма под дождём, красные фонари, жаровни с огнём, мокрый пол с отражениями. стек: three.js + vite. 3d модели (ворота, павильоны по бокам, каменные львы и т.д.) делай сам - скриптами blender через bpy в headless режиме, blender стоит тут: /Applications/Blender.app/Contents/MacOS/Blender, экспорт в glb. механика: у каждого персонажа лёгкий удар, сильный удар с рывком вперёд, низкий удар, удар в прыжке, ходьба вперёд/назад, прыжки, присед, блок, получение удара, нокдаун, победа. персонажи должны отличаться (у них разные удары). оппонент-ИИ не должен повторять атаки, чтобы смотрелось органично. готовые звуки лежат в inputs/sfx (CC0), если чего-то не хватит - скачай сам (тоже CC0, например opengameart). музыка и голос диктора уже есть. эффекты ударов (искры, хитстоп, тряска камеры, слоу-мо на нокауте) и всякие прикольные штуки - чтобы круто ощущалось. в конце всё должно выглядеть как законченная игра: титульный экран, меню, выбор бойца, экран VS, HUD с полосками здоровья, таймер, раунды, пауза, экран результатов. что лежит в inputs/: - ref.png - референс по стилю и настроению локации - characters/bailian/ - Бай Лянь, девушка-мастер ушу в белом с голубым, длинный хвост. characters/tiehu/ - Те Ху, огромный бородатый силач в красной жилетке с железными наручами - idle.png - персонаж в idle-стойке на зелёном фоне (из этой картинки делались видео) - clips/*.mp4 - анимации, 1920x1080, 24 fps, 4 сек (knockdown и win по 6 сек), зелёный фон #00ff00, камера статичная, персонаж всегда смотрит вправо. первый и последний кадр каждого клипа - та же самая idle-поза - idle - стойка, дыхание - walk_f - три шага вперёд (персонаж реально смещается по кадру вправо). ходьбу назад делаем этим же клипом задом наперёд - jump - прыжок вверх и приземление - block - блок руками - hit - получает удар в лицо и отшатывается - knockdown - сбит с ног, падает на спину, перекатом встаёт - lp - лёгкий удар (у Бай Лянь прямой кулаком, у Те Ху хук) - heavy - сильный удар с рывком вперёд через кадр (у неё скользящий выпад + удар ладонью, у него таран плечом) - low - низкий удар (у неё подсечка, у него присед и удар кулаком низко) - air - удар в прыжке (у неё летящий боковой ногой, у него летящее колено) - win - победная поза (только у Бай Лянь; Те Ху для победы можно взять блок) - важно: в клипах прыжков и нокдауна персонаж снят мельче (чтобы влез в кадр), так что масштаб между клипами надо выравнивать - textures/ - floor_stone, wood_red, roof_tiles, rock (тайлящиеся текстуры), backdrop (дальний фон: ночные горы/каньон) - music/ - menu.mp3, battle.mp3, victory.mp3 - voice/ - фразы диктора: title, choose, name_bailian, name_tiehu, round1, round2, final, fight, ko, perfect, time, draw, double, super, win_bailian, win_tiehu - sfx/ - звуки ударов, блоков, взмахов, шагов, падений, дождя, огня, грома и интерфейса (CC0, откуда каждый файл - в sfx/CREDITS.md) сначала ничего не кодь. изучи ассеты (посмотри картинки, видео через ffprobe/ffmpeg, можешь повытаскивать кадры и посмотреть на них) и напиши PLAN.md: архитектура, пайплайн обработки видео в спрайты, этапы работы с проверками после каждого этапа. и создай AGENTS.md с кратким описанием проекта и правилами (работаем только в этой папке, inputs/ не трогать, после каждого этапа проверять, что всё запускается без ошибок). потом остановись, я посмотрю план.

Когда DeepSeek закончит, сохрани версию:

git add -A && git commit -m "промпт 01: план"

Что получилось у меня

DeepSeek работал 21 минуту и сделал 98 действий. Сам вытащил кадры через ffmpeg, собрал из них листы и посмотрел на них. Нашёл настоящие особенности ассетов:

План вышел на 1000 строк: архитектура, обработка видео, этапы с проверками. В конце модель задала вопросы: как называется игра, нужен ли супер-удар, для каких устройств игра, нужны ли инструменты проверки кода. Ответы будут в следующем шаге.

Не без косяков. Модель решила, что голос диктора русский, хотя он английский: аудио она не слушала. И предложила два рискованных решения: дорисовывать кадры до 60 fps через ffmpeg и делать переходы между анимациями по 100-140 мс. Оба исправим следующим промптом.

Как проверить:

  • В папке игры появились PLAN.md и AGENTS.md
  • Кода игры ещё нет: модель остановилась и ждёт
  • Я прочитал план и вопросы в конце
  • Версия сохранена в git