Как создать браузерную игру с GPT-5.6 Sol через Codex CLI

OdiRouter Team
Создание браузерной игры с GPT-5.6 Sol в Codex CLI

Сделать игру с помощью AI сегодня несложно. Сложнее получить проект, который не развалится после второго изменения. Один большой промпт почти всегда создаёт эффектную демонстрацию: кнопки нажимаются, цифры меняются, враги появляются. Затем вы просите добавить сохранение или новый ресурс — и выясняется, что вся логика живёт в одном обработчике на несколько сотен строк.

В этом руководстве мы соберём небольшую браузерную стратегию с GPT-5.6 Sol в Codex CLI. Без игрового движка, изображений и внешних ассетов: HTML, CSS и JavaScript. Такой формат удобен для проверки coding agent — результат можно открыть локально, механику легко увидеть, а ошибки нельзя спрятать за красивой графикой.

Для доступа к модели используем OdiRouter.ai. Codex CLI поддерживает собственного провайдера Responses API, поэтому GPT-5.6 Sol подключается через Base URL и API-ключ без изменения самого агента.

Что мы будем создавать

Задача — не очередная кнопка «добыть золото», а маленькая законченная игра. Игрок развивает поселение, добывает ресурсы, строит казарму, нанимает воинов и переживает набеги.

Система

Минимальная механика

Что проверяем у модели

Ресурсы

Золото, древесина, население

Единый источник состояния и корректные расчёты

Постройки

Лесопилка, шахта, дом, казарма

Зависимости и рост стоимости

Армия

Найм воинов только после казармы

Проверка условий до изменения состояния

Набеги

Сила врага растёт по раундам

Баланс и отсутствие безвыходных сценариев

Сохранение

LocalStorage

Версионирование и безопасное восстановление

Интерфейс

Панель ресурсов, действия и журнал

Связь UI с состоянием без дублирования логики

 

Почему GPT-5.6 Sol

GPT-5.6 Sol в каталоге OdiRouter.ai позиционируется как флагманский маршрут для сложных задач с рассуждением, планированием и выполнением кода. Для игры важен не отдельный удачный HTML-файл, а способность держать несколько зависимых систем и изменять их поэтапно.

По состоянию на 6 августа 2026 года цена в OdiRouter.ai составляет $0,49 за миллион входных и $2,94 за миллион выходных токенов при входном контексте до 272K. Для большего входа действует повышенный тариф. Цены динамические, поэтому перед большим запуском стоит проверить актуальную страницу OdiRouter.ai.

Важнее цены токена — цена принятого изменения. Если модель с первого раза создаёт понятную структуру и исправляет ошибку локальным diff, она может быть выгоднее дешёвого маршрута, который приходится постоянно направлять вручную.

Подключаем GPT-5.6 Sol к Codex CLI

1. Устанавливаем Codex

На macOS, Linux и WSL можно использовать официальный установщик:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

Или установить CLI через npm:

npm install --global @openai/codex
codex --version

2. Настраиваем провайдера

В пользовательском файле ~/.codex/config.toml указываем модель и Responses API OdiRouter:

model = "gpt-5.6-sol"
model_provider = "odirouter"
model_reasoning_effort = "high"

[model_providers.odirouter]
name = "OdiRouter"
base_url = "https://api.odirouter.ai/v1"
env_key = "ODIROUTER_API_KEY"
wire_api = "responses"

Блок провайдера должен находиться именно в пользовательской конфигурации. Проектный файл не должен перенаправлять учётные данные.

3. Передаём API-ключ

export ODIROUTER_API_KEY="YOUR_API_KEY"

На Windows PowerShell:

$env:ODIROUTER_API_KEY="YOUR_API_KEY"

Создаём проект, а не просим «сделать игру»

Сначала подготовим пустой каталог:

mkdir frontier-settlement
cd frontier-settlement
git init
codex

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

Первый запрос должен создать технический контракт:

Мы создаём браузерную стратегию без фреймворков и внешних ассетов.
Пока не пиши код.

Подготовь GAME_SPEC.md со следующими разделами:
1. Игровой цикл.
2. Ресурсы и начальные значения.
3. Постройки, стоимость и эффект.
4. Армия и правила боя.
5. Формула роста сложности набегов.
6. Условия победы и поражения.
7. Формат сохранения.
8. Структура файлов проекта.

Все числовые значения вынеси в отдельную таблицу баланса.
Если требования противоречат друг другу, сначала задай вопросы.

Эта пауза экономит больше времени, чем кажется. Модель вынуждена зафиксировать правила до того, как правила превратятся в код.

Второй промпт: рабочий вертикальный срез

После проверки спецификации просим реализовать не всю игру, а один полный игровой цикл:

Реализуй первый вертикальный срез по GAME_SPEC.md.

Требования:
- index.html, styles.css и отдельные JS-модули;
- состояние игры не хранится в DOM;
- все изменения ресурсов проходят через функции доменной логики;
- доступны лесопилка, шахта, дом и казарма;
- воинов нельзя нанимать без казармы;
- один тестовый набег запускается вручную;
- каждое действие записывается в журнал;
- интерфейс работает на экране шириной от 360 px;
- никаких CDN, изображений и внешних библиотек.

После изменений перечисли созданные файлы, объясни архитектуру
и укажи, как запустить игру локально.

Слово «вертикальный» здесь важно. Мы хотим пройти путь от интерфейса до расчёта результата, но оставить объём небольшим.

Какая структура должна получиться

frontier-settlement/
├── index.html
├── styles.css
├── GAME_SPEC.md
├── README.md
└── src/
    ├── config.js
    ├── state.js
    ├── economy.js
    ├── buildings.js
    ├── combat.js
    ├── storage.js
    ├── ui.js
    └── main.js

Название файлов может отличаться. Важен принцип: числовой баланс, состояние, бой, сохранение и отображение не должны смешиваться в одном сценарии. Иначе любое последующее изменение превращается в переписывание.

Первый запуск: что проверять вручную

Открыть HTML и увидеть работающие кнопки недостаточно. Я бы прошёл пять коротких сценариев:

1. Попытаться нанять воина до строительства казармы.

2. Потратить почти все ресурсы и проверить, не уходит ли баланс в минус.

3. Построить несколько одинаковых зданий и проверить рост стоимости.

4. Проиграть набег и убедиться, что штраф применяется один раз.

5. Перезагрузить страницу и проверить восстановление состояния.

Ошибку нужно отдавать агенту вместе с наблюдаемым результатом, а не словами «игра сломалась».

После перезагрузки число воинов восстанавливается, но стоимость следующего
найма возвращается к начальному значению. Найди источник рассинхронизации.
Сначала объясни причину, затем внеси минимальное исправление.
Не меняй баланс и интерфейс. Добавь регрессионную проверку.

Добавляем автоматические проверки

Браузерная игра без сборщика всё равно может иметь тестируемое ядро. Экономику и бой стоит оформить как чистые функции, которые получают состояние и возвращают результат.

Вынеси расчёты экономики и боя в чистые функции без DOM и LocalStorage.
Добавь тесты на встроенном node:test:
- ресурсы не становятся отрицательными;
- найм без казармы отклоняется;
- сила набега растёт монотонно;
- одинаковый seed даёт одинаковый результат боя;
- загрузка старой версии сохранения использует миграцию.

Запусти тесты и покажи итоговую команду.

Если агент не может проверить собственное изменение, мы получаем код, который выглядит правдоподобно, но не имеет подтверждённого поведения.

Баланс нельзя поручить одному промпту

В первой версии стратегия почти наверняка окажется либо слишком лёгкой, либо безвыходной. Это нормально. Баланс — не генерация чисел, а цикл наблюдений.

Попросите агента сначала добавить телеметрию игровой сессии:

· время до первой казармы;

· ресурсы перед каждым набегом;

· силу армии и противника;

· причину поражения;

· число раундов до победы.

После нескольких ручных прохождений передайте значения модели и попросите изменить не более двух параметров. Если одновременно поменять добычу, цены зданий, силу врага и штрафы, понять эффект будет невозможно.

Сколько стоит такая сессия

Codex многократно читает файлы, планирует изменения и возвращает код, поэтому стоимость зависит не от одного сообщения, а от всей траектории. Для ориентира возьмём сессию с 50 000 входных и 12 000 выходных токенов.

Часть

Расчёт

Стоимость

Вход

0,05 × $0,49

$0,0245

Выход

0,012 × $2,94

$0,03528

Итого

Без Cache Write и повторных вызовов

Около $0,0598

 

Это не обещание цены готовой игры. Длинный контекст, повторные попытки и крупные ответы увеличат сумму. Поэтому полезно считать стоимость принятой итерации: сколько API-расходов потребовалось до diff, который прошёл тесты и не нуждается в ручном переписывании.

Что GPT-5.6 Sol сделает хорошо, а что останется разработчику

Можно делегировать

Нужно контролировать

Первичную структуру проекта

Правила и границы задачи

Реализацию повторяющихся механик

Игровой баланс и интерес

Рефакторинг модулей

Безопасность сохранений и миграций

Подготовку тестов

Полноту тестовых сценариев

Объяснение существующего кода

Приёмку diff и архитектурные решения

 

Итог

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

Codex CLI даёт модели доступ к реальному проекту, а OdiRouter.ai позволяет использовать GPT-5.6 Sol через единый API и при необходимости сравнить результат с другими моделями. Но ни агент, ни роутер не решают, какая игра интересна. Они сокращают путь от решения до проверяемого кода — если человек не отдаёт им право незаметно придумывать правила на ходу.

#AI для программирования#Codex CLI#GPT API#GPT-5.6 Sol#HTML игра#JavaScript игра#OdiRouter.ai#coding agent#браузерная игра#вайб-кодинг#разработка игр#создание игры с AI