Список ниже разделён на две части, и это разделение важнее, чем кажется: одни вещи нужны, чтобы начать писать код прямо сегодня, другие — чтобы игру вообще приняли на модерацию. Вторая группа оформляется не мгновенно (проверка реквизитов и подготовка договора, по документации, обычно занимает несколько рабочих дней), поэтому запускать её лучше параллельно с разработкой, а не в тот день, когда игра готова.
Всё, что касается платформы, сверено с официальной документацией Яндекс Игр в сентябре 2026 года. Правила и формы регистрации меняются — перед оформлением договора имеет смысл заглянуть в первоисточник.
Минимальный набор
| Что | Зачем | Когда понадобится |
|---|---|---|
| Аккаунт Яндекс ID с логином Яндекса | Вход в Консоль разработчика | До создания черновика |
| Профиль в Консоли разработчика | Черновик игры, тест на реальном адресе | До первого прод-теста |
| Договор — ЕЛС или РСЯ | Кнопка «Отправить на модерацию», выплаты | До публикации |
| Браузер (лучше несколько) | Разработка и проверка совместимости | Сразу |
| Редактор кода | Собственно работа | Сразу |
| Node.js | Локальный запуск через sdk-dev-proxy | Сразу |
| Claude Code | Написание и разбор кода | Сразу |
| Git | Откат неудачных правок | Желательно сразу |
Ни движка, ни сборщика, ни TypeScript в этом списке нет намеренно. Игра для Яндекс Игр — это ZIP-архив, в корне которого лежит index.html; всё остальное — ваш выбор, а не требование платформы.
Аккаунт Яндекса и Консоль разработчика
Требования к аккаунту
Нужен аккаунт Яндекс ID именно с логином Яндекса — вида example-login@yandex.ru. Если аккаунт проходил только упрощённую регистрацию, документация просит заранее пройти полную и получить такой логин. Там же есть прямое предупреждение: при использовании логинов других почтовых сервисов (mail.ru, gmail.com, rambler.ru) рекламная монетизация может не подключиться.
Второе ограничение стоит осознать до регистрации: на один Яндекс ID можно создать только один аккаунт разработчика. Если вы планируете разделить личное и рабочее — решайте это сейчас, а не после публикации первой игры.
Сама Консоль живёт по адресу games.yandex.ru/console.
Два шага регистрации
Регистрация состоит из двух независимых частей, и между ними можно спокойно работать неделями.
Шаг 1 — профиль разработчика. Вы указываете имя разработчика (латинские буквы, цифры, пробел, дефис, подчёркивание; нельзя email, ссылки и доменные указатели) и принимаете условия сотрудничества — какие именно, зависит от вашего налогового резидентства. Имя видно игрокам в описании игры, так что «test123» лучше не оставлять. После создания профиля вы уже можете добавить игру и заполнить черновик. Модерация при этом ещё недоступна.
Шаг 2 — договор. Он открывает модерацию и выплаты. Куда идти — зависит от формы сотрудничества.
| Кто вы | Где заключается договор |
|---|---|
| Россия, юрлицо или ИП | Единая лицензионная схема, прямо в Консоли |
| Физическое лицо или другая страна | В Консоли пока нельзя — регистрация в Рекламной сети Яндекса (partner.yandex.ru) |
Формулировка «пока нельзя» — из документации, проверено в сентябре 2026 года; список поддерживаемых форм сотрудничества со временем расширяется, так что проверьте актуальное состояние в Консоли.
Важно
Отправить игру на модерацию можно только после того, как заключён договор — по единой лицензионной схеме в Консоли или в РСЯ. Разработка, черновик и тестирование на реальном адресе доступны и без него, но кнопка отправки будет закрыта. Начинайте оформление заранее.
Что поставить на компьютер
Браузеры
Требование 1.20 перечисляет окружения, в которых игра должна корректно запускаться — но только те, что подходят под выбранные вами в черновике платформы.
| Категория | Что указано в требовании 1.20 |
|---|---|
| Браузеры | Яндекс Браузер, Google Chrome, Mozilla Firefox, Opera, Safari, мобильное приложение Яндекс |
| Мобильные ОС | Android 5.0 и выше, iOS 9.0 и выше |
| ТВ | Android TV |
Практический вывод: одного Chrome для разработки мало. Как минимум держите под рукой Firefox и, если выбираете мобильные платформы, реальный телефон — эмуляция устройства в DevTools не воспроизводит ни поведение звука при потере фокуса, ни жесты вроде swipe-to-refresh, а это отдельные пункты требований.
Node.js
Node нужен ровно для одной вещи — официального пакета для локального запуска. Сама игра на чистом JavaScript в Node не нуждается, и в архив он не попадает. Документация не называет минимальную версию, просто отправляет на nodejs.org; берите текущий LTS.
Claude Code
Проверено по документации Anthropic в сентябре 2026 года:
- Системные требования: macOS 13.0+, Windows 10 1809+ или Windows Server 2019+, Ubuntu 20.04+, Debian 10+, Alpine 3.19+; 4 ГБ RAM и больше; процессор x64 или ARM64; постоянный доступ в интернет.
- Аккаунт: нужен тариф Pro, Max, Team, Enterprise либо аккаунт Console. Бесплатный план Claude.ai доступа к Claude Code не даёт. Альтернатива — сторонний API-провайдер (Amazon Bedrock, Google Cloud, Microsoft Foundry).
- Установка: нативный установщик. В PowerShell —
irm https://claude.ai/install.ps1 | iex, в macOS/Linux/WSL —curl -fsSL https://claude.ai/install.sh | bash. Есть также Homebrew, WinGet и npm-пакет (npm-вариант, начиная с версии 2.1.198, хочет Node.js 22+). - На Windows полезно поставить Git for Windows: без него Claude Code выполняет команды через PowerShell, с ним доступен Bash.
После установки проверьте себя: claude --version печатает версию, claude doctor — диагностику установки и настроек.
Редактор и Git
Редактор — любой: VS Code, Sublime, WebStorm, что привычно. Claude Code работает из терминала и правит файлы сам, так что редактор нужен вам, чтобы читать результат, а не чтобы набирать код.
Git формально не обязателен, но с ассистентом, который меняет по десять файлов за запрос, коммит перед каждой крупной правкой — это единственный дешёвый способ откатиться, когда «стало хуже».
Локальный запуск: два режима
Официальный способ гонять игру с локального сервера — пакет @yandex-games/sdk-dev-proxy. У него два принципиально разных режима, и разница между ними определяет, что вам нужно оформить прямо сейчас.
| dev-окружение | prod-окружение | |
|---|---|---|
| Регистрация и черновик | Не нужны | Обязательны |
| Где открывается | https://localhost | Реальный адрес на yandex.ru/games |
| Вызовы SDK | Моки, логируются в консоль | Настоящая платформа |
| Реклама | Заглушки, но колбэки отрабатывают как в проде | Настоящая |
| Данные игрока и лидерборды | localStorage | Сервер |
| CSP | Ограничений нет | Внешние хосты — только из белого списка |
Установка и запуск:
npm install -g @yandex-games/sdk-dev-proxy
# dev: моки, никакой регистрации не требуется
npx @yandex-games/sdk-dev-proxy -p ./my-game --dev-mode=true
# prod: реальная платформа, нужен ID черновика
npx @yandex-games/sdk-dev-proxy -p ./my-game --app-id=<ID игры>Полезные параметры: -p — папка с игрой, -h — адрес уже запущенного локального сервера (например, webpack-dev-server), --port — порт (по умолчанию 8080), --csp — добавить метатег Content-Security-Policy, такой же, какой будет на сервисе, --tld — сменить домен yandex.tld.
Совет
dev-окружение не требует ни регистрации, ни черновика. Это значит, что первую игру со всеми вызовами SDK можно написать и отладить сегодня вечером, а Консолью и договором заняться, когда станет понятно, что проект вообще состоится.
Какие знания нужны на самом деле
Честный минимум:
- HTML и CSS — на уровне «сделать полноэкранный canvas без полосы прокрутки». Требование 1.10.2 прямо запрещает браузерный скроллбар и swipe-to-refresh, так что базовая вёрстка тут не украшение, а условие приёмки.
- JavaScript — DOM, события,
setTimeout/requestAnimationFrame, работа с JSON. Отдельно: промисы иasync/await. Весь SDK Яндекс Игр промисный, и без пониманияawaitвы будете спотыкаться на каждом втором примере. - Canvas 2D или любая библиотека рендеринга поверх него.
- Умение читать консоль браузера. Ошибки JS при запуске или в игре — отдельная причина отказа (требование 1.14).
Чего не нужно: TypeScript, React, сборщиков, движков, серверной части. Всё это может пригодиться в большом проекте, но ни один пункт требований их не предполагает.
Графика и звук: где брать и как не получить отказ
Требование 3.5 сформулировано жёстко: авторские права на все материалы принадлежат создателю, и отправляет их на модерацию сам создатель или другое лицо, имеющее право на распространение. Практически это значит, что «нашёл в поиске картинок» — не вариант, и ответственность здесь ваша, а не модератора.
Где искать легально:
- Коллекции с лицензией CC0 (общественное достояние) — самый безопасный вариант: разрешено использовать в коммерческих проектах без указания автора. Крупнейший известный источник такого рода — Kenney.nl.
- OpenGameArt.org, itch.io, Freesound.org — лицензии там разные для каждого файла: CC0, CC-BY (нужна атрибуция), CC-BY-SA (заражает производную работу), проприетарные. Проверять надо каждый ассет отдельно, а не сайт целиком.
- Шрифты — Google Fonts и подобные коллекции с открытыми лицензиями. Системные шрифты в вебе выглядят по-разному на разных ОС.
- Материалы, сгенерированные ИИ, использовать можно: требование 1.23 запрещает интерактивный ИИ внутри игры, но прямо разрешает заранее сгенерированные материалы.
Заведите в проекте файл вроде assets-licenses.md и записывайте туда для каждого файла источник, автора и лицензию. Это не требование платформы — это ваша страховка через полгода, когда вспомнить происхождение спрайта будет невозможно. Если лицензия требует атрибуции, экран «Авторы» в игре — нормальное место для неё; документация допускает добавление в игру текстовых документов вроде лицензионного соглашения.
Осторожно
Отдельно проверьте название и промоматериалы. Требование 3.6 запрещает публиковать полную или частичную копию другой игры из каталога, а также дублировать собственную игру. Персонажи и стилистика известных франшиз — прямой путь к отказу, даже если код полностью ваш.
Claude Code: что он умеет и чего ждать не стоит
Умеет — и делает хорошо:
- читать весь проект целиком и вносить согласованные правки сразу в несколько файлов;
- запускать команды: установить пакет, поднять dev-proxy, собрать архив, проверить структуру;
- разбирать ошибки по тексту из консоли браузера;
- сверяться с актуальной документацией, если попросить: каждая страница документации Яндекс Игр доступна в виде Markdown — достаточно дописать
.mdк адресу; - держать рутину: проверить, что в корне архива лежит
index.html, что в именах файлов нет пробелов и кириллицы (требование 1.22), что архив укладывается в 100 МБ в распакованном виде (требование 1.21).
Чего ждать не стоит:
- Он не рисует спрайты и не пишет музыку. Это текстовый инструмент; графику и звук вы берёте отдельно.
- Он не проходит модерацию за вас. Никакой инструмент не гарантирует результат проверки — решение принимает модератор Яндекса.
- Он не играет в вашу игру. Оценить, весело ли, отзывчиво ли управление, не раздражает ли реклама — только вы.
- Он знает SDK по обучающим данным, а там полно устаревших примеров. Это самая практичная проблема из всех.
Частая ошибка
Четыре устаревших шаблона, которые ассистент (и большинство статей в сети) выдаёт по умолчанию: подключение SDK по адресу https://yandex.ru/games/sdk/v2; ysdk.getLeaderboards() вместо ysdk.leaderboards.*; getPlayer({ scopes: ... }); вызов несуществующего player.flush(). Первый из них ломает требование 1.19.1 и приводит к отказу на модерации. Разбор каждого — в главах про SDK.
Лечится это одним файлом. Положите в корень проекта CLAUDE.md — Claude Code читает его автоматически в начале работы:
# Правила проекта
- SDK подключается тегом <script src="/sdk.js"></script>.
Адрес https://yandex.ru/games/sdk/v2 — устаревший загрузчик, не использовать.
- Лидерборды — только через ysdk.leaderboards.getDescription / setScore /
getPlayerEntry / getEntries. ysdk.getLeaderboards() устарел.
- ysdk.getPlayer() принимает только { signed }. Параметра scopes не существует.
- flush — второй аргумент setData(data, flush). Метода player.flush() нет.
- Сомневаешься в API — проверь на yandex.ru/dev/games/doc/ru,
любая страница доступна как Markdown, если дописать .md к адресу.Пять строк, которые экономят несколько дней ожидания между отказами модерации.
Чек-лист
- Яндекс ID с яндексовым логином, полная регистрация пройдена
- Профиль в Консоли разработчика создан
- Оформление договора запущено (ЕЛС или РСЯ)
- Node.js установлен,
npx @yandex-games/sdk-dev-proxy --helpотвечает - Claude Code установлен,
claude doctorне ругается - Git инициализирован в папке проекта
-
CLAUDE.mdс правилами по SDK лежит в корне - Понятно, откуда возьмётся графика и звук, и под какой лицензией
Что дальше
Дальше — первый работающий каркас: минимальный index.html, запуск через dev-proxy в режиме моков и проверка, что SDK инициализируется. Это тот момент, когда список из этой главы превращается в игру, которую уже можно открыть в браузере.