Vývoj počítačových her na MFF-UK

Obor "Vývoj počítačových her" je veden jako specializace dvouletého navazujícího magisterského oboru Počítačová grafika a vývoj počítačových her v rámci programu Informatika na Matematicko-fyzikální fakultě UK. Pro více informací o přijímacím procesu, navštiv oficální stránky fakulty (je vyžadován bakalářský titul, ideálně z Informatiky). Studenti bakaláře z MFF nemusí skládat přijímačky.

Obor "Vývoj počítačových her" je určen pro programátory, kteří chtějí získat formální vzdělání v programování her. Pokud se chceš raději stát game designérem, bude pro tebe pravděpodobně lepší volbou přihlásit se na Studia nových médií. Jsi-li výtvarník a chceš-li studovat animaci a naučit se jak vytvářet animace a grafiku pro počítačové hry, zvaž studium animované a interaktivní tvorby na ZČU v Plzni.

Pokud jsi ale srdcem programátor, a chceš se věnovat počítačovým hrám, buď vítán - přišel jsi na správné místo. Následující odstavce ti poskytnou základní informace o magisterském studiu vývoje her a naší filozofii.

Možná si říkáš, proč studovat programování her? Odpověď je na snadě: je to obor, ve kterém se již teď točí miliardy dolarů a stále roste. A je to zábava :-) Samozřejmě je možné naučit se programovat hry i mimo univerzitu, ale je lepší získat titul zatímco tvoříš své první hry, než jen tvořit hry. Je to taky skvělá příležitost potkat lidi s podobným zaměřením. Poznáš nejen programátory, ale i designéry, grafiky a animátory. Budeš mít možnost mluvit s profíky z českých herních studií (a udělat na ně dobrý dojem). A v neposlední řadě si při studiu vývoje počítačových her rozšíříš obzory v oblastech, které mají potenciál být budoucností her a ke kterým by ses jinak těžko dostával: nám připadají nejslibnější umělá inteligence a multiagentní systémy, ale možností je víc. Upřímně, je snažší být student, než mladý nezaměstnaný vývojář.

Náš program je směsí přednášek, které ti dají poctivý teoretický základ v počítačové grafice, softwarovém inženýrství a umělé inteligenci a praktických kurzů a workshopů, kde můžeš do sytosti experimentovat s enginy a middlewary. Základy v matematice a teorii programování mají velkou výhodu v tom, že narozdíl od konkrétních jazyků a technologií jen tak nezastarají a až přijde do módy nějaká nová platforma, rychle se naučíš pro ni psát kvalitní, přehledný a efektivní kód. Jak jistě víš, vývoj hry není práce jen pro programátora. Proto spolupracujeme s dalšími fakultami a univerzitami, abychom podpořili setkávání studentů z různých oborů. Umělci, designéři a programátoři studují společné předměty a tvoří spolu malé týmy, které vyvinou kompletní hru.

Můžeš si vybrat z široké palety předmětů na naší fakultě. Úplný seznam najdeš ve studijních plánech. Na této stránce vypíchneme ty, které jsou povinné nebo silně doporučené v rámci našeho oboru. K tomu všemu máme zpracovaný modelový příklad, jak by mohlo tvé studium vypadat po semestrech. Případně ještě tady v Google Spreadsheet, který obsahuje propočet kolik celkem čistého času budeš mít věnováno vývoji své počítačové hry během studia. A tady je dokument s často kladenými otázkami (ENG).

Následující diagram zachycuje klíčové předměty studia a jejich logické vazby.

GameDev-Walkthrough

Následující list přednáš

  • NPGR003 - Počítačová grafika I a NPGR004 - Počítačová grafika II
    • Zde získáš teoretické i praktické zkušenosti s počítačovou grafikou; předpokládá se, že MFF UK studenti již tyto přednášky mají hotové z bakaláře.
  • NPGR033 - Grafika pro počítačové hry
    • Přednáška zaměřená na specifika grafiky v hrách, ať již 2D nebo 3D.
  • NAIL106 - Multiagentní systémy
    • Mnoho her lze považovat za multi agentní systémy, často ale nejsou takto navrhovány. Využitím již existujících znalostí z multiagentních systémů získáš nový pohled na složitá virtuální prostředí (například open-world RPG hry), který ti pomůže lépe takové hry vytvářet.
  • NAIL068 - Umělé bytosti
    • Tvorba počítačové hry je jako stavba pyramidy. Ve spodu je rendering a fyzikální simulace, nad tím je prostředí, herní mechaniky a reprezentace hráče a NPC. Nad nimi stojí nízkoúrovňová AI se svojí abstrakcí prostředí, plánováním cest, vyhýbání se kolizím apod. Ještě výše stojí rozhodovací jednotky NPC a jejich chování, které řídí život ve vašem virtuálním světě. Jak se taková chování tvoří? To se naučíš v tomto kurzu.

Praktické kurzy

Projekt

  • NPRG027 - Softwarový projekt I and NPRG023 - Softwarový projekt II
    • V rámci studia musíš vytvořit aspoň jeden větší projekt. Může to být i rozšíření hry, kterou jsi začal v NSWI115. V praxi to znamená, že budete mít 3 semestry na vytvoření větší hry v rámci týmu 4 - 6 lidí. To ti umožní vytvořit poměrně velkou a vymazlenou hru.

Diplomová práce

  • NSSZ023 - Master Thesis I, NSSZ024 - Master Thesis II, NSSZ024 – Master‘s Thesis III
    • Vedle softwarového projektu je ještě potřeba sepsat diplomku. Ideální je, když bude souvist se hrou na které jsi pracoval v rámci projektu nebo NSWI115 - může to ale být úplně nová hra nebo konkrétní algoritmus související s hrami. Tématy mohou být mimo jiné grafické algoritmy (např. renderer, raytracer, apod.) nebo využití umělé inteligence (např. AI pro závodní hru, týmová chování, modelování hráče, procedurální generování obsahu, apod.).

Ideální postup pro získání magistra za 2 roky:

  • 1. semestr
    • Najdeš si tým a začneš pracovat na své první hře v rámci NSWI115 zatímco budeš experimentovat s různými middleware v rácmi NSWI160. Určitě si zkus Game Jam v rámsi NSWI159, kde můžeš začít pracovat i na projektu z NSWI115
  • 2. semestr
    • V návaznosti na prototyp vzniklý na NSWI115, připravíš rozšíření/redesign této hry pro první část softwarového projektu. Do hry si také zaplánuješ komponentu která se pak stane tvou diplomkou.
  • 3. semestr
    • Budeš tvrdě pracovat na své hře v rámci druhé části softwarového projektu a začneš implementovat základ své diplomky. Choď na seminář NSWI158.
  • 4. semestr
    • Budeš mít hotovou velkou hru z předchozího semestru včetně implementace algoritmu pro tvou diplomku. V tomto semestru budeš svůj výtvor ladit a zjišťovat jak je tvůj algoritmus kvalitní a efektivní, jak škáluje apod. to vše pak sepíšeš do své diplomky, necháš ji svázat a s úsměvem na rtech (nebo potem na čele) složíš státnice. No a pokračuj v semináři NSWI158.
    • Achievement unlocked: Mgr.

Jak vidíš, studijní plán ti dává hodně prostoru pro tvou tvořivost. A to je důležité. Vývoj her vyžaduje otevřenou mysl, kreativitu a potěšení z tvorby. Není proto důvod, aby tě studium zbytečně svazovalo.

Máš-li jakékoliv dotazy, ozvi se Jakubovi Gemrotovi: gemrot@gamedev.cuni.cz.