Detail předmětu

Základy herního vývoje

FaVU-1ZHERVAk. rok: 2021/2022

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.

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.

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)
Robert Nystrom; Game Programming Patterns; Gennever Benning; 2014 (1. vyd.) + online. (EN)
[Manuál Unity](https://docs.unity3d.com/Manual/index.html) (EN)
[The Book of Shaders](https://thebookofshaders.com/) (EN)
Podklady z přednášek a demonstračních cvičení (CS)
Raph Koster; Theory of Fun for Game Design; O'Reilly Media; 2013 (2. vyd.). (EN)
Jesper Jull; The Art of Failure: An Essay on the Pain of Playing Video Games; The MIT Press; 2016 (2. vyd.). (CS)
Simon Egenfeldt-Nielsen, Jonas Heide Smith, Susana Pajares Tosca; Understanding Video Games: The Essential Introduction; Routledge; 2015 (3. vyd.). (CS)
Ian Millington; Game Physics Engine Development; CRC Press; 2010 (2. vyd.). (CS)
Ian Millington, John Funge; Artificial Intelligence for Games; CRC Press; 2009 (2. vyd.). (CS)
David H. Eberly; 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics; CRC Press; 2018 (3. vyd.). (CS)

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é získat alespoň 2 body z každého průběžného úkolu. Zároveň je nutné odevzdat a obhájit závěrečný projekt, ze kterého musí student získat alespoň 24 bodů.

BODOVÉ HODNOCENÍ
58 projekt, 42 průběžné úkoly

Jazyk výuky

čeština

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

Cíl

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 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.

Zařazení předmětu ve studijních plánech

  • Program VUB bakalářský

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

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

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

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

  • Program VUB bakalářský

    obor VU-D , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 2. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 3. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-D , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-IDT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, volitelný
    obor VU-VT , 4. ročník, zimní semestr, 4 kredity, 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