170 likes | 341 Views
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
E N D
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 • 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ýchproblé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 • 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 • 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, zdarmaveš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 bezzá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
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 • 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 • 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í