AI Фактор

Промпт «зроби веселіше» оживив RTS-гру

Досвід 21.10.2026
Промпт «зроби веселіше» оживив RTS-гру

Simon Willison vibe-кодив RTS Battle Drones у стилі Command & Conquer за 12 iterations і 321 коміт, переважно Claude Code, майже не переглядаючи код TypeScript. Перелом стався після промпту «Make it a LOT more fun» в Ultracode mode (dynamic workflows: скрипт координує багато subagents) — прогін тривав з вечора до ранку. У 1200 AI-vs-AI матчах частка нерезультативних ігор після 25 хв впала з 14% до 0,9%. Гра підтримує мультиплеєр через звук між сусідніми пристроями.

Що це означає для бізнесу: якщо користуєтесь Claude Code for Web — спробуйте Ultracode mode саме на задачах із довгим автономним прогоном (масове тестування, рефакторинг), а не на швидких правках.

Від нудної RTS до «Make it a LOT more fun»

Проєкт почався в липні з Claude Fable 5 і промпту We are going to build a mobile friendly RTS game - command and conquer style - called Battle Drones. v1 на фреймворку Phaser 2D і спрайтами, згенерованими через OpenAI Image Generation API, був «ледве proof of concept» — грати в нього не хотілося. v2 додав повні спрайти й режим AI vs AI. У жовтні Willison перейшов на Claude Opus 5.5 і випустив v3: нові карти, кращі спрайти — але гра все ще швидко набридала.

Перелом стався в v4: промпт This game isn't fun enough yet. Make it a LOT more fun. у режимі Ultracode (Claude Code запускає «dynamic workflows» — скрипт, що координує багато subagents одночасно). Прогін почався ввечері, результат з'явився тільки пізно вранці наступного дня. Claude прогнав понад тисячу симуляцій плейтестів і на їхній основі перебалансував юніти та додав нові механіки. У 1200 матчах AI проти AI частка нерезультативних ігор після 25 хв впала з 14% до 0,9%, а частка перемог стороною, що відставала на 800+ scrap, зросла з 24% до 46%. У v5 Willison попросив портувати гру на three.js — Claude сам написав усі 3D-моделі будівель і техніки в TypeScript, знову за один overnight-прогін.

Ще два приклади: карта з обмеженнями та битви агентів

У v8 Willison помітив, що ШІ-супротивник майже не використовував піхоту й транспортні Condor з попередньої версії — не було стратегічного сенсу. Він дав детальний промпт: нова карта з обмеженими ресурсами харвестерів, uplink-станціями на островах, куди можна дістатися лише Condor-ом із піхотою на борту, двома HQ, розділеними водою й з'єднаними мостами, і новим біомом. Ключова деталь промпту — порядок дій: First research and then critique this design. Only build after we have agreed on any modifications. Тобто спершу дослідження й критика, і лише потім код.

У v10 через серію brainstorm-промптів з'явилися гігантські мехи Goliath: вони можуть «заякоритись» і стати мобільною HQ, а два Condor-и здатні підняти мех у повітря. Там же з'явився режим Agent vs Agent — наприклад, GPT-6 Sol проти Claude Opus 5.5, де кожна модель отримує інструмент із доступом до ігрового стану (без картинки, лише те, що видно через «туман війни»). Opus сам написав документ-пропозицію AGENT-BATTLES.md і реалізував та протестував фічу. А v11 — рандомний генератор карт — з'явився спонтанно: Willison побачив, що залишилося 75% тижневого лімиту Claude й до скидання 45 хвилин, і дав промпт You have 45 minutes to build this! Be creative.

Де Ultracode ламається

Ultracode «спалює токени так, наче завтра не настане» — це режим для задач, де потрібен довгий автономний прогін (overnight-рефакторинг, масовий плейтест), а не для швидких правок за кілька хвилин.

Деякі збої виринали вже після релізу. Для реплеїв і мультиплеєра потрібен детермінований рушій, а Math.sin() і Math.cos() у Chrome й Safari повертали трохи різні числа — це розсинхронізовувало реплеї, і Claude довелося замінити ці функції власними детермінованими версіями. А звуковий мультиплеєр (v12), побудований на основі окремого експерименту Chirp Pong, викликав у реальної людини головний біль через високочастотні звуки модему — довелося додати попередження й терміново будувати запасний варіант.

Що перевірити перед тим, як довіряти результату

Автор прямо каже, що «переглянув майже жоден рядок коду» — статистика з тисяч AI vs AI матчів тут замінює ревʼю коду, але не замінює власний плейтест реальними людьми, який і виявив проблему з головним болем.

  • Перевіряти поведінку в різних браузерах там, де потрібна детермінованість (реплеї, синхронізація мультиплеєра)
  • Для експериментальних фіч (аудіо, нестандартні механіки) додавати попередження й запасний варіант до того, як показувати реальним користувачам
  • Перевіряти залишок квоти перед запуском довгого Ultracode-прогону — він триває годинами і витрачає токени без зупинки

Коли Willison додав запасний серверний мультиплеєр через WebSockets-релей на Fly.io, він оцінив вартість у не більше $2,19/місяць — але лише за умови, що інстанс scale-to-zero залишається «гарячим» і обслуговує з'єднання весь час.

Раніше в темі8 КБ skill замінює 207-тулзовий MCP для реверс-інжинірингуПізніше в теміClaude Code прибрав рекламу з TCL Google TV
Читати в ТелеграміПрактика ШІ в бізнесі — щодня, без хайпу