Blog ·
Staviam dve hry s AI. Takto vznikli a ako fungujú.
Usage of Empires dostal za pár dní vyše 30 nových verzií a popri ňom vznikla druhá hra, Usage of Empires II. Obe sú o dedine, ktorá žije, ale hrajú sa úplne inak. Tu je, ako ich staviam, ako fungujú a čo je nové.

Pred pár dňami som písal, že hra Usage of Empires je hrateľná. Odvtedy sa stalo dosť vecí. Prvá hra dostala vyše 30 nových verzií. A popri nej vznikla druhá, Usage of Empires II. Je to tiež stratégia o dedine, ale s iným hraním.
V tomto článku nájdeš tri veci: ako obe hry vznikajú, ako fungujú a čo je v nich nové.
Hrať Usage of Empires → Pozrieť Usage of Empires II →
Dve hry, dva spôsoby hrania
Pomáha mi predstava, že obe hry sú o tom istom, ale ty v nich stojíš na inom mieste.
- Usage of Empires (prvá hra) je hra, v ktorej si aktívny. Staviaš budovy, zadávaš osadníkom prácu, ovládaš hrdinu a chodíš s ním do dungeonov. Je to Age of Empires v pokojnejšej verzii, bez PvP a bez nájazdov, ktoré ti zničia dedinu.
- Usage of Empires II je skôr digitálne akvárko. Dedina žije v reálnom čase a osadníci si väčšinu vecí vymýšľajú sami. Ty si starosta, ktorého nikto nevidí: vyberieš pole, objednáš budovu, zvolaš ľudí. Zvyšok robia oni. Hra chce, aby si sa na ňu večer pozrel a vrátil sa o deň neskôr.
Meno Usage of Empires beriem ako značku pre všetky moje strategické hry o dedinách. Druhá hra nie je pokračovanie prvej. Má nový kód, nový svet a inú myšlienku.


Ako vzniká prvá hra: malé kroky a pamäť
Úplne na začiatku som urobil chybu, o ktorej som písal v prvom článku: dal som AI jeden obrovský prompt a dostal som hru, ktorú sa nedalo upravovať. Dnes robím opak. Každá zmena je jeden malý krok a každý krok má číslo. Teraz sme pri kroku 109.
Ako vyzerá taký krok:
- Poviem, čo chcem, často len pár vetami z telefónu. Aj s preklepmi, Claude si ich vie vyložiť.
- Claude zmenu napíše a sám ju vyskúša v prehliadači. Kontroluje rôzne veľkosti telefónov na výšku aj na šírku, lebo hrám hlavne na iPhone.
- Do súboru s poznámkami o hre sa zapíše, čo sa zmenilo a prečo. Tento súbor má dnes vyše tisíc riadkov. Z neho AI vie, čo sme sa dohodli, aj keď začíname nový rozhovor.
- Hra sa vydá na GitHub a ja ju hneď otvorím v telefóne.
Technicky je prvá hra jeden súbor. Beží v prehliadači na engine Phaser, svet sa ukladá v telefóne a z plochy ide aj bez internetu. Od kroku 86 má aj angličtinu: všetky texty sa prekladajú za behu, takže slovenský kód sa nemusel prepisovať.
Moju úlohu som si ujasnil: technické veci rozhoduje Claude, o hre rozhodujem ja. Keď mi prišla hra s jaskyňou, kde príšery stáli v stenách, nepísal som kód. Poslal som screenshot a napísal som, čo je zle.
Čo je nové v Usage of Empires
Od posledného článku pribudlo toho veľa. Tu je výber toho, čo hráč naozaj pocíti.
Dedina sa rozrastá sama
- Hlavná cesta. Ciele sú teraz v 5 kapitolách: Prvá iskra, Dedina ožíva, Cez rozbitý most, Kov a hradby, Plameň predkov. Za každú kapitolu dostaneš odmenu. Okrem nich sú voľné ciele, ktoré ťa nikam nenútia.
- Nové osady. Keď má dedina dosť ľudí, jeden z nich sa vyberie ďaleko a nájde dobré miesto. Ty rozhodneš, či tam osadu založíš. Potom každých 10 hodín reálneho času pribudne budova, aj keď nehráš. Cesty medzi osadami sa vychodia samy a keď po nich ľudia prejdú dosť krát, vydláždia ich kameňom.
- Pracovné zóny. Drevorubač, zberač aj kameník teraz robia okolo svojej chaty. Pri chate sa postupne sadia nové stromy, kvietky a bobule. Okolie chaty sa tak mení pred očami a vidno, čo ktorý človek robí.
Ekonomika a veľká mapa
- Nové reťazce výroby. Pílnica zo dreva robí dosky. Kováčska dielňa z dosiek a železa robí náradie. Tkáčovňa robí látku. Pivovar mení jedlo na zlato. Výroba sa sama zastaví, keď tovaru je dosť.
- Medzisklad a nosiči. Suroviny sa odkladajú bližšie k lesu a lomu a nosiči ich rozvážajú tam, kde chýbajú.
- Banka a rozšírenie mapy. Zlato sa ukladá v Banke bez limitu. Za zlato v nej kúpiš nové regióny sveta (100, 250 a 500 zlata). Každý má vlastnú krajinu, suroviny a po kúpe v ňom vznikne nová osada. Tvoj svet teda rastie podľa toho, ako sa ti darí.

Dungeony
- Zóny po piatich poschodiach. Slizové jaskyne, Kostnica, Žeravé hlbiny, Ľadová priepasť a Prázdnota. Každá má iné farby a iné príšery. Po bossovi sa odomkne Skratka, takže nezačínaš vždy od začiatku.
- Krypta predkov. Tajný dungeon pod Divom sveta. Dnes je to Ohnivé ruiny s lávou a bossom Večný ohnivý golem.
- Smrť nič nestojí. Keď padneš, skúsiš to znova na tom istom poschodí. Hra ťa netrestá.
- Najhlbšie sa dá ísť na 50. poschodie (v krypte na 15.). Ďalších bossov a poschodia budeme pridávať postupne.

Drobnosti, ktoré robia hru hrou
- Duch dediny. Raz za hru príde duch a osadníci sa s ním rozlúčia. Scénka sa strihá do hudby. Nebudem ti prezrádzať koniec, len že hrdina je v ňom trochu neslušný.
- Štyria hrdinovia na výber a angličtina v menu.
- Upratané menu stavieb. Stavby sú v kategóriách a na telefóne ich je vidno naraz. Tutoriál už neprekrýva tlačidlá a správy z hry sú na telefóne vpravo hore.
Usage of Empires II: ako vznikla
Kód druhej hry vznikol za posledné dva dni a od prvej sa líši už spôsobom, akým vznikla. Prvá rástla po krokoch z prázdnej lúky. Pri druhej som najprv napísal plán: o čom hra je, čo v nej nebude a ako bude vyzerať svet. Až potom prišiel kód. Za tie dva dni sme spravili 26 verzií.
Nápad je jednoduchý. Svet sa náhodne vygeneruje a odkrýva sa postupne, ako v Minecrafte. Osadníci vyrazia na výpravy a objavujú jazerá, púšte, močiare aj ľadové pláne. Mapa má biómy: brezový háj, horská lúka, močiar, tundra, zlatý háj. Hra beží v jednom období, v ranom stredoveku.

Ako Usage of Empires II funguje
- Reálny čas. Deň a noc, ročné obdobia aj počasie idú podľa hodín v Bratislave. Počasie berie hra z verejnej služby Open-Meteo. Ak sneží v Bratislave, sneží aj v hre.
- Osadníci sa rozhodujú sami. Zbierajú, pestujú, stavajú, chodia na výpravy a vychodia cesty. Starosta (hráč) ich len usmerní. Dedina nikdy nestojí. Keď nie je čo robiť, upratujú okolo domov alebo sadia stromy.
- Divy sveta. Každý biom má svoj div: Zlatý strom, Ľadové veže, Chatrč na koloch, Pyramída, Ostrovný chrám a ďalšie. Je ich spolu 18 a ukryté sú vo veľkých kusoch svojho biómu. Nájdeš ich, až keď tam osadníci prídu pešo alebo loďou. Všetky nájdené sú v Knihe, albume divov. Koľko ich je, ti hra ukáže až vtedy, keď osadníci nájdu všetky tri kúsky starého zvitku.
- Každý div dá bonus. Napríklad viac dreva, kameňa, jedla alebo nových obyvateľov. Osady sa zakladajú najmä pri divoch (dostanú o 30 % väčší dar) a v bohatých krajoch.
- Ekonomika. Každá osada má vlastný sklad a pokladnicu. Čo sa nezmestí do skladu, sa predá za mince. Ceny sa menia podľa ponuky a dopytu a osadníci vozia tovar z dedín, ktoré ho majú dosť, do dedín, kde chýba.
- Príroda sa vracia. Z pňov vyrastajú nové stromy, skaly dorastú a kríky sa obnovia. Nič, čo osadníci používajú, nemôže navždy dôjsť.

Čo je pod kapotou
Celý svet beží v jednom súbore s názvom sim.js. Je to čistá simulácia bez grafiky. Rovnaký súbor beží v prehliadači a môže bežať aj na serveri. Je to dôležité: svet je deterministický, čiže z rovnakého stavu a rovnakého počtu krokov vyjde vždy to isté. Prehliadač tak môže svet simulovať aj medzi uloženiami a nerozíde sa so serverom.
Server je pripravený: každú minútu nechá svet „dožiť“ do súčasnosti a uloží ho. Zatiaľ ho nemám zapnutý, takže hra beží ako test svet, ktorý žije len v tvojom prehliadači. Má rýchle pretáčanie (až 240×, deň za 6 minút), prepínač ročných období a počasia a nový svet jedným tlačidlom. Keď server zapnem, ktokoľvek sa bude môcť pozrieť na živý svet a len ja, ako starosta, ho budem môcť ovplyvňovať.
Chyby, ktoré boli vidieť
Pri novom svete som raz videl stromy, domy a ľudí stáť na vode. Hra si po stlačení „Nový svet“ ponechala obrázok zeme zo starého sveta a nakreslila na neho nový. Oprava je v jednom pravidle: obrázok zeme sa zachová, len keď ide o ten istý svet.
Súvisí s tým druhá vec, na ktorej stojí celá hra. Svet sa objavuje po kúskoch a každý kúsok musí vyjsť rovnako bez ohľadu na to, v akom poradí ho objavíš, a rovnako aj po načítaní uloženej hry. Preto sa kúsok mapy generuje len zo zeme, nikdy z toho, čo ľudia postavili. Na toto máme testy, ktoré to kontrolujú.
Takéto pravidlá si zapisujeme. Druhá hra má v README zoznam „pravidiel pre každý update“. Napríklad: každý nový biom musí dostať vlastný div sveta. Hra sa dokonca odmietne spustiť, ak nejaký biom nemá div alebo naopak. Je to ten istý trik ako pri prvej hre: AI nezabudne, na čom sme sa dohodli.
Čo som sa naučil z dvoch hier naraz
- Malé kroky vyhrávajú. Prvá hra má 109 krokov a každý viem vrátiť.
- Pamäť v súbore je lepšia ako pamäť v hlave. Pravidlá a rozhodnutia patria do poznámok, nie do chatu.
- Najprv plán, potom kód. Druhá hra vznikla rýchlejšie, lebo som vedel, čo chcem.
- Testy nie sú pre programátorov. Sú to poistky, aby AI nepokazila to, čo už funguje.
- Telefón je pravda. Hra, ktorá vyzerá dobre na počítači, nemusí fungovať na iPhone. Preto skúšam všetko tam.
Čo ďalej
- Usage of Empires: ďalšie poschodia a bossovia, ďalšie regióny mapy a nová grafika pre prístav a loďky. Hra sa stále ukladá len v tvojom prehliadači, tak si rob zálohu sveta.
- Usage of Empires II: zapnúť server, aby dedina žila aj keď nikto nesedí pri počítači, a pridať ďalšie biómy s novými divmi sveta.
Obe hry sú beta. Ak ich vyskúšaš, napíš mi, čo ťa nudilo, čo si nepochopil a čo sa pokazilo. Presne to potrebujem vedieť.
Chceš si niečo také vyskúšať sám? Na 3-hodinovej session ťa to naučím na tvojich vlastných veciach.
15 min hovor zadarmo

