Jak řídit živoucí svět v počítačové hře

Podobné dokumenty
Úvodem... 9 Kapitola 1 Karetních

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Automatizace ST optimalizace. Lukas Vozda Analytics & Automation

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Informační systémy plánování výroby - pokročilé rozvrhování

4EK311 Operační výzkum. 5. Teorie grafů

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Přidělování CPU Mgr. Josef Horálek

Algoritmizace prostorových úloh

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci

Základy umělé inteligence

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

Počítačové hry. Video games Herní žánry Herní zařízení Tvorba počítačové hry. Profese Dokumenty Vývojové fáze

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Dijkstrův algoritmus

Business Intelligence

Matice sousednosti NG

TGH06 - Hledání nejkratší cesty

Úvod Game designer Struktura hry Formální a dramatické elementy Dynamika her Konec. Úvod do game designu 1 / 37

ZVUKOVÉ JEVY. Mgr. Jan Ptáčník - GJVJ - Fyzika - Tercie

2. Vlnění. π T. t T. x λ. Machův vlnostroj

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

ScanStation P20 uživatelská kalibrace (procedura Check & Adjust)

Teorie her a ekonomické rozhodování. 7. Hry s neúplnou informací

Moderní systémy pro získávání znalostí z informací a dat

bfs, dfs, fronta, zásobník, prioritní fronta, halda

TGH06 - Hledání nejkratší cesty

Dual Eye Mapping Duální navigace a sledování povrchu (inteligentnější a rychlejší úklid)

MATEMATIKA A 3 Metodický list č. 1

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Umělá inteligence v PC hrách a její modelování Jan Januš

Program. Aktualizace fakultního webu. Hlavní změny. Jednotná navigace. Školení správců webových stránek

popel, glum & nepil 16/28

C2115 Praktický úvod do superpočítání

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

Jan Březina. Technical University of Liberec. 30. dubna 2013

Grafové algoritmy. Programovací techniky

Obsah. Proč právě Flash? 17 Systémové požadavky 17. Jak používat tuto knihu 18 Doprovodný CD-ROM 19

Grafové algoritmy. Programovací techniky

Průmyslová řešení. ProfiTech S. HIGH-END řízení v modulárním designu. Centrální a jednoduchá obsluha Rozsáhlé funkce Optimální úprava zařízení

Diplomová práce. On-line databáze provozních dat pro laboratorní odparku. Jan Polnický VŠCHT FCHI, ASŘ 2001/2002

Regulátor MaxVU. Stručný návod k použití

Algoritmy pro práci s neúplnou informací

Montážní návod posuvný systém SMART pro dřevěné dveře

Optimalizace zimní údržby Plzeňský kraj. Petra Pelikánová

Úvod do mobilní robotiky AIL028

Geoinformatika. IX GIS modelování

4.1.7 Rozložení náboje na vodiči

Měřiče celkové spotřeby Eco-eye

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Inovace bakalářského studijního oboru Aplikovaná chemie

Úvod do teorie grafů

Paralelní programování

MANUÁL SMART-MQU. 1. Úvod. 2. Fyzické provedení přenosové sítě.

Rozhraní pro práci s XML dokumenty. Roman Malo

prohled av an ı graf u Karel Hor ak, Petr Ryˇsav y 16. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

KAM SMĚŘUJE VYHLEDÁVÁNÍ. Pavel Kocourek SEARCH TECHNOLOGIES, formerly INCAD INFORUM

Připojení k domácí WiFi pomocí aplikace

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

4. Úvod do paralelismu, metody paralelizace

1 Nejkratší cesta grafem

setup() { I = 0; } loop() { I = I + 1; }

Specifikace projektu Ocerus

Analýza. Roman Danel 1. Metody analýzy

STŘEŠNÍ ŽALUZIE V-LITE

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Seminář z umělé inteligence. Otakar Trunda

Úvod do mobilní robotiky AIL028

Měření průtoku kapaliny s využitím digitální kamery

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Použití dalších heuristik

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Úvod do mobilní robotiky AIL028

VISUAL BASIC. Přehled témat

ČÁST 1. Základy 32bitového programování ve Windows

Základy business intelligence. Jaroslav Šmarda

Vrstva přístupu k médiu (MAC) a/b/g/n

Optimizing Limousine Service with AI. David Marek

07 Základní pojmy teorie grafů

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Příloha č.1a Technická specifikace dodávka nábytku

Implementace LL(1) překladů

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

Pavel Koupý. Anti-crash robot

Stromy, haldy, prioritní fronty

Obrazový návod mobilní aplikace

Myšlenkové mapy v Linuxu

Budování sítě v datových centrech

Hardware 1. Které zařízení není umístěno na základní desce? A) Zpracovává obraz pro zobrazení na monitoru. C)

1. BITVY ODDÍLŮ SANDBOX... 6

Satori. Uživatelský manuál

Behaviorální finance. Ing. Michal Stupavský, CFAs. Při investování je největším nepřítelem vaše mysl.

Jan Březina. Technical University of Liberec. 21. dubna 2015

Paralelizace datových přenosů

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Infor APS (Scheduling) Tomáš Hanáček

Transkript:

Jak řídit živoucí svět v počítačové hře Petr Smrček Warhorse Studios 2018

Kingdom Come: Deliverance RPG Open world Realističnost Posázaví CryEngine

KCD: AI challenge ~600 současně aktivních NPC Zaměstnání, domov, denní cyklus Reakce

Agenda Navigace Percepce Behaviorální stromy Vazby mezi objekty Optimalizace světa Přesnost vs. zábava

Navigace

Pohyb Pohyb z bodu A do bodu B Překážky Zeď Les Prudký svah Ostatní NPC

Navmesh Predpočítaná struktura Speciální podlaha Mezera u stěn Šířka NPC Standardní řešení ~100 MB (4x4 km) ~1.5h výpočet

Pathfinding Nalezení nejkratší cesty v grafu Váhy hran vzdálenost Euklidovský prostor Algoritmus A* Vychazí z Dijkstrova algoritmu

Dijkstrův algoritmus Nejkratší cesta do každého uzlu V každém kroku přidá 1 uzel Šíří se jako vlna

Dijkstrův algoritmus Nejkratší cesta do každého uzlu V každém kroku přidá 1 uzel Šíří se jako vlna

A* Navíc heuristika Odhad vzdálenosti do cíle

A* Navíc heuristika Odhad vzdálenosti do cíle

Navmesh: Pathfinding A* Polygony uzly Alternativně hrany, popř. hybrid

Navmesh: Pathfinding 2 A* vytvoří tunel String pulling

Navmesh: Raycast Combat Levnější Formace

Cesty Pouze delší úseky Lze zakázat

ORCA Pohyblivé překážky ~10m okolí Dočasně přebere řízení Optimal Reciprocal Collision Avoidance

Percepce

Percepce Vnímání NPC navzájem Vizuální a sluchová Crime system Stealth

Zrak Výběr nejvýznamějšího cíle Nepřítel Podezřelý Důležitost Raycast Filtrování Čas

Sluch Zdroj - akce Tlumení prostředím Čas

Informace Vytvořená percepcí Sdílení Nahlášení zločinu Křik při panice Reputace

Řízení NPC

Chování NPC vykonávají chování Kovář Obchodník Úkolové NPC Voják v bitvě Logika rozhodování Behaviorální stromy

Behaviorální stromy

Behaviorální stromy Mozek každé NPC Skriptovací jazyk Flow control

Uzel BS Vstup Výstupy Atributy

Uzly BS Akční Move Play Animation Dekorátory Loop Efekt Kompozity Sekvence Parallel

Stav uzlu Veřejný Výsledek Úspěch / neúspěch Stále běží

Řetězení Funkce Příklad Kořenové chování Zábava Hospoda Popíjení Najdi lavici

Proměnné Deklarace v kořenu stromu Konfigurace atributů Uzel s podmínkou Složené typy

Přerušení Konec Rána pěstí Začátek úkolu Úklid Pauza Dialog Cutscéna

Smart object Dveře, kamna, židle Návod k interakci Kolekce chování Smart area Hospoda

Scheduling ~600 NPC, náročný výpočet Přerušení mezi uzly Několik NPC za frame Round robin Vzdálenost, Speciální priorita

Vztahy mezi objekty

Vztahy mezi objekty Můj kůň, postel Můj dům Obchodníci v mém městě

Link Vazba mezi objekty Název (typ) Data home, owner Detaily vztahu (jak velká hrozba?) Orientovaný graf

GraphSearch Uzel BS Plní proměnné Filtrování Podle linku Podle cíle Maximální hloubka

Modelová situace

Modelová situace Je večer, Hynek dopracoval Vybere si chování hospoda Najde hospodu ve své vesnici Najde cestu Dojde tam, cestou se vyhne pár opilcům Hospoda mu určí místo Židle ho posadí

Modelová situace Před hospodu přijde hráč Někoho před hospodou omráčí Pro hynka je v tu chvíli nejdůležitější Po pár vteřinách ho uslyší Přeruší popíjení Vyběhne ven a pozná hráče Začne volat Pomoc, vražda! Celá hospoda to uslyší Rozeběhnou se pro stráže

Optimalizace

Limity Hardwaru Problém zejména konzole Výkon 60FPS -> ~17ms/frame Paměť Konzole limit ~5GB

NPC LOD Level of Detail Optimalizace světa Vypnutá fyzika Vypnuté vykreslování Zjednodušené behaviorální stromy ~50 NPC detailních Zbytek LOD

NPC LOD - následky Dočasný zákaz LOD Hystereze rozhraní Jezdec na koni Protivníci v souboji Třídy ekvivalence

Navmesh ~100 MB Dodatečné info Materiál Schůdnost Koňská navmesh Snažší neřešit

Přesnost vs. zábava

Illusion of Intelligence Chytřejší algoritmus = zlepšení AI? HALO Výrazné zlepšení AI! Nepřátelé měli pouze víc HP Vydrželi déle Časová investice

Chytřejší nepřátelé Machine learning Kdy zaútočit Kdy šetřit staminu Jak daleko se držet Jednoduchý skript zábavnější Snažší údržba a změny

Formace Společný pohyb více NPC

Ladění Formací Záseky Šíření problému Witcher 3 strážní v Novigradu Poměr práce / dojem

Iterativní vývoj Psí DLC - Work in progress! Povel k noze! Formace, drží se u nohy Funguje skvěle, dokud se hráč nechce podívat Důležitý je reálný výsledek

Historická přesnost Úzké prostory Souboj Animace Vyhýbání se Členité překážky Zasekávání Hráč nedosažitelný

Akta: KCD Test: hraní několik hodin v kuse Ztrácejí se NPC Nehody Vypnuté zranění z pádu a nárazu

Kvíz Co se rozbilo?

Děkuji za pozornost Prostor pro dotazy