Как Simon Willison собрал RTS с Claude Code: 12 итераций, 321 коммит и ключевые промпты по версиям

Как Simon Willison собрал RTS с Claude Code: 12 итераций, 321 коммит и ключевые промпты по версиям

Разбор по версиям из блога автора от 20 октября 2026 года, промпты переведены.

Разработчик Simon Willison описал игру Battle Drones — стратегию в духе Command & Conquer, которую собрал с помощью Claude Code. По словам автора, до онлайн-мультиплеера набралось 12 крупных итераций и 321 коммит. Игра открывается в браузере, код — в репозитории автора. Он пишет, что TypeScript знает плохо и почти не читал код.

Стартовый экран Battle Drones. Источник: simonw.github.io/battledrones
Стартовый экран Battle Drones. Источник: simonw.github.io/battledrones

v1–v2: от вопросов к прототипу

Первая версия началась в Claude Code for Web с фразы «Давай соберём RTS, удобную на телефоне». Следом: «Начнём с MVP-дизайна, задай мне несколько вопросов». Спрайты для техники автор генерировал через OpenAI Image Generation API. Вторая версия получила спрайты для всех машин и режим «ИИ против ИИ».

v3–v4: «сделай намного лучше» и «намного веселее»

Третью версию запустили на Opus 5.5 промптом «Радикально улучшить игру: графику и геймплей». Появилась более разнообразная местность.

Четвёртую версию автор назвал «веселящим» обновлением. Промпт: «Игра пока недостаточно весёлая. Сделай её намного веселее». Работа шла в режиме Ultracode — динамические workflows с субагентами — и заняла много часов. Автор проверил результат на более чем 1200 матчах ИИ против ИИ: доля партий, не решённых за 25 минут, упала с 14% до 0,9%. Он также предупреждает, что Ultracode расходует токены очень быстро.

v5–v7: 3D

Пятая версия — «Перенеси игру на three.js с 3D-моделями всех зданий» и далее техники и ландшафта, ещё один ночной прогон. Седьмая добавила роботов-пехотинцев и транспортный самолёт Condor.

v8–v10: обсуждение дизайна до кода

Для карты «Archipelago» автор просил: «Спроектируй новую карту, чтобы стратегические стимулы поощряли пехоту». Затем: «Сначала изучи и раскритикуй этот дизайн. Строй только после того, как мы договоримся».

Десятая версия с гигантскими мехами Goliath началась с «Помоги придумать идеи гигантских роботов для игры». Там же дополнительная задача для интереса: «Подумай, как сделать мультиплеер доступным для кодинг-агентов».

v11–v12: случайные карты и звук

Случайные карты автор сделал в окне на 45 минут, потратив остаток недельного лимита токенов. Промпт: «Придумай и реализуй механизм генерации случайной карты. На это 45 минут, прояви фантазию».

Двенадцатая версия — мультиплеер через звук. Здесь автор отсылает агента к своему примеру игры в понг: «Склонируй simonw/tools с GitHub и посмотри свежие ветки», затем «Сделай такую же версию для battledrones». Один из тестировщиков пожаловался, что от сигналов заболела голова, и автор добавил предупреждение.

Онлайн-мультиплеер за $2,19 в месяц

Для связи через интернет Claude собрал WebSocket-ретранслятор без хранения состояния и развернул его на Fly.io. По оценке автора, он обойдётся не дороже $2,19 в месяц.

Что взять из разбора

  • Начать с «задай мне вопросы», а не с готового ТЗ.
  • Для дизайна — «исследуй, раскритикуй, строй после согласования».
  • Для идей — просьба поразмышлять, а не сразу реализовывать.
  • Для длинных задач автор использовал Ultracode и ночные прогоны, а для коротких — явный лимит времени («45 минут»).
  • Качество проверять симуляцией: 1200 матчей ИИ против ИИ дали цифру вместо ощущения.
  • Ограничения: часть спрайтов сделана через API OpenAI, а код автор почти не просматривал.

Промпты, инструменты и уроки по Claude — в Telegram-боте «Базы без воды».

11