|
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
- Semestrální práce
- 48 hodin za semestr
- Příprava na zápočet
- 8 hodin za semestr
- Účast na výuce
- 42 hodin za semestr
- Domácí příprava na výuku
- 10 hodin za semestr
|
| 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 herní mechaniky |
| Programovat herní mechaniky |
| 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 |
|---|
| Písemná zkouška |
| Písemná zkouška |
| Známkou |
| Známkou |
| Analýza výkonů studenta |
| Analýza výkonů studenta |
|
Doporučená literatura
|
-
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.
-
Jan JIRKOVSKÝ a kolektiv. Game industry: vývoj počítačových her a kapitoly z herního průmyslu. Praha, 2011. ISBN 978-80-904387-1-2.
-
Jan JIRKOVSKÝ a kolektiv. Game industry 2. Praha, 2012. ISBN 978-80-904387-3-6.
-
Jan JIRKOVSKÝ a kolektiv. Game industry 3. Praha, 2013. ISBN 978-80-904387-4-3.
-
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.
|