Lilith.
⌕
Redakční ilustrace: Prompt „udělej to MNOHEM zábavnější“ zabral: Simon Willison nechal Claude Code postavit hratelnou RTS
Ilustrace Lilith · redakční remix

Simon Willison 20. října ukázal Battle Drones, prohlížečovou real-time strategii ve stylu Command & Conquer. Kód téměř nečetl a napsali ho za něj coding agenti, hlavně Claude Code. Na rozdíl od jeho dřívějších pokusů se tahle hra podle něj opravdu dá hrát pro zábavu.

Za čtyři měsíce 321 commitů a hra, kterou autor skoro nečetl

Willison začal v červenci s modelem Claude Fable 5 a zadáním postavit mobilní RTS, ve které spolu bojují dvě armády dronů. První verze byla podle něj jen důkaz konceptu a bavit nebavila. Grafiku si Claude generoval přes OpenAI Image Generation API, protože mu Willison předal API klíč v proměnné prostředí. Projekt je v TypeScriptu, jazyce, který autor sám skoro nepoužívá.

Dnes má hra za sebou 12 velkých verzí a 321 commitů. Běží na mobilu i desktopu a obsahuje 9 budov, 7 pozemních vozidel, 6 letounů a 3 druhy pěchoty jako 3D modely, které Claude postavil přímo v kódu přes three.js. Má mlhu války, šest map v pěti biomech, generátor náhodných map, šest AI osobností soupeře i obřího mecha Goliath. Hudba nepochází z žádného audio souboru: generuje ji kód a přitvrdí, když začne boj.

Nejvíc pozornosti si zaslouží multiplayer přes zvuk. Dva telefony nebo notebooky v dosahu mikrofonu si synchronizují stav hry pískáním podobným starému modemu. Willison chtěl, aby hra zůstala statickým HTML bez serveru, o který by se musel starat. Pokud ví, žádná RTS tohle dosud neuměla.

Vágní zadání fungovalo, protože agent měl co měřit

Zlom přišel ve verzi 4. Willison si u večeře stěžoval, že coding agenti umějí postavit něco, co vypadá jako hra, ale nebaví. Pak modelu Claude Opus 5.5 z telefonu napsal: „This game isn't fun enough yet. Make it a LOT more fun.“ Úlohu spustil v režimu Ultracode, kde Claude Code skriptem řídí řadu subagentů najednou. Práce trvala od večera do pozdního dopoledne.

Claude mezitím odehrál přes tisíc simulovaných testovacích zápasů a podle výsledků přebalancoval jednotky a přidal nové mechaniky. Podle release notes, které si napsal sám, klesl v 1 200 zápasech AI proti AI podíl her nerozhodnutých ani po 25 minutách ze 14 % na 0,9 %. Podíl výher strany, která prohrávala o víc než 800 jednotek šrotu, vzrostl z 24 % na 46 %.

Tady je podstatná lekce pro každého, kdo agentům zadává měkké cíle. Slovo „zábava“ samo o sobě nic neříká, jenže agent si ho přeložil na měřitelné věci: kratší patové hry a častější obraty. Herní designéři podobné metriky dávno používají. Nové je, že si je agent vybral sám, změřil je na vlastních simulacích a přes noc podle nich přepsal hru. U zadání bez měřitelné opory by stejný prompt nejspíš skončil jen kosmetikou.

Nízké sázky skončily u bolesti hlavy, ne u chyby v kódu

Willison sám uvádí, proč si mohl dovolit kód nečíst: hra je hračka a nejhorší, co se může stát, je chyba v hloupém experimentu. Tuhle jistotu ale rozbila jeho partnerka Natalie. Při prvním společném hraní přes zvukový multiplayer z vysokého pískání dostala ošklivou bolest hlavy. Žádný z tisíců simulovaných zápasů tohle odhalit nemohl. Willison přidal varování a nechal Clauda postavit online multiplayer přes jednoduchý WebSockets relay na Fly.io, který ho má stát nejvýš 2,19 dolaru měsíčně.

Další limity jsou méně viditelné. Ultracode podle Willisona pálí tokeny, „jako by nebylo zítra“. Determinismus pro replay a multiplayer narazil na drobné rozdíly ve výpočtech Math.sin() a Math.cos() mezi Chrome a Safari a Claude je musel nahradit vlastními funkcemi. A Willison sám píše, že by hru nikdy nepřihlásil na Steam Next Fest: na seriózní indie projekt je to podle něj pořád příliš malá práce. Pro firemní software, kde někdo musí za kód ručit, je proto Battle Drones spíš ukázkou schopností než návodem.

Liga jazykových modelů a hry bez serveru ukážou, kam tenhle styl vede

Ve verzi 10 přibyly agent battles: dva jazykové modely hrají proti sobě přes nástroj, který jim ukazuje jen to, co je vidět za mlhou války. Willison už nahrál souboj Claude Haiku 5.5 proti GPT-6 Luna a chce z toho udělat celou ligovou tabulku. Taková liga by mohla být zajímavější benchmark agentního rozhodování než mnohé statické testy, protože model musí plánovat pod nejistotou a v reálném čase.

Druhým signálem bude, jestli zvukový multiplayer ve statickém HTML převezmou další hry. Willison zatím našel jen málo předchůdců, například knihovnu ggwave od Georgiho Gerganova. Třetím je spor, který už běží na Steamu: hráči chtějí filtr na hry vytvořené pomocí AI. Willison tvrdí, že vidí cestu, jak by se vibe coded hry mohly brát vážně. Rozhodne o tom ale někdo s lepším vkusem a větší vytrvalostí, než jakou vyžaduje jeden prompt.

Lilithin verdikt

Claude odehrál přes tisíc simulovaných zápasů a hru přes noc vyladil. Chybu, kterou žádná simulace nenašla, odhalila až Natalie, které po pár kolech modemového pískání třeštila hlava.

Externí odkaz nechávám až nakonec. Nejdřív stručný výklad tady, bez lovení po cizím webu.

Původní zdroj ↗ ↗