Počítačové hry a animace 1 Jan Buriánek, Michal Hapala
Předpoklady a cíle Volně navazuje na předmět Programování grafiky Předpokládá se znalost Programování, algoritmizace Použití knihoven, čtení cizího kódu Znalost .NET C# nebo Java či C++ velkou výhodou Soutěživost Schopnost práce v týmu Cílem je seznámit se s vývojem počítačových her důraz kladen na technickou stránku věci obzvláště pak programování počítačové animace v reálném čase základ většiny her vytvoření uceleného herního projektu v týmu
Proč počítačové hry? Trh 2. Zábavní průmysl Reklamní průmysl obrat v řádu bilionů dolarů 2. Zábavní průmysl očekává se že interaktivní aplikace postupně nahradí/doplní televizi a kino Reklamní průmysl iteraktivní reklamní předměty, merchandising Vážné hry (Serious Games) ry nejsou vždy pro zábavu stejná technologie použita např. ve vojenských či dopravních simulacích, léčba vybraných psychologických problémů (klaustrofobie, arachnofobie, …)
Hry v Čechách Bohemia Interactive / Black Element / … JRC Flash Point Arma I/II Virtual Battlefield Simulator I/II Illusion Softworks / 2kCzech Hidden and Dangerous I/II Mafia I/II Cinemax / Prague-Matic …, Gumboy, … Pat a Mat Ostatní Většinou AdGames, casual games, vizualizace, malá studia
Obsah předmětu Web Naučíme se: https://service.felk.cvut.cz/courses/A7B39PHA/ https://service.felk.cvut.cz/courses/Y39PHA/ Naučíme se: základy počítačové animace v reálném čase grafické algoritmy často používané v hrách co obnáší vývoj počítačových her co obnáší používat hotové herní knihovny (XNA) práci v týmu plánování, realizaci a obhajobu projektu
Bodování Semestrální projekt 70b Test 10b Zkouška 20b 0b Koncept 5b Web projektu + role v týmu 15b Design dokument + prezentace 10b Základ aplikace 15b Demo 25b Final. prezentace + aplikace + dokumentace Test 10b Zkouška 20b Finální prezentace před porotou složenou z profesionálů nejlepší tým: automatické A bez zkoušky
Zápočet a známka Min. 50b pro zápočet 90-100b A 80-89b B 70-79b C 60-69b D 50-59b E
Týmové projekty Cíl: vytvořit ucelenou jednoduchou počítačovou hru (nejen její koncept) vyzkoušet si probírané algoritmy v praxi typické programování použití hotového prostředí (XNA, Blender3D, ...) vyzkumná či umělecká činnost také možná a vítána důraz na ucelený projekt, jeho použitelnost a obhajobu Tým tvoří typicky 3 lidé zvolí si vedoucího více organizační práce, méně vlastního vývoje ostatní dva: typicky programátor a „grafik“ nebo toolmaker
Strategie týmových projektů 1. Plán zvolit si zadání (tj. vytvořit nové, vlastní invence, nápady) konzultovat s ostatními a se cvičícím sepsat klíčové body řešení rozvrhnout práci (alespoň přibližně) toto vše sepsat a poslat cvičícímu (příští týden koncept!) Týmová práce: Dělba práce na navazující celky, plánování Zvolit si role v týmu (volby, forma vyhodnocení, …) Být schopni se shodnout (hlasování, obhajoba, …) Být schopni společně vymýšlet (brainstorming, myšlenkové mapy, …) Schopnost reportingu, dodržování termínů, společné odpovědnosti
Strategie týmových projektů 2. Vývoj doporučená platforma: XNA / .NET C# soutěž Imagine Cup cvičící bude více nápomocen, zdarma veškeré vývojové nástroje přes MSDN Alliance a Dreamspark jiné platformy také možné, ALE např. mobilní hry, Java, Flash, ... nevýhoda: hodnocení bude stejné jako pro ostatní, cvičící ani cvičící/přednášející nejspíš nebudou schopni pomoci… výhoda: v případě úspěchu bude možný nejaký bonus, ale bez záruk je povoleno používat kód někoho jiného či vycházet z příkladů platformy, ALE: musí to dovolovat jeho licence musí být odsouhlaseno cvičícím
důležitá součást hodnocení 3. Prezentace důležitá součást hodnocení výborný projekt může být znehodnocen nekvalitní prezentací a naopak slouží nejen učiteli, ale také ostatním studentům vystoupení jednoho člena týmu (výjimečně více) možno používat slajdy / PowerPoint / video / machinima předvedení ukázky programu zodpovídání dotazů
Imagine Cup Imagine Cup Student Competition http://imaginecup.com/ Studentská soutěž Téma: "Imagine a world where technology helps solve the toughest problems facing us today.„ ESRB Rating “E” Vyžadováno XNA ~40K $ na ceny pro finále http://imaginecup.com/
Cryengine3 Engine Crysis 2 Školní licence SDK Sandbox 3.0 Game DLL kód What you see is what you play Pokročílý editor materiálů, animací, terénu Skriptování pomocí vizuálního Flowgraphu Game DLL kód možnost upravit si „pravidla“ hry přístup ke všem sub-systémům Cryengine3 – animace, fyzika, renderer engine pro FPS možné upravit na např. adventuru, strategii atp.
Inspirace pro koncepty First person shooter (klasická střílečka) jednoduchý 3D svět (např. jako starý Wolfenstein) pohybující se nepřátelé ne nutně inteligentní likvidace nepřátel nějakou formou / “zbraní” Simulátor dopravního prostředku auto, loď, letadlo, ... vytvořit jednoduchý terén (alespoň výšková mapa) navrhnout ovládání a chování daného prostředku
Inspirace pro koncepty Strategická hra v reálném čase 2D či 3D síťová komunikace ovládání jednotek a jejich skupin Dobrodružná hra (adventure) vytvořit jednoduchý scénář použít/vytvořit skriptovací jazyk systém najdi - seber – použij
Inspirace pro koncepty Simulace a animace davu oživení virtuálního města variace simulace pohybu jednotlivých virtuálních lidí import modelu / váhové mapy Tamagoči vytvořit jednoduchou postavu / zvířátko popsat jasně chování a jeho návaznosti navrhnout uživatelské rozhraní