Předmět: Vývoj počítačových her

» Seznam fakult » FAI » AUIUI
Název předmětu Vývoj počítačových her
Kód předmětu AUIUI/AE9VH
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Magisterský
Rok studia nespecifikován
Semestr Zimní
Počet ECTS kreditů 4
Vyučovací jazyk Angličtina
Statut předmětu nespecifikováno
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Dostupnost předmětu Předmět je nabízen přijíždějícím studentům
Vyučující
  • Vogeltanz Tomáš, Ing. Ph.D.
Obsah předmětu
Přednášky: 1. Vývoj počítačových her, vývojový cyklus, historie a současnost, herní průmysl v ČR 2. Herní design, flow, MDA, dokumentace 3. Žánry počítačových her, herní mechaniky a pravidla, platformy, publikování a distribuce 4. Návrhové vzory v herním vývoji (Game Loop, Object Pool, Component, State atd.) 5. Matematické a fyzikální výpočty v počítačových hrách, reprezentace, transformace, částicové systémy 6. Umělá inteligence v počítačových hrách, specifika, role, metody 7. Realizace umělé inteligence v počítačových hrách, návrh, implementace, integrace, agenti, senzory, assety pro AI v Unity 8. Pathfinding a navigace, Dijkstrův algoritmus, A* (A star), Waypoints, Navigation mesh, vizualizace, implementace 9. Hejna a davy, Reynoldsův hejnový algoritmus, Fuzzy logika, návrh a implementace controlleru Fuzzy logiky 10. Testování her, role testera, specifika, softwarové a hardwarové testování, nástroje, tolerance chyb, alfa, beta a gold testování 11. Síťová komunikace v počítačových hrách, real-time loop, autorita serveru, synchronizace, multi-serverová architektura, ochrana proti podvádění, knihovny pro Unity 12. Vývoj her pro mobilní platformy, specifika, optimalizace, Unity Profiler, postup, analýza a realizace, debugování a testování na reálném mobilním zařízení 13. Protipirátské ochrany a jejich možné prolomení 14. Analytické nástroje, práce s daty uživatelů a ochrana uživatelských dat Cvičení: 1. Nástroje pro vývoj, Visual Studio, Github Desktop, Unity, základní prvky a ovládání prostředí, Unity Hub, licence, Unity Asset Store 2. Assety, scény, herní objekty, prefaby a komponenty v Unity 3. Základní skriptování, serializovaná data, ovládání a vstupy, pohyb herních objektů pomocí skriptu 4. Řízení animací a zvuku, eventy (Observer pattern) 5. Fyzika a typy kolizních komponent, triggery (RigidBody a Colliders), částicový systém 6. Uživatelské rozhraní v Unity, řízení prvků hry (game managment) 7. Singleton, Dependency Injection a Object Pool v Unity 8. Návrh umělé inteligence v Unity 9. Implementace umělé inteligence v Unity 10. Navigace a pathfinding v Unity, NavMesh, NavMeshAgent 11. Návrh a implementace controlleru Fuzzy logiky, aplikování v rámci umělé inteligence 12. Síťová komunikace v Unity 13. Vývoj pro mobilní platformu v Unity, práce s Unity Profiler 14. Testování her, testovací aplikace, jednotkové testování

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž), Dialogická (diskuze, rozhovor, brainstorming), Cvičení na počítači, Týmová práce
Předpoklady
Odborné znalosti
Znalost C#
Znalost C#
Znalost objektového programování
Znalost objektového programování
Základní znalost návrhových vzorů
Základní znalost návrhových vzorů
Základní znalost nástroje GIT
Základní znalost nástroje GIT
Základní teoretická znalost 3D modelování a animace
Základní teoretická znalost 3D modelování a animace
Odborné dovednosti
Programování
Programování
Výsledky učení
Odborné znalosti
Popsat proces herního vývoje
Popsat proces herního vývoje
Charakterizovat klíčové oblasti herního návrhu
Charakterizovat klíčové oblasti herního návrhu
Vyjmenovat návrhové vzory používané v počítačových hrách
Vyjmenovat návrhové vzory používané v počítačových hrách
Porozumět použití umělé inteligence v počítačových hrách
Porozumět použití umělé inteligence v počítačových hrách
Porozumět matematice a fyzice v počítačových hrách
Porozumět matematice a fyzice v počítačových hrách
Odborné dovednosti
Používat Unity editor
Používat Unity editor
Programovat scripty pro Unity
Programovat scripty pro Unity
Programovat mechaniky hry
Programovat mechaniky hry
Navrhnout a implementovat jednoduchou umělou inteligenci ve hrách
Navrhnout a implementovat jednoduchou umělou inteligenci ve hrách
Vytvořit herní scény
Vytvořit herní scény
Vyučovací metody
Odborné znalosti
Monologická (výklad, přednáška, instruktáž)
Monologická (výklad, přednáška, instruktáž)
Dialogická (diskuze, rozhovor, brainstorming)
Dialogická (diskuze, rozhovor, brainstorming)
Týmová práce
Týmová práce
Odborné dovednosti
Přednášení
Přednášení
Cvičení na počítači
Cvičení na počítači
Praktické procvičování
Praktické procvičování
Hodnotící metody
Odborné znalosti
Známkou
Písemná zkouška
Známkou
Písemná zkouška
Analýza výkonů studenta
Analýza výkonů studenta
Doporučená literatura
  • Alex OKITA. Learning C# Programming with Unity 3D. 2019. ISBN 978-1-138-33681-0.
  • Davide AVERSA. Unity artificial intelligence programming. 2022. ISBN 978-1-80323-853-1.
  • Chihming CHIU. Massively multiplayer game programming with Unity 3D and Mirror. 2021. ISBN 978-0-2288-4410-5.
  • Philip WALKER. Unity certified programmer: exam guide : expert tips and techniques to pass the Unity certification exam at the first attempt. 2020. ISBN 978-1-83882-842-4.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr