časť 05
Archeológia vlastného projektu: tri a pol dňa z kópií priečinka a histórie gitu
Git história začína až 18. októbra o 12:24, ale hra vznikla o deň skôr. Ako sa z dátumov súborov a štyroch kópií priečinka dá zrekonštruovať, čo sa stalo, a čo to hovorí o práci s asistentom.
História gitu v projekte Audamir nie je úplná. Prvý záznam je z 18. októbra 2026, 12:24 a má správu „first commit“. Hra v tom čase už bola veľká. Čo sa dialo predtým?
Archeológia projektu je rovnaká práca ako archeológia čohokoľvek: treba nájsť dôkazy, ktoré nikto nemal v úmysle uchovať. V tomto prípade sú štyri.
Dôkaz 1: dátumy súborov
Priečinok projektu vznikol 17. októbra 2026 o 01:56. Prvé zdrojové súbory majú časovú značku 03:50: generátor náhodných čísel rng.js, farby hráčov palettes.js a mozaiky grid.js. O 04:00 pribudli štatistiky, o 04:24 umelá inteligencia, o 04:35 herný cyklus, o 05:25 prvé kalibračné merania, o 05:53 pravidlá a o 06:30 nástroj na kalibráciu skóre.
Dátum poslednej úpravy súboru nie je dôkaz o tom, kedy vznikol (súbor sa mohol zmeniť neskôr), ale pri súboroch, ktoré sa potom nemenili, je to pomerne spoľahlivé.
Dôkaz 2: štyri kópie priečinka
Vedľa projektu sú štyri priečinky s názvami dice-wars-1 (Copy) až (Copy 4). Sú to snímky, ktoré vznikli v priebehu dňa, ešte predtým, než git existoval. Porovnaním zoznamu súborov a veľkosti skriptov sa dá povedať, čo hra v ktorej chvíli vedela:
| Snímka | Čas | Súborov | Skripty | Čo pribudlo |
|---|---|---|---|---|
| Kópia | 17. 10., 06:40 | 48 | 222 kB | prvá celá hra: mapa, pravidlá, AI v troch úrovniach, nastavenia, kalibrácia skóre, 33 kB manuálu ladenia |
| Kópia 2 | 17. 10., 17:05 | 80 | 528 kB | scenáre, minihry, kampaň, bossovia, bonusy, hrdinovia, domovská obrazovka, profil, nástroje missions a fairness |
| Kópia 3 | 17. 10., 20:11 | 95 | 780 kB | úspechy, preklady SK a EN, falošný DOM a testy obrazoviek, kocky s bodkami |
| Kópia 4 | 17. 10., 22:57 | 101 | 876 kB | železný beh, elitné hviezdičky minihier |
| Dnes | 20. 10. | 243 | 2 710 kB | všetko ostatné (103 skriptov, 82 súborov s testami, 31 nástrojov, 7 dokumentov) |
Zrejmé je jedno: prvá hrateľná verzia mala v README už 17. októbra v šesť ráno vetu o tom, že Silná AI poráža Normálnu v 73 % partií. Meranie, ktoré dnes opakuje nástroj za tri sekundy, bolo hotové v prvých piatich hodinách.
Dôkaz 3: git od 18. októbra
Od prvého záznamu história existuje a je dosť podrobná: 200 záznamov vo všetkých vetvách, z toho 92 z 18. októbra, 100 z 19. a 8 z 20. októbra (k ránu 20. októbra). Autor záznamov je jeden, a 195 z 200 nesie riadok spoluautora (Co-Authored-By) s menom asistenta. To je odpoveď na otázku, ako je možné postaviť takú hru za tri dni: s asistentom, a história to otvorene hovorí.
V histórii sa dá vyčítať rytmus práce:
- Fázy s dokumentáciou. Každá väčšia vec má nielen kód, ale aj časť v
docs/DESIGN.md, ladiaci postup vdocs/TUNING.md, riadok vREADME.mda plán vdocs/ROADMAP.md. Dokumentácia fázy býva blízko jej konca. - Nezávislé revízie. Osem záznamov má v názve „independent review“ a deväťnásť obsahuje slovo review. Po každej fáze číta kód iný agent, nič nemení a len hlási. Ďalší záznam býva „Fixes after the independent review“.
- Vetvy podľa fáz. Funkcia Avatar[1] sa stavala po vetvách
hero-dice-h1ažh4, záznam hry vo vetvegame-record, jazyky volanguages-cs-sr-ru. Vetva zodpovedá jednej fáze alebo kapitole plánu. - Paralelná práca. 18. októbra medzi 17:12 a 17:19 vzniklo 26 záznamov o prevode testov do angličtiny a o zlúčení týchto prevodov. Viacero agentov pracovalo súbežne v samostatných pracovných kópiách (
worktree-agent-…) a výsledky sa potom zlúčili. Za sedem minút sa takto previedli desiatky súborov.
Dôkaz 4: dokumentácia ako pamäť
Najväčší dôkaz je dokumentácia. docs/DESIGN.md má 434 kB a je „zdrojom pravdy pre neskoršie relácie“, ako sa píše v jeho úvode. Dôvod je praktický: asistent si medzi reláciami (chatmi) nepamätá nič, čo nie je zapísané. Preto sa v projekte zapisuje všetko: rozhodnutia s dátumom a poznámkou, kto rozhodol (autor, alebo návrh asistenta schválený autorom), merania s príkazom, ktorým sa dajú zopakovať, a to, čo sa ukázalo ako pasca.
Plán rozšírení (docs/ROADMAP.md) je písaný ako zadanie pre novú reláciu. Každá z osemnástich kapitol je samostatná úloha a na začiatku stojí návod, ako ju zadať: Prečítaj ROADMAP, najprv „Spoločné pravidlá“, potom kapitolu N. Navrhni plán a otvorené otázky a implementuj, keď sa dohodneme. Je to zvláštna literárna forma: dokument, ktorý je zároveň plán, príkaz a záznam rozhodnutí.
V „Spoločných pravidlách“ stojí jedenásť bodov, z ktorých sa dá vyčítať, čo sa v projekte už zlomilo. Napríklad: Bežné hry sa nesmú zmeniť. Všetko, čo má silu alebo cenu, sa meria hrami AI súperov, nie odhadom. Dáta z úložiska, zálohy a odkazov sú nedôveryhodné. Náhoda sa odvodzuje zo stavu. Každé z nich je jazva zo skúsenosti.
Čo sa z toho dá odvodiť, a čo nie
Čísla sú pôsobivé: za tri a pol dňa vzniklo takmer 40 000 riadkov skriptov, 82 súborov s testami, 31 nástrojov a 5 489 riadkov dokumentácie. Je však dôležité nepovažovať ich za úspech samy osebe.
- Riadky kódu nie sú kvalita hry. Nič z týchto čísel nehovorí, či je hra zábavná. O tom rozhodujú ľudia, ktorí ju hrajú, a tých bolo zatiaľ málo. Hru hrá aj autor a niektoré zmeny prišli až po hraní (príkladom sú hlavolamy, ktoré sa zdali príliš ľahké, článok o hlavolamoch (pripravovaný článok č. 10); kocky na mape sa po prvom hraní prerobili na okrúhle izometrické).
- Rýchlosť presúva zdržanie inam. Keď sa kód píše za hodiny, zdržaním sa stáva rozhodovanie a overovanie: čo sa má stať, čo je správne a či sa to naozaj stalo. Preto toľko meraní, testov a revízií.
- Doba, keď sa hra robí tri dni, je nová. Doom vznikal trinásť mesiacov (november 1992 až december 1993) a Civilization stála podľa autora okolo 170 000 dolárov. Porovnanie dnes nemá zmysel: hry sú iné a nástroje tiež. Ale je to ďalší dôvod, prečo článok Keď bola hra hotová hovorí, že „hotová“ je dnes rozhodnutie.
Ostáva ešte jedna nepríjemná otázka: kto je autor? Odpoveď je, že autorov je viac a nie sú rovnocenní. Rozhodnutia (čo sa stavia, čo sa zahodí, čo je dosť dobré) sú moje a sú zapísané aj s dátumom. Návrhy, kód, merania a väčšinu textu dokumentácie píše asistent. Revízie robí iný agent. Kto v tom vidí podvod, má právo mať iný názor. Pre toho, kto v tom vidí nový spôsob práce, je to téma celej série.
Čo si z toho odnášam
- Dokumentácia je pamäť. V projekte, kde sa pracuje v oddelených reláciách, je zapísané to, čo sa stane.
- Rytmus fáz sa dá čítať. Kto sa pozrie na históriu, vidí, kde bol zlom, kde bola revízia a kde fáza skončila.
- Čísla nie sú hra. Hra sa hodnotí hraním.
Stav z 31. októbra: čo sa zmenilo za jedenásť dní
Tento článok a článok o testovaní (pripravovaný článok č. 13) popisujú stav z 20. októbra. Rovnaké veličiny o jedenásť dní neskôr, 31. októbra 2026:
| veličina | 20. 10. | 31. 10. |
|---|---|---|
| záznamov v gite | 200 | 956 |
skripty v js/ (počet súborov .js) | 103 | 206 |
súčet veľkostí skriptov v js/ | 2 710 kB | 6 545 kB |
| súborov s testami | 82 | 251 |
nástrojov (tools/) | 31 | 107 |
testov v jednom behu node --test | 1 234 | 3 314 (3 313 prešlo, 1 preskočený) |
dokumentov v docs/ | 7 | 25 |
docs/DESIGN.md | 434 kB | 1 815 kB (7 543 riadkov) |
Porovnanie treba čítať opatrne. Veľkosť skriptov sa rátala rovnako ako v grafe v článku (súčet všetkých súborov .js v js/), a väčšinu bytov dnes tvoria katalógy prekladov (deväť jazykov), nie pravidlá hry. Najviac záznamov má 30. október: 225; v ten deň sa okrem iného zlúčili testy a nástroje po balíkoch, druhá dosková hra Čiary a hospodárstvo realmov (docs/DESIGN.md §72 až §88). Dokumentácia rástla najrýchlejšie: DESIGN.md vzrástol viac než štvornásobne, čo zodpovedá pravidlu z tohto článku, že asistent si pamätá len to, čo je zapísané. Počet 956 je zo súčasného repozitára, ktorého história sa 24. októbra prepísala (viď vyššie).
Stav z 1. novembra: ešte jeden deň
Ďalší deň, 1. novembra 2026 (zmerané večer, dev vo verzii 0.82.2):
| veličina | 31. 10. | 1. 11. |
|---|---|---|
| záznamov v gite | 956 | 1 278 |
skripty v js/ (počet súborov .js) | 206 | 310 |
súčet veľkostí skriptov v js/ | 6 545 kB | 7 032 kB |
| súborov s testami | 251 | 293 |
nástrojov (tools/) | 107 | 123 |
| testov v jednom behu (posledná pečiatka overenia) | 3 314 | 3 767 (3 766 prešlo, 1 preskočený) |
dokumentov v docs/ | 25 | 29 |
docs/DESIGN.md | 1 815 kB | 2 306 kB |
Počty záznamov po dňoch: 29. 10. 108, 30. 10. 225, 31. 10. 229, 1. 11. 144 (do večera). Veľkosť skriptov sa rátala rovnako ako vyššie; väčšinu pribudnutých bajtov tvoria katalógy textov v deviatich jazykoch a nové kroky domovskej obrazovky (články 34 až 39). Rozdiel v počte záznamov 31. októbra (956 podľa zápisu vyššie, 229 záznamov v ten deň podľa dátumov) vysvetliť nevieme: prvé číslo je z jedného merania počas dňa, druhé z celého dňa.
Zdroje a poznámky
- Dátumy a veľkosti:
ls -l --time-style=full-isoa súčet veľkostí skriptov v kópiáchdice-wars-1 (Copy)až(Copy 4)a v pracovnom strome (20. 10. 2026). Kópie nie sú v gite. - História:
git log --all(200 záznamov, 195 s podpisom spoluautora, počty po dňoch cez--format=%ad). - Doom a Civilization: výskum k článku Keď bola hra hotová (Wikipédia, Kushnerova kniha Masters of Doom; náklady sú spomienky autorov).
- Rozhodnutia a pravidlá práce:
docs/DESIGN.md(úvod, §13 a §21),docs/ROADMAP.md(„Common rules“). - Stav z 31. 10. 2026:
git rev-list --count dev(956),git log --format=%ad --date=short | sort | uniq -c(počty po dňoch),find js -name '*.js' -exec cat {} + | wc -c(6 544 506 B),find js -name '*.js' | wc -l(206),find tests -name '*.test.js' | wc -l(251),find tools -name '*.js' | wc -l(107),ls docs/*.md | wc -l(25),wc -c docs/DESIGN.md(1 815 102 B),node --testna vetvedev(3 314 testov; priebeh pri zlúčení 31. 10. 2026). Údaje z 20. 10. sú pôvodné čísla článku. - Stav z 1. 11. 2026: tie isté príkazy ako pre 31. 10. (
git rev-list --count dev1 278,find js -name '*.js' | wc -l310,find js -name '*.js' -exec cat {} + | wc -c7 031 584 B,find tests -name '*.test.js' | wc -l293,find tools -name '*.js' | wc -l123,ls docs/*.md | wc -l29,wc -c docs/DESIGN.md2 306 419 B) a posledná pečiatkanode tools/verify.js --check 6cd1a86(3 767 testov).
Poznámky
- Do verzie 0.80.1 z 1. novembra 2026 sa funkcia volala Hero Dice (pozri Z Hero Dice na Avatar (pripravovaný článok č. 39)). Názvy vetiev
hero-dice-h1ažh4ostali pôvodné. ↩︎