Detail předmětu

Základy herního vývoje

FaVU-1ZHERVAk. rok: 2022/2023

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

čeština

Počet kreditů

4

Výsledky učení předmětu

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.

Prerekvizity

Mezi nezbytné znalosti patří základní povědomí o:
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.

Plánované vzdělávací činnosti a výukové metody

26 hod. přednášky, 12 hod. demonstrační cvičení, 14 hod. projekty

Výuka bude realizována formou přednášek, na které budou navazovat lektory řízená cvičení a samostatná práce na projektech.

Způsob a kritéria hodnocení

Pro získání zápočtu je nutné odevzdat a obhájit závěrečný projekt, ze kterého musí student získat alespoň 50 bodů. Dále může student získat bonusové body z průběžných úkolů.

BODOVÉ HODNOCENÍ
100 projekt, 28 průběžné úkoly (bonusové body)

Osnovy výuky

OSNOVA PŘEDNÁŠEK
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

Učební cíle

Cílem je vytvořit studentům přehled v základech problematiky vývoje herních aplikací a jejich praktickou realizaci za využití platformy Unity. Platforma je představena jako všeobecný nástroj pro řešení herních i vážných aplikací. Studenti se seznámí s tím Co tyto aplikace obsahují, Proč jsou jednotlivé části důležité a Jak je realizovat. Především je brán důraz na specifika herního vývoje s ohledem na komunikaci s uživatelem, vykreslování, fyzikální simulaci, zvuk a modelování. Účastíci jsou dále seznámeni s častými nástroji herního vývojáře. Získané znalosti umožňují studentům transformovat nápady do podoby reálných interaktivních i pasivních aplikací.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

PRŮBĚŽNÁ KONTROLA STUDIA
Průběžné úkoly až 7 x 4 bodů = 28 bonusových bodů.
Game Jam projekt až 100 bodů.
Hranice pro úspěšné absolvování předmětu je podle pravidel ECTS 50 bodů z projektu (+body navíc).

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.

Základní literatura

Jason Gregory; Game Engine Architecture; A K Peters/CRC Press; 2018 (3. vyd.). (EN)
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 VUB bakalářský

    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný
    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný
    obor VU-D , 1 ročník, zimní semestr, volitelný
    obor VU-D , 2 ročník, zimní semestr, volitelný
    obor VU-D , 3 ročník, zimní semestr, volitelný
    obor VU-D , 4 ročník, zimní semestr, volitelný
    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-D , 1 ročník, zimní semestr, volitelný
    obor VU-D , 2 ročník, zimní semestr, volitelný
    obor VU-D , 3 ročník, zimní semestr, volitelný
    obor VU-D , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-D , 1 ročník, zimní semestr, volitelný
    obor VU-D , 2 ročník, zimní semestr, volitelný
    obor VU-D , 3 ročník, zimní semestr, volitelný
    obor VU-D , 4 ročník, zimní semestr, volitelný
    obor VU-IDT , 1 ročník, zimní semestr, volitelný
    obor VU-IDT , 2 ročník, zimní semestr, volitelný
    obor VU-IDT , 3 ročník, zimní semestr, volitelný
    obor VU-IDT , 4 ročník, zimní semestr, volitelný
    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný
    obor VU-VT , 1 ročník, zimní semestr, volitelný
    obor VU-VT , 2 ročník, zimní semestr, volitelný
    obor VU-VT , 3 ročník, zimní semestr, volitelný
    obor VU-VT , 4 ročník, zimní semestr, volitelný

  • Program BIT bakalářský 2 ročník, zimní semestr, volitelný

  • Program IT-BC-3 bakalářský

    obor BIT , 2 ročník, zimní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., povinná

Vyučující / Lektor

Cvičení

12 hod., povinná

Vyučující / Lektor

Projekt

14 hod., povinná

Vyučující / Lektor