← Zpět na přehledVHS · P04Úvod

VHS · dokončení GDD + P04 · 90 minut

Herní smyčky
a chování NPC

Subnautica: ponor a přežití. L4D: tempo. KCD a Rain World: postavy a jejich záměry.

Navazujeme na GDD. P03 už neopakujeme.

Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

0–1 min · tento snímek 1 min

Plán: šest bloků, 90 minut

ČasTéma
0–6Dokončení GDD podle ponoru
6–26Subnautica, L4D a tlak nepřátel v Helldivers 2
26–58Každodennost, FSM / BT, KCD a Rain World
58–73Cykly činností a koordinace v KCD
73–85Produkce a úzká místa
85–90Shrnutí a test

Doplňující materiál a cvičení jsou až za výkladem.

1–2 min · tento snímek 1 min

Co musí z GDD poznat jiný člověk?

  • Jaký zážitek a jaká rozhodnutí hra nabízí.
  • Co hráč může udělat, za jakých podmínek a za jakou cenu.
  • Jak se změní stav a jak změnu hra sdělí.
  • Co se opakuje, co se odemyká a jak hra končí.

GDD není příslib „bude to zajímavé“. Musí umožnit návrh zahrát a zkontrolovat.

2–3 min · tento snímek 1 min

GDD: sběr suroviny během ponoru

Položka pravidlaNáš zápis podle situace v Subnautice
Akce a podmínkaSebrat dosažitelnou surovinu, pokud je místo v inventáři.
Cena a omezeníManipulace zabere čas, během pobytu pod vodou ubývá O₂.
Efekt a signálSurovina přibude v inventáři, hráč vidí zásobu O₂.
RozhodnutíJeště jeden předmět, hlubší průzkum, nebo návrat?

Malá rezerva O₂ je riziko, ne automatický zákaz pokračovat.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

3–4 min · tento snímek 1 min

Kdy je GDD připravené k předání?

  • Cíl, povolené akce, náklady i ukončení si neodporují.
  • U proměnných známe počáteční hodnoty a význam.
  • Nejasnosti jsou označené jako otevřené otázky, ne skryté v textu.
  • Cizí tým dokáže bez autora odehrát jeden úplný průchod.

Změna po testu: co se stalo → jaké pravidlo selhalo → co měníme → jak to ověříme.

4–5 min · tento snímek 1 min

Tři modely pro čtení herního návrhu

Hráčská smyčkaRozhodování NPCTok zdrojů
  • Subnautica: proč pokračuji v ponoru a kdy se vracím?
  • KCD a Rain World: co postava ví a čemu dá přednost?
  • Produkce: jak dostupné zdroje mění další možnosti?

5–6 min · tento snímek 1 min

Čtyři různé významy slova „smyčka“

SmyčkaCo opakujeme
Krátká hráčskáPonor, rozhodnutí o riziku, sběr a návrat pro O₂.
Delší hráčskáObnovování zásob a rozvoj zázemí pro další výpravy.
ZpětnovazebníVýsledek mění podmínky dalšího průběhu, například u L4D.
Programová game loopVstup, aktualizace simulace a vykreslení.

Opakování nemusí mít pokaždé stejnou délku.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

6–7 min · tento snímek 1 min

Subnautica: rozhodnutí během jednoho ponoru

Doplnit O₂Ponořit sePosoudit rizikoSebrat / pokračovatVrátit se

Vidím zajímavý předmět hlouběji. Zvládnu ho získat a ještě se bezpečně vrátit?

O₂ omezuje pobyt pod vodou. Vzdálenost návratu, orientace i vybavení mění přijatelné riziko.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

7–9 min · tento snímek 2 min

Ponor: zisk, návrat a bezpečnostní rezerva

MožnostCo zvažuji
Sebrat další předmětZisk proti času, který zbývá i na cestu zpět.
Pokračovat hloubějiNová příležitost, delší či nejistější návrat.
Vrátit se nyníZachráním nález a připravím další ponor.

Rezerva O₂ pro návrat patří do rozhodnutí od začátku, ne až po posledním sběru.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

9–10 min · tento snímek 1 min

Subnautica: provázané smyčky přežití

Ponor a O₂Ještě jeden předmět, nebo už vzhůru?
Zásoby vodyDalší výprava potřebuje i pití.
Zásoby jídlaObnovit potravu a připravit další průzkum.
Báze a vybaveníInvestovat zdroje do zázemí pro další ponory.

Voda a jídlo běží souběžně. Zázemí mění možnosti krátké smyčky.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

10–11 min · tento snímek 1 min

Zpětná vazba: informace, nebo příčinný kruh?

Druh vazbyVlastní příklad podle Subnautiky
Informace pro hráčeUkazatel O₂ a varování sdělují aktuální omezení.
Posilování možnostíZdroje umožní lepší vybavení, to rozšíří možnosti dalšího průzkumu.
Obnovování zásobUbývající voda mění plán výpravy, doplnění zásoby zmírní potřebu shánět další.

Příčinnou smyčku popisujeme pomocí změn, ne pouhým opakováním akcí.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

11–12 min · tento snímek 1 min

Zásoba vody ovlivňuje příští rozhodnutí

Ubývá vodaRoste naléhavost doplněníZměním plán výpravyDoplním zásobu

Doplnění zmírní potřebu shánět další vodu. Spotřeba později začne působit znovu.

Vlastní rozbor hráčského rozhodování. Hra tímto grafem nemusí přímo řídit hráče ani simulovat jeho potřeby.

Zdroj: Unknown Worlds · Subnautica, oficiální popis hry

12–13 min · tento snímek 1 min

Left 4 Dead: NPC a Director mají různé úlohy

Úroveň řízeníCo řeší
Jednotlivý aktérPohyb, boj a lokální reakce.
AI DirectorSložení a načasování hrozeb pro skupinu přeživších.

Řízení tempa potřebuje pozorování průběhu celé hry.

Případová studie původního Left 4 Dead, Valve 2009.

Zdroj: Michael Booth · Replayable Cooperative Game Design (GDC 2009)

13–14 min · tento snímek 1 min

L4D: měřiče odhadované intenzity

„Emotional intensity“ je odhad z událostí ve hře.

Director používá maximum týmu: zde 82, ne průměr.

Zranění či vyřazení odhad zvyšuje. Při aktivním napadání neklesá. Škála a čísla jsou naše ukázka, ne měření emocí.

Zdroj: Michael Booth · The AI Systems of Left 4 Dead (2009)

14–16 min · tento snímek 2 min

L4D: podmínky fází, nikoli pevný metronom

FázeCo dovolí přechod
Build UpOdhad intenzity dosáhne pásma vrcholu.
Sustain PeakKrátké udržení vrcholu, ve zdroji 3–5 s.
Peak FadeDosavadní boj doběhne a intenzita klesne.
RelaxOddech, ve zdroji 30–45 s nebo dostatečný postup týmu.

Některé fáze mají časové meze. Celý cyklus přesto nemá předem určenou periodu.

Zdroj: Michael Booth · The AI Systems of Left 4 Dead (2009) · Michael Booth · Replayable Cooperative Game Design (GDC 2009)

16–18 min · tento snímek 2 min

L4D: jeden průběh intenzity a odezva Directoru

NárůstVrcholDozníváníOddech
Modelový průběh AVodorovná osa je modelový čas 0 až 100 sekund. Křivka je maximum intenzity čtyř hráčů. Barevná pásma odlišují nárůst, vrchol, doznívání a oddech. Nejde o záznam skutečné hry.050100práh0255075100Intenzita týmuModelový čas [s]

Vlastní výukový model, nikoli popis implementace konkrétní hry.

Zdroj: Michael Booth · The AI Systems of Left 4 Dead (2009) · Michael Booth · Replayable Cooperative Game Design (GDC 2009)

18–20 min · tento snímek 2 min

Helldivers 2: tlak nepřátel a rozpočet

  • Arrowhead v 7.1.0 vyhodnocuje tlak podle počtu a vzdálenosti nepřátel.
  • Spawnování vyvažuje zatížení hráčů rozdělených po mapě.
  • Při globálním limitu preferuje okolí méně zatíženého hráče. Nad rozpočet odstraňuje vzdálené nepřátele.

Zveřejněný popis neuvádí přesnou funkci tlaku ani úplný algoritmus.

Tady sledujeme lokální tlak v misi. Galaktická válka zůstává mimo tento rozbor.

Zdroj: Arrowhead · Helldivers 2, 7.1.0: Enemy Spawning

20–22 min · tento snímek 2 min

L4D a HD2: informace pro řízení hrozeb

Srovnání doložených mechanismůLeft 4 DeadHelldivers 2, 7.1.0
PozorováníUdálosti zvyšující odhad intenzity hráče.Počet nepřátel a jejich vzdálenost.
Rozdělení zátěžePro tempo používá nejvyšší intenzitu týmu.Vyvažuje spawny mezi oddělenými hráči.
Zásah systémuŘídí přísun hrozeb v podmíněných fázích.Preferuje méně zatíženého hráče a spravuje rozpočet.

Společný princip: herní situace ovlivňuje další přísun nepřátel. Vstupy a pravidla se liší.

Zdroj: Michael Booth · The AI Systems of Left 4 Dead (2009) · Arrowhead · Helldivers 2, 7.1.0: Enemy Spawning

22–23 min · tento snímek 1 min

Model tlaku mezi dvěma hráči

Vlastní výukový model podle zveřejněných principů. Vzorec i pořadí operací jsou naše.

Hráč A
Hráč B

Náš tlak = počet × (1 − vzdálenost / 200). Při plném limitu náš model uvolní místo odstraněním vzdálených.

Vlastní výukový model, nikoli popis implementace konkrétní hry.

Zdroj: Arrowhead · Helldivers 2, 7.1.0: Enemy Spawning

23–26 min · tento snímek 3 min

Chování je to, co hráč může pozorovat

  • Kde postava je, kam jde a co právě dělá.
  • Na co reaguje a co naopak přehlíží.
  • Co o svém záměru sděluje pohybem, hlasem a vzhledem.
  • Jak její jednání mění možnosti hráče.

Složitá interní AI není podmínkou čitelného a přesvědčivého NPC.

Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

26–27 min · tento snímek 1 min

Rutina dává význam odchylce

PozorováníCo si může hráč odvodit
Pekař ráno otevírá, večer odchází.Kdy a kde ho zastihnu.
Dnes je pekárna zavřená.Výjimka má možný důvod, ne nutně chybu.
Na dveřích je vzkaz a vidíme kouř.Odchylka je čitelná a dává podnět jednat.

Hráč musí nejprve poznat běžný stav. Jinak „výjimku“ nerozliší.

Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

27–28 min · tento snímek 1 min

Odbočka: každodennost a její dějiny

  • Opakované praktiky běžného života: práce, jídlo, spánek, bydlení, péče i vztahy.
  • Historici zkoumají, jak se liší podle doby, místa a sociálního prostředí.
  • U historické hry typu KCD potřebujeme věrohodný základ, vůči němuž hráč pozná výjimku.

Pro návrh NPC: odkud bere čas, jídlo a prostředky, s kým se potkává a co jeho rutinu přeruší?

Zdroj: Historický ústav AV ČR · Databáze dějin všedního dne

28–30 min · tento snímek 2 min

Oddělte vnímání, rozhodnutí a provedení

VnímáníZnalost / paměťRozhodnutíAkce + signál
  • Vidím hráče ≠ znám jeho pozici za zdí.
  • Chci do pekárny ≠ už jsem v pekárně.
  • Volím útěk ≠ navigace už našla bezpečnou cestu.

30–31 min · tento snímek 1 min

Subnautica: Aurora jako příslib cíle

Nad prázdnou modrou hladinou se tyčí obrovský kouřící vrak Aurory.
První chvíle ve hře: kolem voda a jeden nepřehlédnutelný vrak.

„To je loď, na které jsme přiletěli. Tam se dřív nebo později musím podívat.“

Výrazná dominanta propojuje orientaci s příběhem a budoucím cílem.

Zdroj: Subnautica · obrázek Aurory z Redditu dodaný vyučujícím

31–32 min · tento snímek 1 min

KCD II: hrad jako příslib cesty

Hrad s věžemi na dvou skalních vrcholech vystupuje vysoko nad poli a stromy.
Výrazná silueta hradu vystupuje nad okolní krajinou.

„Ten hrad nemůžu přehlédnout. Tam se ještě dostanu.“

Stejný princip jako u Aurory: vidím výrazné místo a očekávám, že se tam vydám.

Zdroj: KCD II · obrázek z Redditu dodaný vyučujícím

32–33 min · tento snímek 1 min

Stav není seznam všech vlastností NPC

VrstvaPříklad
Režim chováníObchůzka / pronásledování / pátrání
DataZdraví 70, únava 30, poslední známá pozice
ProvedeníBěh k cíli; cesta může být blokovaná
PrezentaceAnimace, replika, ikona podezření

Ve zvoleném jednoduchém FSM je aktivní jeden režim. Zdraví může současně klesat.

Zdroj: Bob Nystrom · Game Programming Patterns: State

33–34 min · tento snímek 1 min

Strážný: sledujme přechody v čase

ObchůzkaHlukHoníPátráNávrat

    Vlastní výukový model, nikoli popis implementace konkrétní hry.

    Stavový diagram stejného modelu →

    34–36 min · tento snímek 2 min

    Strážný: stavy, události a návrat na trasu

    Ze všech pěti stavů: „vidí hráče“ má přednost před hlukem a vede do pronásledování.

    Stavový diagram vlastního modelu strážnéhoZačátek v obchůzce. Šest místních přechodů ukazuje hluk, ztrátu kontaktu, limity a návrat na trasu. Vizuální kontakt ze všech stavů vede do pronásledování. Ostatní události zachovávají stav.Starthluklimithlukztráta kontaktulimitdorazil na trasuvidí hráče: ze všech stavůObchůzkaPrověřuje hlukPronásledováníNávratPátrání

    Hrana označuje událost. Nezobrazené události ponechají stav beze změny. Limit i příchod v ukázce vyvolává učitel.

    Zdroj: Bob Nystrom · Game Programming Patterns: State

    36–37 min · tento snímek 1 min

    Úplnost řešíme reakcemi, ne počtem šipek

    OtázkaPříklad řešení
    Co s nerelevantní událostí?Hluk během honičky ignorovat.
    Co s nemožnou akcí?Zakázat ji nebo výslovně odmítnout.
    Co při souběhu?Vizuální kontakt má prioritu před hlukem.
    Co při neúspěchu?Zablokovaná cesta → čekání / jiná trasa.

    Pro každý relevantní stav × událost známe výsledek. Ne každá dvojice musí změnit stav.

    Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

    37–38 min · tento snímek 1 min

    Když možností přibývá: FSM, strom, skóre

    PřístupVýznam a otázka
    FSM · Finite State MachineKonečný stavový automat: v jakém režimu postava je?
    BT / MBT · (Modular) Behavior TreeStrom chování: kterou větev úkolů provádí?
    UtilityKterý proveditelný záměr má nejvyšší vhodnost?
    GOAP · Goal-Oriented Action PlanningPlánování akcí orientované na cíl: jak ho dosáhnu?

    V jedné architektuře mohou spolupracovat.

    Zdroj: Bob Nystrom · Game Programming Patterns: State · Plch a kol. · Modular Behavior Trees (ECAI 2014) · Jeff Orkin · Three States and a Plan (GDC 2006)

    38–39 min · tento snímek 1 min

    KCD: vrstvy řízení a modulární chování

    Vrstva ve vývojové architektuřeÚloha
    BrainPřiděluje řízení jednotlivým subsystémům podle priorit.
    SubbrainŘeší například běžný život nebo boj.
    Modulární strom chováníSkládá úkoly, podmínky a jejich průběh.

    Rutina potřebuje pravidla předání řízení při mimořádné události.

    Warhorse/MFF, vývojové články 2014. Nepopisujeme každý detail finálního KCD I.

    Zdroj: Plch a kol. · An AI System for Large Open Virtual World (2014)

    39–41 min · tento snímek 2 min

    BT: podmínky, posloupnost a náhradní větev

    • Sequence potřebuje úspěch všech svých kroků.
    • Selector při neúspěchu větve zkouší další.
    • Running označuje rozpracovaný úkol, Success / Failure jeho výsledek.

    Vlastní výukový model, nikoli popis implementace konkrétní hry.

    Selžou-li obě možnosti získání nástroje, vrátí podstrom Failure. Nadřazený výběr potřebuje náhradní činnost.

    Zdroj: Plch a kol. · Modular Behavior Trees (ECAI 2014)

    41–43 min · tento snímek 2 min

    Kdy stavový automat a kdy strom chování?

    Spíš FSM / hierarchický FSMSpíš BT / MBT
    Potřebuji přehledně pojmenovat režimy a přechody.Potřebuji skládat činnosti z opakovaných podúkolů.
    Strážný zůstává v pátrání, dokud nepřijde událost.Příprava práce postupně hledá nástroj a cestu.

    Hranice není ostrá. Halo 2 autor popisuje jako HFSM, BT i graf chování.

    Zdroj: Bob Nystrom · Game Programming Patterns: State · Damian Isla · Handling Complexity in the Halo 2 AI (GDC 2005) · Plch a kol. · Modular Behavior Trees (ECAI 2014)

    43–44 min · tento snímek 1 min

    Konkrétní příklady z literatury

    ZdrojKonkrétní příkladCo se na něm učíme
    Nystrom: Game Programming PatternsStání, skok, skrčení a skok střemhlav u ovládané postavy.FSM oddělí režimy a povolené přechody.
    Isla a dokumentace Halo 2Větve boje, pátrání a ústupu; kryt a úhyb mají vlastní podmínky.Hierarchie a opětovné použití činností.
    Orkin: F.E.A.R.Plánovač vybere akce, jednoduchý automat je provádí.GOAP a FSM se mohou doplňovat.

    Nejde o soutěž názvů. Volíme strukturu, kterou umíme rozšiřovat a ladit.

    Zdroj: Bob Nystrom · Game Programming Patterns: State · Damian Isla · Handling Complexity in the Halo 2 AI (GDC 2005) · Microsoft · Halo 2 AI Behavior List · Jeff Orkin · Three States and a Plan (GDC 2006)

    44–46 min · tento snímek 2 min

    KCD II: požadovaný stav a cesta k němu

    GOAP = Goal-Oriented Action Planning, plánování akcí orientované na cíl.

    MBT určí požadovaný stavGOAP vyhledá akceProvedení změní stav
    PojemVýznam
    CílPodmínka, kterou chceme splnit.
    AkcePředpoklady, účinky a případně cena.
    PlánPosloupnost proveditelných akcí vedoucí k cíli.

    Požadovaný výsledek se odděluje od konkrétního postupu.

    Zdroj: Matěj Marko · Combining GOAP and MBTs… (GDC 2025) · Jeff Orkin · Three States and a Plan (GDC 2006)

    46–48 min · tento snímek 2 min

    GOAP: stejný cíl při změně podmínek

    GOAP = Goal-Oriented Action Planning. Cíl našeho NPC: být na pracovišti a mít nástroj.

      Vlastní výukový model, nikoli popis implementace konkrétní hry.

      48–50 min · tento snímek 2 min

      Akci nestačí chtít: musí být proveditelná

      SituaceReakce našeho návrhu
      Nelze pracovat ani půjčit nástrojVybrat dostupnou volnou činnost: odpočinek a sledování okolí.
      Náhradní činnost má také podmínkyJe bezpečno? Je místo dostupné? Vyžaduje vlastní nástroj?
      Podmínky se změníPřehodnotit pracovní cíl, například po zpřístupnění nástroje.

      Idle může být smysluplná činnost. Neznamená úspěch nesplněného pracovního cíle.

      Zdroj: David „Rez“ Graham · An Introduction to Utility Theory · Joar Jakobsson · Rain World devlog, Update 315

      50–51 min · tento snímek 1 min

      Rain World: moduly potřeb a vztahy druhů

      • Update 312: moduly Prey Tracker a Threat Tracker sledují kořist a hrozby.
      • Autor popisuje vážené porovnávání jejich naléhavosti.
      • Déšť v tomto zápisu navrhuje jako další prioritu. Update 314 teprve zavádí potřebná doupata.

      Následující posuvníky jsou naše didaktická konstrukce podle těchto principů.

      Zdroj: Joar Jakobsson · Rain World devlog, září 2014 · Joar Jakobsson · Rain World devlog, Update 315

      51–53 min · tento snímek 2 min

      Model utility inspirovaný Rain Worldem

      ZáměrNaše skóre
      Lovit1 × příležitost =
      Utéct1,5 × ohrožení =
      Do úkrytu1,2 × déšť =

      Vlastní výukový model. Váhy 1 / 1,5 / 1,2 jsou naše, nikoli parametry Rain Worldu.

      53–56 min · tento snímek 3 min

      Rain World: paměť, pozornost a bezpečná cesta

      ÚroveňCo rozlišujeme
      VnímáníJe tvor v zorném poli a vůbec si ho všimnu?
      PaměťKde byl naposledy a kde by mohl být nyní?
      NavigaceKudy lze projít a jak nebezpečná cesta je?

      Nalezení nejkratší cesty samo neřeší bezpečný útěk.

      Zdroj: Joar Jakobsson · Rain World devlog, Update 315 · Joar Jakobsson · Rain World devlog, září 2014

      56–58 min · tento snímek 2 min

      KCD: hospoda jako koordinovaný systém

      Role ve zveřejněném scénářiOdpovědnost
      HostVyžádá místo, objedná a čeká na obsluhu.
      Koordinátor oblastiSpravuje místa a předává požadavky.
      Hostinský a servírkaPřipravují a doručují objednávky.

      Smart area soustřeďuje místní pravidla a koordinaci na jedno místo.

      Doložený vývojový scénář. Konkrétní finální hospody mohou mít jiná pravidla.

      Zdroj: Černý a kol. · Smart Areas (ICAART 2014) · Plch a kol. · An AI System for Large Open Virtual World (2014)

      58–60 min · tento snímek 2 min

      KCD: objednávka má průběh i neúspěch

      MístoObjednávkaPřípravaDoručeníSpotřeba
      UdálostDůsledek zveřejněného scénáře
      Pomalá obsluhaHost se rozzlobí a může odejít.
      Více objednávekServírka přeuspořádá doručování podle vzdálenosti.
      Důležitý hostObsluha upřednostní jeho požadavek.

      Lokální pravidla vytvářejí situaci z více spolupracujících činností.

      Zdroj: Plch a kol. · An AI System for Large Open Virtual World (2014)

      60–62 min · tento snímek 2 min

      Denní rozvrh je plán, ne teleport

      SpánekSnídaněCestaPráceDomov
      • Čas určuje záměr; přesun má svou dobu a může selhat.
      • Činnost začíná až po splnění jejích podmínek.
      • Odlišný rozvrh nemusí být jiný kompletní automat.

      Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

      62–63 min · tento snímek 1 min

      Rozvrh zapisujeme včetně hranic

      ČasZáměr pekaře
      [22:00, 06:00)Spát doma · interval přechází přes půlnoc
      [06:00, 08:00)Najíst se a dorazit do práce
      [08:00, 16:00)Pracovat, pokud je na místě a má podmínky
      [16:00, 22:00)Volno a návrat domů

      Zmeškání směny neznamená stihnout osm hodin práce za jednu sekundu.

      63–64 min · tento snímek 1 min

      Výjimka má začátek, konec i návrat

      PrácePožární poplachÚtěkNové vyhodnocení rozvrhu
      • Přerušení: co se stane s nástrojem a rezervací pece?
      • Záchrana: kde je bezpečí a co když není cesta?
      • Návrat: pokračovat v úkolu, nebo vybrat novou činnost?

      Požár skončil v 23:00 → nemusím se vracet péct, směna už skončila.

      64–66 min · tento snímek 2 min

      KCD: přerušení a korektní návrat

      PřerušeníCo potřebuje náš návrh
      PozastaveníZapamatovat rozpracovanou činnost.
      Úplné ukončeníUklidit rezervaci, držený předmět a dílčí stav.
      NávratZkontrolovat, zda původní činnost ještě dává smysl.

      MBT v článku ECAI dovoluje odlišit pozastavení a ukončení.

      Zdroj: Plch a kol. · Modular Behavior Trees (ECAI 2014)

      66–67 min · tento snímek 1 min

      AI LOD: různá podrobnost simulace NPC

      LOD = Level of Detail. AI LOD mění podrobnost výpočtu chování a simulace podle relevance a dostupných prostředků.

      KCD II: režim ve slajdech GDC 2026Co prezentace popisuje
      CloseNejpodrobnější režim pro blízké viditelné postavy.
      MiddlePřesná poloha a stav, plná AI simulace, rychlý přechod do Close.
      FarHrubý pohyb a výběr chování. Samotné provádění jednotlivých činností se nesimuluje.

      Volba režimu respektuje i rozpočet a události. Samotné vzdálenosti nestačí.

      Zdroj: Petr Smrček · Supporting Thousands of NPCs… (GDC 2026) · Brom, Šerý, Poch · Simulation Level of Detail for Virtual Humans (IVA 2007)

      67–69 min · tento snímek 2 min

      Změňme čas, nebezpečí a dostupnost

      Vyzkoušejte: 10:00 → požár → 23:00 → konec požáru.

      Vlastní výukový model, nikoli popis implementace konkrétní hry.

      69–70 min · tento snímek 1 min

      Dva pekaři a jedna pec

      • Před cestou k peci zjisti, zda je volná.
      • Rezervuj pracovní místo pro konkrétní NPC.
      • Po dokončení, odchodu nebo přerušení rezervaci uvolni.
      • Při neúspěchu nabídni čekání, jinou činnost nebo nový pokus.

      „Pec volná“ při výběru cíle nezaručuje, že bude volná při příchodu.

      70–71 min · tento snímek 1 min

      Různé postavy, stejná pravidla

      Společný modelOdlišná data
      Pracuj → jez → odpočívejSměna, pracoviště, potřeby
      Nebezpečí → bezpečíOdvaha, útočiště, rychlost
      Žádný vstup → čekejTrpělivost, náhradní práce, komentář

      Trocha variability pomáhá. Náhodné změny bez důvodu ale ničí naučenou rutinu.

      71–72 min · tento snímek 1 min

      Co opravdu potřebuje studentská hra?

      • Několik čitelných režimů místo desítek skrytých stavů.
      • Jeden běžný cyklus a jedna důležitá výjimka.
      • Viditelný důvod čekání a cesta zpět do funkčního stavu.
      • Přehled pro ladění: stav, cíl, důvod přechodu, poslední událost.

      NPC nepůsobí živě proto, že má mnoho proměnných, ale protože jeho jednání dává smysl.

      72–73 min · tento snímek 1 min

      Produkce není jen stavění továren

      Co vznikáCo to umožňuje ve hře
      Obilí, mouka, chlébObživa, práce, obchod, doručování
      Noví protivníciObnovení rizika, obrana místa, tlak na zdroje
      Noví obyvateléPoptávka, pracovní síla, změny osady

      U každého zdroje: proč ho hra potřebuje a co omezuje jeho obnovu?

      Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce

      73–74 min · tento snímek 1 min

      Vznik a odběr: pivo i protivníci

      Co v našem návrhu vznikáZásobaCo ji odebírá
      Hospoda doplňuje pivoDostupné porce či litryHosté vypijí nápoj, případně pravidlo ztrát.
      Spawn přidává protivníkyŽiví aktivní nepřáteléZabití, odchod nebo řízený despawn.

      Vyšší přísun než odběr plní zásobu. Při limitu potřebujeme pravidlo omezení dalšího vzniku.

      Vlastní abstrakce: skutečný pivovar by přidal vstupy a výrobu. Protivníkova AI přitom může usilovat o přežití.

      74–75 min · tento snímek 1 min

      Tok zdrojů: vznik, zásoba, převod, spotřeba

      PoleObilíMlýnMoukaPekárnaChléb

      Chléb → obyvatelé (spotřeba). Kurýr zajišťuje dopravu mezi místy.

      • Zásoba: množství právě teď [kusy].
      • Tok: množství za čas [kusy/min].
      • Recept: kolik vstupu se mění na kolik výstupu.

      Řetězec výroby sám není uzavřená zpětnovazební smyčka.

      75–76 min · tento snímek 1 min

      Najděme úzké místo pekárny

      kusů/min

      Vlastní výukový model, nikoli popis implementace konkrétní hry.

      76–80 min · tento snímek 4 min

      Výkon porovnáváme ve stejných jednotkách

      Při receptu 1 : 1 : 1
      max. výroba chleba = min(6, 4, 3) = 3 ks/min

      Pokud 1 chléb vyžaduje 2 mouky, mlýn s 4 moukami/min podpoří nejvýše 2 chleby/min.

      Ustálený teoretický limit není totéž co okamžitý výstup z rozpracovaných zásob.

      80–82 min · tento snímek 2 min

      Zásoba poskytuje čas na reakci

      12 chlebů / spotřeba 3 chleby za minutu
      = 4 minuty krytí bez další výroby

      • Prázdný vstup zastaví navazující výrobu.
      • Plný výstupní sklad může zastavit předchozí stupeň.
      • Čekající výrobce potřebuje důvod, signál i pravidlo obnovení.

      Zásoba tlumí výpadek; neřeší trvale nedostatečný výkon.

      82–83 min · tento snímek 1 min

      Narušení řetězce propojí NPC s příběhem

      Vesničané: „Není chleba, máme hlad! Teď ještě musíme jíst koláče!“

      Průběh narušeníCo hráč pozná nebo může udělat
      Mlynář nemůže pracovat, dochází mouka.Pekař přeruší pečení a vysvětlí chybějící vstup.
      Ubývá chleba, obyvatelé mají hlad.Stížnosti, hledání náhrady, možnost zasáhnout.
      Dovezeme mouku nebo opravíme cestu.Pekař znovu vyhodnotí výrobu, zásoba se může obnovit.

      Cena se mění podle našich pravidel. Koláčový vtip odkazuje na výrok falešně připisovaný Marii Antoinettě.

      Zdroj: Původní VHS P04 · chování, stavy, fuzzy a produkce · HISTORY · Did Marie-Antoinette Really Say Let Them Eat Cake?

      83–85 min · tento snímek 2 min

      Jeden propojený návrh, tři pohledy

      GDDNPCProdukce
      Popisuje pravidla a hráčská rozhodnutí.Volí a provádí činnosti.Určuje dostupnost a obnovu zdrojů.
      Subnautica: pokračovat v ponoru?KCD / Rain World: co teď udělat?Výroba a spotřeba mění další možnosti.

      U různých her hledáme stejné vztahy: podmínky, důsledky a nové rozhodnutí.

      85–86 min · tento snímek 1 min

      Šest rychlých otázek na závěr

      86–89 min · tento snímek 3 min

      Co si odnést do vlastního projektu

      • GDD: jeden úplný průchod bez domýšlení pravidel.
      • Smyčka: rozhodnutí, důsledek a důvod k opakování.
      • NPC: vnímání, režim, přechody, selhání i návrat.
      • Produkce: jednotky, zásoby, omezení a čitelné následky.

      Hotovo: 90 minut. Zdroje a volitelná zadání následují odděleně.

      89–90 min · tento snímek 1 min

      The Sims: objekty nabízejí činnosti

      Potřeby SimaDostupné nabídky objektůVolba interakce
      • Objekt nese podmínku dostupnosti i postup interakce.
      • Nabídka popisuje uspokojované potřeby.
      • Výběr zohledňuje stav Sima a vlastnosti nabídky.

      Vlastní analogie: lavička nabízí odpočinek, studna vodu. Obě nabídky potřebují podmínky dostupnosti.

      Zdroj: Kenneth Forbus a Will Wright · Programming Objects in The Sims (2001)

      Dodatek mimo 90 minut

      F.E.A.R.: plán a jednoduchý vykonavatel

      GOAP = Goal-Oriented Action Planning.

      CílPlánovač akcíVykonávací automat
      SituacePříklad vazby
      Střelba vyžaduje nabitou zbraňPřebití může požadovanou podmínku zajistit.
      Útěk potřebuje bezpečnou trasuNedostupná cesta vyřadí variantu útěku.

      Tři vykonávací stavy nejsou popisem veškerého rozhodování hry.

      Zdroj: Jeff Orkin · Three States and a Plan (GDC 2006)

      Dodatek mimo 90 minut

      Director: volné krokování původního modelu

      NárůstVrcholDozníváníKlid

      Vlastní výukový model, nikoli popis implementace konkrétní hry.

      Dodatek mimo 90 minut

      „Má hlad“ může být postupné, ne jen ano/ne

      Ostré pravidlo: při hladu ≥ 60 jde jíst.
      Fuzzy množina: do jaké míry je hlad „velký“?

      Malý

      Velký

      Vlastní výukový model, nikoli popis implementace konkrétní hry.

      Zdroj: MathWorks · Foundations of Fuzzy Logic

      Dodatek mimo 90 minut

      Fuzzy příslušnost, skóre a náhoda nejsou totéž

      Hodnota 0,7 může znamenat…Význam
      PříslušnostHlad odpovídá pojmu „velký“ v míře 0,7.
      Skóre akceJídlo má podle našeho modelu vhodnost 0,7.
      PravděpodobnostAkce nastane v 70 % odpovídajících pokusů.

      Stejný číselný rozsah neznamená stejný model rozhodování.

      Dodatek mimo 90 minut

      Fuzzy pravidla a stabilní rozhodnutí

      Pokud je hlad velký a nebezpečí malé, pak je jídlo žádoucí.

      Např. AND = min(0,8; 0,6) = 0,6. Jde o zvolený operátor, ne jedinou možnost.

      • Fuzzy inference: příslušnosti → pravidla → agregace → případně číselný výstup.
      • Při podobných skóre mohou akce přeskakovat tam a zpět.
      • Pomáhá setrvačnost, minimální trvání nebo dva různé prahy.

      Příklad: začne jíst při hladu ≥ 60, skončí při ≤ 30. Tato hystereze není sama o sobě fuzzy logika.

      Zdroj: MathWorks · Fuzzy Inference Process · MathWorks · Defuzzification Methods · David „Rez“ Graham · An Introduction to Utility Theory

      Dodatek mimo 90 minut

      Přednáškový rozbor: kde se ztrácí volba?

      Jednodušší variantaVarianta s volbou
      Předmět je vždy přímo pod hladinou.Zajímavější nález leží hlouběji.
      O₂ pohodlně stačí na všechno.Musím počítat i s návratem.
      Další ponor nic nemění.Získané zdroje změní vybavení či zázemí.

      Při testu sledujeme, zda hráč riziku rozumí a kdy změní plán.

      Dodatek mimo 90 minut

      Smyčka musí mít hranice a možnost změny

      • Co opakování stojí: čas, energii, peníze, pozornost?
      • Co brání bezplatnému růstu nebo nekonečnému farmení?
      • Kdy hráč změní postup, přestane, prohraje nebo vyhraje?
      • Který následek si přenese do dalšího cyklu?

      Teď se podíváme na NPC, která tyto smyčky spoluvytvářejí.

      Dodatek mimo 90 minut

      Zjednodušení simulace může zlepšit hru

      Vývojáři Factorio při návrhu tekutin popsali problémy s předvídatelností i s vysokými průtoky.

      Ve zveřejněném návrhu z června 2024 sloučili propojená potrubí do segmentů se společným množstvím tekutiny.

      Pro naše hry: simulujme podrobně to, z čeho vzniká rozhodnutí. Zbytek může být jednodušší.

      Datovaný vývojářský příklad, nikoli popis všech současných pravidel Factorio. Naše pekárna není model z Factorio.

      Zdroj: Wube · Friday Facts #416: Fluids 2.0 (21. 6. 2024)

      Dodatek mimo 90 minut

      Zdroje: výchozí materiál a rozhodování

      1. Původní VHS P04 · chování, stavy, fuzzy a produkceLokální výchozí materiál. Nová verze mění pořadí, formalizaci a příklady.
      2. Bob Nystrom · Game Programming Patterns: StateAutorský text: FSM, oddělené automaty, hierarchie a návrat po přerušení.
      3. David „Rez“ Graham · An Introduction to Utility TheoryGame AI Pro, kap. 9, s. 113–126. Skórování, The Sims a setrvačnost; PDF zůstává na webu vydavatele kapitoly.
      4. Epic Games · Behavior Trees in Unreal EngineRozhodovací větve a Blackboard. Nejde o tvrzení, že všechny stromy chování fungují shodně s Unrealem.

      Dodatek mimo 90 minut

      Zdroje: fuzzy a produkce

      1. MathWorks · Foundations of Fuzzy LogicStupně příslušnosti a operace s fuzzy množinami.
      2. MathWorks · Fuzzy Inference ProcessFuzzifikace, pravidla, agregace a defuzzifikace.
      3. MathWorks · Defuzzification MethodsTěžiště plochy se liší od průměru maxim.
      4. Wube · Friday Facts #416: Fluids 2.0 (21. 6. 2024)Datovaný vývojářský příklad: srozumitelnost a předvídatelnost simulace. Nepřebíráme aktuální číselné parametry hry.

      Dodatek mimo 90 minut

      Zdroje případových studií: KCD

      1. Plch a kol. · An AI System for Large Open Virtual World (2014)Vývojová architektura Warhorse/MFF. Prioritní subbrains, bezpečné přepínání a simulovaná hospoda. Vývojový zdroj není audit finálního KCD I.
      2. Plch a kol. · Modular Behavior Trees (ECAI 2014)Autorský dvoustránkový článek. Stav uzlů, přerušení, čas a podpora zjednodušených aktualizací.
      3. Černý a kol. · Smart Areas (ICAART 2014)Chování sdílené v prostoru, koordinace rolí a opětovné použití. Vývojová studie, ne tvrzení o každé finální herní hospodě.
      4. Matěj Marko · Combining GOAP and MBTs… (GDC 2025)Oficiální anotace potvrzuje MBT pro požadovaný stav a GOAP pro nalezení akcí. Nevyvozujeme neověřené detaily z celého videa.

      Smrček, GDC 2026: AI LOD v KCD a KCD II. Doplněk teorie: Brom, Šerý a Poch, IVA 2007.

      Dodatek mimo 90 minut

      Zdroje případových studií: Rain World a L4D

      1. Joar Jakobsson · Rain World devlog, září 2014Archiv autorských příspěvků z TIGSource. Update 312: vztahy druhů, Prey/Threat Tracker, vážené utility a nebezpečnost cesty. Vývojová verze.
      2. Joar Jakobsson · Rain World devlog, Update 315Autorův výklad pozornosti, zorného pole a hypotéz o poloze ostatních tvorů. Nejde o úplnou specifikaci dnešní hry a DLC.
      3. Michael Booth · The AI Systems of Left 4 Dead (2009)Primární slajdy Valve, PDF 78–92: intenzita přeživších, čtyři fáze a řízení tempa. Původní L4D.
      4. Michael Booth · Replayable Cooperative Game Design (GDC 2009)Primární slajdy Valve, PDF 35–41: střídání napětí a úlevy, omezení přílivu hrozeb a výjimky.

      Helldivers 2: Arrowhead 7.1.0, Enemy Spawning. Vlastní vzorec tlaku a recyklaci rozpočtu vysvětlují poznámky u modelu.

      Dodatek mimo 90 minut

      Nejdřív dokončit předávání GDD

      Mimo 90minutovou přednášku

      Dopsat pravidlaPředat cizímu týmuHrát bez autoraOpravit a znovu ověřit

      Otevřít existující zadání „Poslední zásilka“

      Původní list uvádí 25 minut. Pro delší cvičení přidejte čas na druhý test; samotný původní list jsme neměnili.

      Dodatek mimo 90 minut

      Navazující cvičení: student a učitel

      Samostatné navazující cvičení

      Navrhněte chování studenta a učitele během školního dne a ověřte jejich vzájemné reakce.

      • Tři volné varianty vlastního modelu.
      • Druhý tým simuluje vybraný návrh bez napovídání autorů.
      • Zpětná vazba, oprava a opakovaný test.

      Pracovní list pro autory

      Simulace a zpětná vazba pro druhý tým

      Dodatek mimo 90 minut

      Obsah přednášky

      Poznámky