Detail předmětu
Základy herního vývoje
FaVU-1ZHERVAk. rok: 2024/2025
Rostoucí vliv počítačových her, simulátorů a aplikací typu "serious games", nepopiratelně ukazuje jejich budoucí potenciál. Avšak jejich vývoj vyžaduje komplexní přehled širokého množství témat a kreativních postupů, využívaných při řešení rozličných a nekonvenčních problémů. V předmětu Základy herního vývoje (IZH) uvádíme účastníky do problematiky vývoje her jak z pohledu teoretických algoritmů a postupů, jakož i praktických zkušeností využívajících platformy Unity.
PROČ JE PŘEDMĚT VYUČOVÁN
Předmět nabízí účastníkům úvod do problematiky vývoje počítačových her a jim podobným vážným aplikacím. Kromě zřejmých použití jako jsou právě počítačové hry lze tyto znalosti uplatnit i v mnohem širším kontextu. Díky masivní poptávce po vizualizacích a prototypech (tzv. serious games) se s nimi setkáváme stále častěji - od herní komunity, architektonických návrhů, prototypů produktů, vizualizací a prezentací až po prototypy filmů. Teoretická část kurzu formou přednášek pokrývá základní koncepty, algoritmy a postupy tvorby her, které je možno obecně využít při řešení mnoha reálných problémů. Prakticky si tuto schopnost studenti prohloubí v rámci demonstračních cvičení, průběžných úkolů a projektu, zaměřených na vývojovou platformu Unity.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Základech Algebry a Geometrie : matice, vektory, transformace, projekce.
Základech Programování : řešení problémů, libovolný programovací nebo skriptovací jazyk.
Základech Počítačové Grafiky a Multimédií : zobrazování ve 3D, formy multimediálních dat.
Pravidla hodnocení a ukončení předmětu
BODOVÉ HODNOCENÍ
58 projekt, 42 průběžné úkoly
PRŮBĚŽNÁ KONTROLA STUDIA
Průběžné úkoly až 7 x 6 bodů = 42 bodů.
Game Jam projekt až 58 bodů.
Hranice pro úspěšné absolvování předmětu je podle pravidel ECTS 50 bodů.
KONTROLOVANÁ VÝUKA
Průběžné úkoly jsou zadávány a hodnoceny v průběhu semestru.
Projekt je zadán formou Game Jam na konci semestru a hodnocen po vypršení časového limitu.
Učební cíle
ZÍSKANÉ DOVEDNOSTI, ZNALOSTI A KOMPETENCE Z PŘEDMĚTU
Studenti se seznámí se základní terminologií návrhu her zasazenou do současného procesu herního vývoje.
Studenti získají přehled algoritmů a postupů používaných při realizaci interaktivních a pasivních multimediálních aplikací.
Studenti se naučí řešit časté problémy v herním vývoji za pomoci vývojové platformy Unity.
Studenti budou schopni transformovat koncepty a nápady v reálné aplikace za pomoci prototypů a praktických vývojových procesů.
DOVEDNOSTI, ZNALOSTI A KOMPETENCE OBECNÉ
Studenti se naučí řešit jednoduché programátorské problémy formou pravidelných úkolů.
Studenti se zdokonalí v praktickém využití programátorských, ladících a modelovacích nástrojů.
Studenti si procvičí skriptování a programování v jazycích C# a HLSL.
Základní literatura
Jesse Schnell; The Art of Game Design: A Book of Lenses; A K Peters/CRC Press; 2019 (3. vyd.). (EN)
[Manuál Unity](https://docs.unity3d.com/Manual/index.html) (EN)
Podklady z přednášek a demonstračních cvičení (CS)
Robert Nystrom; Game Programming Patterns; Gennever Benning; 2014 (1. vyd.) + online. (EN)
[The Book of Shaders](https://thebookofshaders.com/) (EN)
Zařazení předmětu ve studijních plánech
- Program BIT bakalářský 2 ročník, zimní semestr, volitelný
- Program DES_B bakalářský 2 ročník, zimní semestr, povinně volitelný
2 ročník, zimní semestr, povinně volitelný
2 ročník, zimní semestr, povinně volitelný
2 ročník, zimní semestr, povinně volitelný - Program BIT bakalářský 2 ročník, zimní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
1. Co je Hra: Úvodní přednáška, Přehled historie, Terminologie a názvosloví, Serious Games
2. Návrh Her: Návrh systémů, Herní žánry, Mechaniky, Herní návrh
3. Herní Engine: Architektura a systémy, Herní smyčka, Engine Unity
4. Unity jako Platforma: Datová orientace, Entity a Komponenty, Výkonná logika
5. Uživatelský Vstup: Styly ovládání, Specifika hardware, Vstup v Unity
6. Tělesa a Prostor: Scéna ve 3D, Transformace, Fyzika v Unity
7. Vizualizace a Zobrazení: Kamera, Efekty a Shadery, Materiály v Unity
8. Assety a Modely: Formáty a nástroje, Rigging, Skinning, Assety v Unity
9. Dynamika Scény: Animace, Interpolace, Kosterní animace, Timeline
10. Vizuální Rozhraní: Elementy, Události, Zpětná vazba, UX, UI Toolkit v Unity
11. Zvukový Systém : Zvukový návrh, Zdroje a posluchači, Vliv scény
12. Nápad a Realizace: Herní mechaniky, Experimentace, Blockout, Assignments
13. Herní Vývoj: Proces vývoje, Publikace, Systémy zpeněžení, Marketing
OSNOVA DEMONSTRAČNÍCH CVIČENÍ
1. (3.) Nástroje a Platforma Unity: Unity C#, Herní smyčka, Úlohy a projekty
2. (5.) Prototypy a Vstup: Prototypy a Ladění, Uživatelský vstup, Styly ovládání
3. (7.) Formy Vizualizace: Materiály, Stínování, Shader Graph, Efekty shaderů
5. (9.) Fyzikální Interakce: Klíčová animace, Obalová tělesa, Fyzikální simulace
4. (11.) Rozhraní Hry: Události, UI Builder, Mockup, Zvuková odezva
6. (12.) Vývojový Assignment: Prototypování herní mechaniky, Herní logika
OSNOVA OSTATNÍ - PROJEKTY, PRÁCE
Průběžné úkoly:
1. (2.) Mechanický Rozbor: Zvolená (i vážná) hra, Návrh, Styl, Jedna strana A4
2. (3.) Unity Projekt: Zprovoznění prostředí, GIT repozitář, Skript C#, Web export
3. (5.) Ovládání Entit: Propojení entit a komponent v kombinaci s ovládáním
4. (7.) Materiály a Efekty: Editor materiálů, Materiálové shadery
5. (9.) Animace ve 2D: Tvorba assetu, Klíčová animace, Pohyb v čase
6. (10.) Rozhraní Inventáře: Drag & Drop, Zvuková odezva
7. (12.) Ladění Mechaniky: Assignment, Vylepšení prototypu