
Подготовка
Получим ключ к DeepSeek V4.1 Flash, поставим opencode и программы, которые понадобятся модели, и соберём папку игры из набора ассетов. В конце DeepSeek проверит, всё ли на месте.
Это гайд продвинутого уровня: в нём сразу работа с агентом в терминале, Blender, git и длинные промпты. Если ты совсем новичок, рекомендую сначала пройти курс «Игра с нейросетями: от идеи до релиза». Там всё это объясняется с нуля, на маленькой игре.
Как всё было у меня
Я сделал браузерный файтинг Lantern Gate с Opus, а потом решил проверить, сможет ли дешёвая модель повторить его небольшими шагами. Я отдал DeepSeek V4.1 Flash те же ассеты: картинки и видео бойцов, текстуры, музыку и голос диктора. Сам код я не писал и не трогал. Только отправлял промпты, запускал игру, смотрел на результат и писал, что не так.
Промпты в гайде почти дословно те, что я отправлял. Я убрал из них только то, что касалось моих файлов, моих замеров и работы двух агентов параллельно. Исходные промпты лежат в наборе ассетов, в папке prompts-original.
| модель | DeepSeek V4.1 Flash, умеет смотреть на картинки и кадры |
|---|---|
| агент | opencode 2.2.5 в режиме, где модель сама выполняет команды |
| компьютер | MacBook Pro на M3 Pro |
| промптов | 19 |
| время модели | около 31 часа, самый долгий промпт почти 5 часов |
Что понадобится
- Компьютер с нормальной видеокартой. Игра на three.js с отражениями, дождём и огнём. Я делал всё на Mac. На Windows opencode советует работать через WSL, этот вариант я не проверял.
- Доступ к DeepSeek V4.1 Flash: API-ключ от любого провайдера, которого поддерживает opencode. Два способа ниже.
- Blender, бесплатный, с blender.org. DeepSeek запускает его без окна и строит 3D-модели скриптами. У меня была версия 5.2.
- ffmpeg: им DeepSeek режет видео на кадры.
- Node.js 22 или новее: на нём игра собирается и запускается.
- Python 3 с пакетами numpy, Pillow и opencv-python: на нём DeepSeek пишет обработку видео в спрайты.
- git: после каждого промпта сохраняем версию игры, чтобы можно было откатиться.
- Google Chrome: в нём DeepSeek проверяет игру так, как её увидит игрок.
Что-то из этого уже может стоять. В конце шага DeepSeek сам проверит, чего не хватает, и подскажет команды установки.
Доступ к модели
Сам opencode модель не даёт: её подключают по API-ключу провайдера. Подойдёт любой провайдер из списка opencode, у которого есть DeepSeek V4.1 Flash. Вот два способа, у меня был второй. Ключ понадобится при первом запуске opencode.
API DeepSeek
- Создай ключОткрой platform.deepseek.com, создай аккаунт и нажми Create new API key. Платишь за токены по тарифам DeepSeek: мой прогон стоил бы $6,38.
OpenCode Go
- Создай ключОткрой opencode.ai/console, войди, подключи план Go и скопируй API-ключ.
- Включи регион GlobalОткрой Settings, раздел Privacy, и в Regions выбери Global. Без этого DeepSeek V4.1 Flash не запустится: по умолчанию разрешены только Европа и США.
Как проверить:
- API-ключ DeepSeek или OpenCode Go скопирован и лежит под рукой
- Если ключ от OpenCode Go: в Settings › Privacy › Regions выбрано Global
Ставим opencode и программы
Открой Терминал и поставь opencode:
Проверь версию. Нужна вторая, у меня была 2.2.5:
Если ставишь через Homebrew, пиши brew install opencode. Вариант через anomalyco/tap ставит первую версию opencode, а в ней другие команды.
Blender скачай с blender.org и положи в «Программы». Остальное на Mac удобно поставить через Homebrew:
pip пишет «externally-managed-environment»
Так Homebrew защищает свой Python. Поставь пакеты через Homebrew: brew install numpy pillow opencv. Или пропусти этот пункт: в конце шага DeepSeek проверит окружение и подскажет команды для твоей системы.
Папка игры и набор ассетов
Скачай набор: lantern-gate-pack.zip (около 80 МБ). Внутри всё, что я дал DeepSeek, и немного сверху:
Распакуй архив и перенеси папку lantern-gate туда, где будешь работать, например в «Документы». Папки ref-target и prompts-original оставь снаружи: если положить их в папку игры, DeepSeek увидит будущие промпты и начнёт делать всё сразу.
В opencode.json три настройки. Первая запрещает модели трогать файлы за пределами папки игры. Вторая выключает генерацию картинок: все ассеты уже готовы. Третья выключает всплывающие вопросы, модель пишет их прямо в ответе. Так было и у меня.
В моём эксперименте DeepSeek сам нашёл и скачал звуки: Kenney и Freesound, все с лицензией CC0. Чтобы ты не зависел от того, найдёт ли их твой DeepSeek, я положил те же файлы в inputs/sfx. Откуда каждый файл, записано в inputs/sfx/CREDITS.md.
Сохрани первую версию в git. В Терминале перейди в папку игры:
Как проверить:
- В папке
lantern-gateлежатinputs,opencode.jsonи.gitignore ref-targetиprompts-originalлежат вне папки игрыgit logпоказывает коммит «ассеты»
Первый запуск
Запусти opencode в папке игры:
Флаг --auto сам подтверждает действия модели: команды и изменения файлов. Без него opencode спрашивал бы разрешение на каждое действие, а за один промпт их бывает несколько сотен. Запрет из opencode.json действует и в этом режиме.
- Подключи ключНабери
/connect, найди своего провайдера (DeepSeek или OpenCode Go) и вставь API-ключ. - Выбери модельНабери
/modelsи выбери DeepSeek V4.1 Flash. У провайдера DeepSeek её полное имяdeepseek/deepseek-flash, у OpenCode Goopencode-go/deepseek-v4.1-flash. - Проверь окружениеОтправь промпт ниже. Он ничего не ставит, только смотрит, что есть.
Поставь, чего не хватает, и запомни путь к Blender: он понадобится в первом промпте. Потом набери /new, чтобы первый настоящий промпт начался с чистого чата.
Как проверить:
- Внизу opencode видно модель DeepSeek V4.1 Flash и отметку auto
- В таблице DeepSeek всё отмечено как есть
- Путь к Blender записан
Как работать с промптами
Дальше в каждом шаге одно и то же: копируешь промпт, вставляешь в opencode, ждёшь отчёт модели, проверяешь результат. Вот что пригодится.
| Над промптом написано «новый чат» | Сначала набери /new. Модель забудет переписку, но не проект: план и правила она сама ведёт в PLAN.md и AGENTS.md, и каждый промпт просит их прочитать. Так каждый шаг дешевле и модель не путается в старом. |
|---|---|
| «тот же чат» | Просто отправь промпт в текущий чат. |
| В промпте «прикрепил» | Набери @ и выбери файл картинки или перетащи файл в окно терминала. Если не прикрепилось, ничего страшного: путь к файлу есть в тексте, DeepSeek откроет картинку сам. |
| Посмотреть игру | Открой второе окно Терминала в папке игры и запусти npm run dev. Адрес игры команда покажет сама. Отладочные адреса, например ?debug=anims, DeepSeek называет в отчёте. |
| После каждого промпта | Сохрани версию: git add -A && git commit -m "промпт 05". Если шаг испортил игру, всегда можно вернуться. |
| Остановить модель | Нажми Esc. |
Над промптом написано «новый чат». Что делать?
- Набрать
/newи отправить промптДа. Проект модель знает поAGENTS.mdиPLAN.md, а лишняя переписка ей только мешает. - Закрыть opencode и удалить папку игрыНет. Папка игры и есть результат, её не трогаем. Новый чат начинается командой
/new. - Отправить промпт в старый чатСработает, но модель потащит за собой всю прошлую переписку: дороже и легче запутаться.