časť 27
Koľko stojí výhra, ktorú dohrala AI: odmena podľa ťahov
Skóre platilo za ťažkosť, nie za čas: hodina duelu vynášala 3,6-krát viac než hodina partie s ôsmimi hráčmi. Pravidlo „platí sa kolo hráča“, AI s limitom 90/10 a tri triedy hry. Čo je zmerané, čo postavené a čo len rozhodnuté.
Hra Audamir platí za výhru v Kniežatstvách[1] a vo voľnej hre skóre. Skóre meria ťažkosť nastavenia, nie čas, a preto podľa časového modelu rozboru vynáša hodina duelov priemernému hráčovi 431 XP, kým hodina partií s ôsmimi hráčmi len 121. Môj návrh z 30. októbra 2026 znel platiť za kolá hráča, tak ako to už robí Kolónia, a pridať k tomu AI, ktorá smie hrať kedykoľvek, no platia sa len kolá, ktoré odohral hráč. Rozbor to zmeral na AI súperoch a na jednej zálohe skutočného hráča a o 15 otázkach padlo rozhodnutie naraz. Dnes je postavená len polovica: podiel AI a tri triedy hry (krok X1) a pravidlo zapísané ako dáta (krok X2). Samotná platba podľa kôl ešte nie je zapojená do žiadnej hry.
Prečo platiť za kolá: skóre nepozná čas
Kniežatstvám, voľnej hre a dennej výzve platí skóre, ktoré je súčet bodov z 25 nastavení (98 hodnôt v tabuľke). Body sú osemnásobok poklesu log-odds, teda logaritmu pomeru šancí na výhru a prehru, ktorý sa meral na AI súperoch (princíp je v článku o kalibrácii). Zlaté kocky sa vyplácajú v rovnakom čísle ako skúsenosti. Ako miera ťažkosti je skóre rozumné, ako miera času nie, a článok o skóre podľa dĺžky hry opravil iba voľnú hru: Kniežatstvá ostali mimo faktora námahy, lebo ich ceny živia ekonomiku Zlatých kociek. Rozbor z 30. októbra 2026 ukázal tri veci:
- Hodina duelu platí 3,6-krát viac než hodina partie s ôsmimi hráčmi. Priemerný hráč (v meraní AI úrovne 2) vyhrá duel v 50,2 % hier za medián 9 kôl a výhra platí 97; osemhráčovú partiu v 14,6 % za 21 kôl a výhra platí 122. Pri čase partie 2,2 + 0,49 minúty na kolo je to 431 XP za hodinu proti 121.
- Bonus za rýchle víťazstvo nie je bonus. Norma, voči ktorej sa rýchlosť počíta, je 24 až 38 kôl, kým medián výhry je 9 až 22. Bonus sa preto vyplatí takmer každej výhre (×1,16 až ×1,23): skrytých +21 % v cene.
- Matica ťažkosti je dobrá pre jednu zmenu a zlá pre zmes. Korelácia bodov s nameranou ťažkosťou je na 191 nastaveniach 0,80, ale chyba je ×1,95 pri jednej zmene a ×4,3 pri náhodnej zmesi. Nastavenie
r16(šesť súperov, pevné posily, mier, spojenec) cení matica oproti Kniežatstvám so štyrmi hráčmi na +17 bodov, meranie na −28 (AI ho vyhrá v 91,7 %).
Pravidlo: kolo hráča, základ, strop a násobič
Kolónia (článok o hre) platí za ťahy: 0,5 XP za ťah × 0,5 / 1 / 2 podľa úrovne AI, takže výhra proti Normálnej AI vynesie v priemere 30 XP za 5,8 minúty. Rozbor navrhol pre Kastgard toto:
XP = zaokrúhli( 5 × ( min(kolá hráča, strop) + 6 ) × m ) pri výhre
× 0,6 pri výhre na body, 0 pri prehre aj pri remíze
minca = XP (Zlaté kocky v aréne)
strop = min( 100, 1,5 × typické kolá výhry )
Prečo kolo. Z mojich 20 nahraných partií s časom začiatku aj konca vychádza minúty = −0,50 + 0,322 × kolá (R² 0,66), teda kolo asi 19 sekúnd, a minúty = −1,21 + 0,069 × útoky (R² 0,77), teda útok 4 sekundy. Z odstupov medzi partiami v histórii, vrátane menu, je kolo 0,49 minúty. Je to jeden hráč a 20 partií, takže mierka, nie zákon. Útok by čas vystihol lepšie, no kolo je v každom riadku histórie.
Základ 6 kôl dáva hre minimálnu cenu (menu a koncová karta stoja asi 4,5 kola času). Strop 1,5 × typické kolá bráni, aby sa naťahovaná hra platila bez konca; pre Kniežatstvá je to 14 / 20 / 23 / 24 / 29 / 33 / 32 kôl pre 2 až 8 hráčov, odreže 9 až 16 % výhier a zoberie 2 až 13 % odmeny. Naťahovanie sa meralo (štyria hráči, AI úrovne 2) s AI, ktorá smela urobiť najviac 2 útoky na ťah: vyhráva len 18,0 % hier proti 23,5 %, ale výhra trvá 31,9 kôl namiesto 15,6. Ak hráč odohrá také kolo za 7 sekúnd, zarába za hodinu bez stropu 2,5-krát viac (449 proti 179 XP), so stropom 1,8-krát (320 proti 179); pri kole za 15 sekúnd so stropom 1,15-krát, pri normálnom kole (29 sekúnd) 0,69-krát. Jeden útok na ťah nevyhráva, takže sa neoplatí.
**Násobič m** platí ťažšiu hru viac. Ak je m = 0,25 / šanca priemerného hráča na výhru, je očakávaná odmena hry (šanca × odmena) úmerná len počtu kôl, teda času. Kniežatstvá majú tabuľku siedmich čísel, nastavených tak, aby priemerný hráč zarobil za hodinu rovnako pri každom počte hráčov:
| Hráči | Násobič | Typické kolá výhry | Výhra dnes (skóre) | Výhra podľa kôl | XP za hodinu priemerného hráča: dnes → podľa kôl |
|---|---|---|---|---|---|
| 2 | 0,60 | 9 | 97 | 45 | 431 → 200 |
| 3 | 0,75 | 13 | 108 | 72 | 287 → 193 |
| 4 | 1,00 | 15 | 112 | 104 | 211 → 196 |
| 5 | 1,10 | 16 | 117 | 122 | 180 → 189 |
| 6 | 1,15 | 19 | 116 | 150 | 157 → 202 |
| 7 | 1,25 | 22 | 117 | 182 | 129 → 200 |
| 8 | 1,40 | 21 | 122 | 198 | 121 → 196 |
Zmes počtov hráčov, aká sa hrá (8 / 17 / 40 / 15 / 10 / 4 / 6 %), dostane podľa kôl 110,1 XP za výhru proti dnešným 112,2 (−1,9 %), takže ekonomika Zlatých kociek sa v priemere nehýbe. Hýbe sa medzi počtami hráčov: duel platí 45 XP namiesto 97, osemhráčová partia 198 namiesto 122. Je to najviditeľnejšia zmena pre hráča Kniežatstiev a koncová karta ju má vysvetliť jedným riadkom.
Voľná a denná hra majú príliš veľa nastavení na tabuľku (do 1,5 × 10¹³ kombinácií), a preto sa m odvodzuje zo šance priemernej AI na začiatku hry: 24 simulácií dohrania z prvej pozície, tie isté, ktoré robí analýza hry pre prvý bod grafu. Meranie na 40 náhodných nastaveniach po 12 mapách dalo odchýlku odmeny ×1,8 (80 % nastavení v rámci ×1,5 od ideálu), kým dnešné skóre ×3,5 (35 %).
Predvolené nastavenie voľnej hry by platilo 136 namiesto 96, lebo AI ho vyhráva v 30 % hier za 27 kôl; súperi s agresivitou 4 (šanca 3,7 %) ×10,9, spojenectvo dvoch ×0,48. Body matice ostávajú ako skóre rebríčka. Toto všetko je rozhodnuté a zmerané, ale nepostavené (kroky X3 a X4).
AI a pravidlo 90/10
Funkcia „Nech dohrá AI“ (rozhodnutie z 21. – 22. októbra 2026, DESIGN §42) nechá AI odohrať stranu hráča do konca hry. Taká hra mala ostať navždy neplatná: bez odmeny, úspechov, záznamu a štatistiky. Návrh z 30. októbra 2026 to mení: AI sa smie použiť kedykoľvek, platia sa len kolá hráča a ak AI len dokončí hru (odohrá asi jej poslednú desatinu), má hráč dostať plnú odmenu aj s úspechmi. „Asi posledná desatina“ treba zmeniť na pravidlo, ktoré hráč pozná vopred. Rozbor skúšal tri čítania:
| Pravidlo | Dá sa vedieť pred odovzdaním? | Výsledok | |
|---|---|---|---|
| A | AI hrá jeden úsek do konca hry, najviac max(1, ⌊f × ťahy hráča⌋) ťahov | áno, dialóg povie počet | prijaté, f = 1/4 |
| B | AI odohrala 90 % ťahov posledných 10 % hry | nie, koniec hry je známy až na konci | A je B urobené predvídateľným |
| C | odovzdanie, keď šanca na výhru presiahne 90 / 95 / 99 % | áno | zamietnuté ako pravidlo odmeny |
Prečo nie C. Šanca sa počítala po každom ťahu 24 simuláciami. Dosiahne 90 % po 0 až 5 ťahoch hráča a AI potom potrebuje ďalších 7 až 16 kôl, čo je 65 až 91 % všetkých kôl hry; do desatinového limitu sa nezmestila ani jedna výhra. Ako rada v dialógu je šanca v poriadku (AI úrovne 2 či 3 vyhrá 92 až 100 % takých pozícií, slabá len 24 až 69 %), odmenu určovať nemá.
Desatina v kolách. Hra Kniežatstiev trvá mediánom 9, 13, 15, 16, 19, 22 a 21 kôl pre 2 až 8 hráčov, takže desatina je jedno alebo dve kolá. Tabuľka: podiel hier, v ktorých odovzdanie t ťahov pred koncom ešte dá plnú odmenu (hry vyhrané dobytím, 114 / 156 / 114 hier, 40 simulácií na bunku, pri 8 hráčoch 30):
| Odovzdané pred koncom | 2 hráči: f = 1/9 → 1/4 | 4 hráči | 8 hráčov |
|---|---|---|---|
| posledný ťah (t = 1) | 87 → 92 % | 72 → 92 % | 86 → 99 % |
| t = 2 | 12 → 39 % | 17 → 58 % | 45 → 89 % |
| t = 3 | 6 → 22 % | 6 → 37 % | 22 → 75 % |
Pri f = 1/9 (presná desatina) znamená „dokončiť“ prakticky len posledný ťah, pri f = 1/4 posledné dva až tri. V ROADMAPe (kap. 27) je zapísaná moja odpoveď z 30. 10. 2026: „I agree with everything you proposed“, takže platí štvrtina a dve čísla pôvodného návrhu sa nahradili: desatina štvrtinou hráčových ťahov (pri AI zhruba pätina hry) a ceny AI 5 000 / 20 000 / 100 000 Zlatých kociek cenami 7 000 / 30 000 / 110 000. Odmena sa neplatí skokom: hráč, ktorý odovzdal tri ťahy pred koncom pri f = 1/9, by dostal v dueli 67 %, pri štyroch hráčoch 75 % a pri ôsmich 85 % odmeny.
Ťah sa počíta na jeho konci. Rozbor navrhoval počítať ťah na začiatku. Pri stavbe sa ukázalo, že hra sa ukladá na konci ťahu a po Pokračovaní sa dohrá znova, takže by sa ten istý ťah po obnovení započítal dvakrát. Ťah sa teda počíta tomu, kto ho skončil (DESIGN §90.2).
Tri triedy hry a to, čo sa hráč dozvie
Pri konci hry, v ktorej hrala AI, sa z počítadiel a výsledku určí trieda (Autopilot.classOf, X1, verzia 0.64.1):
| F (dokončil) | P (hral viac) | L (nevyhralo sa) | |
|---|---|---|---|
| Podmienka | hráč vyhral, AI mala jedno prevzatie bez vrátenia a odohrala najviac max(1, ⌊¼ × ťahy hráča⌋) ťahov | hráč vyhral, ale limit neplatí alebo AI hrala inokedy | prehra, prehra na body alebo remíza, nech hral posledný ťah ktokoľvek |
| XP aj Zlaté kocky | plná odmena | plná × podiel hráča | 0 |
| Úspechy, séria, rebríček, rival | ako pri výhre | nič | nič |
| Štatistika | výhra | odohrané, nevyhrané | odohrané, neprehrané |
| Záznam, Prehrať, Analýza | nie | nie | nie |
Príklad z DESIGN §90.1: hráč odohral 12 ťahov a AI 5. AI zahrala 29 % kôl, limit je pri 12 ťahoch 20 % (povolené sú 3 kolá), takže hráč dostane 71 % odmeny; pri výhre za 97 XP by to bolo 68 (výpočet podľa round(plná × podiel)). Okrajové triedy: own (AI prevzala sedadlo, ale hra skončila skôr, než zahrala ťah) a void (hra uložená podľa prvého pravidla, nič sa nepočíta).
Ako sa o tom hráč dozvie. Dialóg tlačidla povie pred kliknutím povolený počet kôl (slovenský text hry): „AI smie za plnú odmenu zahrať ešte najviac 3 kolá.“ a „Ak AI prehrá, nič sa nevyplatí a tvoj záznam sa nezmení.“ Koncová karta má tri správy: „AI dohrala hru a počíta sa ako tvoja: plná odmena.“, „AI zahrala 29 % kôl (limit je 20 %), preto dostaneš 71 % odmeny.“ a „AI hru prehrala. Nič sa nevyplatilo a tvoj záznam sa nezmenil.“ Nepostavili sa riadky dialógu „AI potrebuje asi N kôl, v 9 prípadoch z 10 najviac M“ a „Tvoja šanca teraz: P %“: chcú simulácie analýzy s rozpočtom a sú to rady, nie pravidlo (DESIGN §90.6).
Čo sa dá zneužiť
Moja požiadavka bola skontrolovať zneužitie:
| Čo hráč skúša | Čo to zastaví | Stav |
|---|---|---|
| Nechať AI hrať celú hru a vziať odmenu | platí sa podiel vlastných kôl, hra celá od AI platí 0 | postavené (X1) |
| Odovzdávať a preberať sedadlo, aby bol úsek AI „krátky“ | F potrebuje jedno prevzatie a žiadne vrátenie; ťahy sa sčítavajú | postavené (X1), testované na dvoch prevzatiach a na prevzatí uprostred ťahu |
| Hranica 89 / 91 % | XP je spojité, skok je len v triede; dialóg ukáže kolá vopred | postavené (X1) |
| Slabá AI ako „dokončovač“ | F potrebuje výhru; slabá AI vyhrá 24 až 69 % pozícií, ktoré ostatné úrovne dokončia v 92 – 100 % | postavené (X1) |
| Naťahovať hru kvôli kolám | strop 1,5 × medián, najviac ×1,8 za hodinu | rozhodnuté (X3) |
| Klikať úlohy cez AI | strop 28 × REF týždenne na cárstvo | rozhodnuté (X8) |
Jedno miesto rozbor nepomenúva ako zneužitie a vyplýva z pravidla: trieda L nechá záznam hráča čistý, nech hral posledný ťah ktokoľvek. Kto vidí, že pozíciu prehrá, môže AI vpustiť aspoň o ťah skôr, než hra skončí, a prehra sa neukáže v sérii ani v počte prehier. Platí to len pre záznam (L platí nič); je to úvaha z kódu, v hre sa to neskúšalo.
Čo je postavené a čo je len rozhodnuté
Kontrola kódu k 31. októbru 2026 (verzia 0.65.6): Xp.moves a modul Pay nevolá žiadny súbor v js/, index.html ani sw.js neprikladajú js/data/pay.js a Kniežatstvá platia naďalej skóre. Funkciu „Nech dohrá AI“ ponúka Autopilot.MODES = ['classic', 'free'] každému od prvej hry, bez úrovne či nákupu; Kolónia a Čiary ju nemajú.
| Krok | Čo prinesie | Stav |
|---|---|---|
| X1 | počítadlá ťahov, triedy F / P / L, dialóg s povolenými kolami, tri koncové karty | postavené (0.64.1); platí podiel dnešného skóre |
| X2 | pravidlo ako dáta js/data/pay.js, Xp.moves, nástroj tools/core/pay.js | postavené (0.63.7); nikto to zatiaľ nevolá |
| X3 | Kniežatstvá platia podľa kôl; bonus za rýchle víťazstvo odchádza z odmeny | rozhodnuté |
| X5 | obchod s AI od úrovne 10, tri trvalé nákupy | rozhodnuté |
| X4 | voľná a denná hra podľa šance na začiatku | rozhodnuté |
| X6, X7 | denná výzva s AI; AI pre Kolóniu a Čiary | rozhodnuté |
| X8 | denné a týždenné úlohy so stropom (čaká na krok R4, ktorý nie je postavený) | rozhodnuté |
| X9 | záznam, Prehrať a Analýza pre hru s ťahmi AI | rozhodnuté |
| X10, X11 | kampaň podľa kôl a AI pre kampaň | len na požiadanie |
Dôkaz pre X1 (tools/core/pay-migration.js): hra bez AI nechá profil bajt po bajte rovnaký ako starý kód a hry s AI (30 tried F, 30 P, 16 L) platia presne podľa pravidla (DESIGN §90.8).
Obchod. Od úrovne 10 (2 500 XP, 4,2 hodiny pri 594 XP za hodinu) sa otvoria tri trvalé nákupy, Slabá, Normálna a Silná AI: v Kastgarde za 7 000 / 30 000 / 110 000 Zlatých kociek (11,8 / 50,5 / 185,2 hodiny hrania pri 594 za hodinu), v Rokgarde[2] za 3 700 / 15 000 / 57 000 Golden tokens (12,0 / 48,7 / 185,1 hodiny pri 308 za hodinu). Pôvodný návrh 5 000 / 20 000 / 100 000 je pri Kniežatstvách 8,4 / 33,7 / 168 hodiny, ale v kampani len 1,5 / 5,9 / 29,3, lebo kampaň platí 6,1 až 6,5 Zlatej kocky za XP (beh 3 020 – 4 531 kociek proti 495 – 692 XP). Watch a game sa podľa dodatku z 30. 10. ukáže až od úrovne slotu a ponúkne len kúpené úrovne AI.
Úlohy. Denná úloha stojí 2 × referenčná hra cárstva (208 XP v Kastgarde pri referencii 104, 60 v Rokgarde pri 30), týždenná 7 × (728 a 210). Kto len klikne na AI pri jednej dennej a troch týždenných úlohách, by bez stropu získal 520 XP za deň, viac než aktívna hodina (300 až 500). Strop 28 × REF týždenne na cárstvo (2 912 XP v Kastgarde, 416 denne, teda 42 minút Kniežatstiev) to obmedzuje; úloha nad stropom sa ešte počíta do série a úspechov, ale nič nevyplatí. Čiary (pozri tri v rade a dĺžku radu) majú platiť tým istým pravidlom so zrážkou pre malé dosky (ROADMAP kap. 28); o cárstvach je samostatný článok.
Čo sa nepodarilo overiť a čo ostáva
- Nič z platby podľa kôl sa nehralo s hráčmi. Všetky šance sú šance AI a jediné ľudské dáta sú moja záloha (20 partií s časom kola).
- Dve čísla o naťahovaní. Rozbor na viacerých miestach píše, že strop obmedzí zisk naťahovania na „asi ×1,5“, no jeho tabuľka dáva pri strope 1,5 × medián a kole za 7 sekúnd 320 proti 179, teda ×1,8; v článku sú čísla z tabuľky. Štyri útoky na ťah dávajú pri normálnom tempe +26 % (225 proti 179), takže „kolo“ mierne zvýhodňuje štýl, ktorý berie viac kôl.
- Čas na telefóne sa nemeral a šanca na začiatku sa v hre nestavala (X4). Kampaň podľa kôl nie je zmeraná pre Hrozbu 0 – 2; kolá vysvetľujú len 11 % času misie, preto ostáva na vlastnej tabuľke.
- Tempo Kolónie je 308 XP za hodinu výhier, štvorhráčové Kniežatstvá podľa kôl 643, takže úloha na klik by v Rokgarde bola o tretinu menšia. Texty v deviatich jazykoch s odhadom a limitom sa na šírke 375 px neskúšali.
- Dokumenty.
docs/PAY-BY-MOVES.mdstále hovorí „Analysis only; nothing is built“, časť 1.6 popisuje AI spred X1 a moje odpovede sú v ROADMAPe kap. 27, nie v nej. Riadok R4 v tabuľke fáz ROADMAPu („a game that a bot finished counts for nothing“) odporuje kap. 27.
Zdroje a poznámky
- Rozbor a merania:
docs/PAY-BY-MOVES.md(30. 10. 2026, verzia 0.62.3), kapitoly 1.2 až 1.4, 3.1 až 3.4, 5.2, 6.1 až 6.3 a 10. Merania M1 až M8 sú zo skriptov mimo repozitára a pri písaní sa nespúšťali. - Rozhodnutia a stav:
docs/ROADMAP.mdkap. 26 až 28 (riadok R4, blok „Decided“ v kap. 27); kódjs/realms/kastgard/games/stacks/core/autopilot.js,js/core/profile.jsajs/data/pay.jsk verzii 0.65.6 z 31. 10. 2026. - Príkazy spustené 31. 10. 2026:
node tools/core/pay.js --check(prešlo) a--profilena zálohe z 23. 10. 2026: 38 hier Kniežatstiev, 35 výhier, 19 s časom; 594 XP za hodinu podľa skóre, 549 podľa kôl. - Vlastné výpočty: pomery a sekundy z čísel článku (napríklad 19 sekúnd za kolo je 0,322 × 60). Čítanie triedy L ako možnosti schovať prehru je úvaha z kódu, nie text dokumentu.
Čo sa nepodarilo overiť: platba podľa kôl nie je v hre zapojená, čísla rozboru sa neprepočítavali (okrem nástroja pay.js) a tvrdenie o triede L je odvodené z kódu.