Navrhování a vývoj her v Unity (UNITY1)

Specializovaná školení, Ostatní

Chtěl jsi už jako malý tvořit hry, ale nikdy jsi nevěděl, jak z této vášně vytvořit hobby či povolání? Rád bys postavil svou dokonalou hru, ale nevíš, kde začít? Tak to jsi na správném místě, protože jsme pro tebe připravili tento obsáhlý kurz tvorby her od A až po Z. Naučíš se, jak vyrobit 2D Tower Defense hru ve vývojovém prostředí Unity, zvládneš základy programování v C# a získáš cenné informace z herního průmyslu.

Struktura a součásti kurzu:

  • 72 kapitol
  • cca 20h video materiálu
  • pozvánka do společného Discord kanálu s dalšími začínajícími vývojáři
  • certifikát o absolvování
  • garance Záruky získaných znalostí

V KURZU SE NAUČÍŠ

  • rozjet a ovládat vývojové prostředí Unity
  • pracovat s herními objekty a komponenty
  • pozvánka do společného Discord kanálu s dalšími začínajícími vývojáři
  • certifikát o absolvování základy jazyka C# a psaní skriptů
  • zhmotnit svou myšlenku hry – nejdřív na papír a následně do kódu
  • jak postavit Tower Defense hru z assetů dostupných na internetu
  • tvořit herní systémy
  • používat zvukové a vizuální efekty
  • postavit jednoduché nepřátele, věže, projektily
  • používat zvukové a vizuální efekty
  • chápat, jak funguje zranění ve hrách a jak mezi sebou komponenty „mluví“
  • tvořit ovládání hry
  • vytvářet si svoje první uživatelské rozhraní
  • postavit jednoduché nepřátele, věže, projektily
  • vytvořit hru, která jede na PC, webu, Macu i Androidu
  • jaké to je opravdu pracovat v herním průmyslu a jak se do něj dostat

Kurz je určený pro

  • všechny zájemce o design a tvorbu her
  • všechny zájemce o vývoj her orientovaných na žánr 2D Tower Defense
  • všechny zájemce o základy programování her v jazyku C#
  • zájemce o vývoj her v Unity se základní znalostí programování, ideálně v C#

Forma výuky

online či prezenční výuka (dle aktuálních možností a dohody s přihlášenými účastníky)

Lokalita, termín kurzu



Virtuálně se můžete přidat i ke školením ve výše nabízených lokalitách. Do poznámky v objednávce prosím uveďte „Připojím se virtuálně“

Náplň kurzu:

Skrýt detaily
  • Úvod do kurzu
    1. Co se v tomto kurzu naučíme
    2. Jak funguje herní mód Tower Defense
  • Nastavení vývojového prostředí
    1. Instalace Unity
    2. Instalace Visual Studio 2019
    3. Stažení herních assetů tohoto kurzu
  • Úvod do prostředí Unity
    1. Vytvoření nového projektu
    2. Popis základních oken editoru
    3. Ukázka základních funkcí Unity
    4. Import používaných assetů
  • Základní herní objekty a komponenty
    1. Co jsou to herní objekty
    2. K čemu slouží komponenty
    3. Popíšeme si komponenty: Transform, Camera, Audio Listener a Sprite Renderer
  • První skript C# v Unity a vysvětlení pojmů
    1. Jak funguje kostra každého skriptu
    2. Z čeho dědí skripty v Unity
    3. Co to jsou třídy a metody
    4. Nativní metody Awake, OnEnable, Start, Update, FixedUpdate
    5. Užitečné metody pro debugování
  • Vyrobíme si první dokument herního designu
    1. Jak přetvořit myšlenku své hry na papír
    2. Co za objekty a prvky ve hře budeme mít
    3. Jaký bude grafický styl hry
    4. Popíšeme si základní hierarchii herního systému
    5. Co hráč může ve hře dělat
  • Založíme třídu nepřítele a jednotlivé herní objekty nepřátel
    1. Dáme nepřátelům vlastnosti jako rychlost, životy a odměnu za zabití
    2. Vytvoříme jednotlivé typy nepřátel: Ork, Goblin, Troll, Vlk, Netopýr, Šaman
    3. Aplikujeme animace na nepřátele
    4. Vytvoříme Prefaby z nepřátelských herních objektů
  • Vytvoříme cesty nepřátel a manažer vln nepřátel
    1. Vytvoříme systém, jež nám umožní definovat vlny nepřátel
    2. Naučíme se tvořit datové struktury a serializovat data
    3. Vyrobíme trasu pro nepřátele na mapě
  • Systém životů
    1. Vyrobíme komponentu životů, kterou budou mít nepřátelé
    2. Přidáme nepřátelům událost „Smrt“, která se spustí po ztrátě jejich životů
  • Efekty
    1. Vyrobíme efekty, jež lze aplikovat na nepřítele
    2. Efekty mohou měnit barvu, ubírat životy či měnit rychlost nepřítele
    3. Založíme tyto efekty: ohnivý efekt, jedový efekt, mrazící efekt
    4. Nastavíme, aby se ohnivý efekt a mrazící efekt vzájemně rušily
  • Tvorba projektilů
    1. Vytvoříme herní objekt, jež bude moci letět z věže na nepřítele po trajektorii
    2. Projektil po zasažení nepřítele způsobí zranění či aplikuje efekt
    3. Naučíme se predikovat pohyb nepřítele a střílet na jeho budoucí polohu
    4. Založíme podtřídy implementující nepřímé trajektorie: kanón a lučištník
  • Vytvoření třídy věží
    1. Vytvoříme třídu pro věž, která bude pravidelně střílet na okolní nepřátele
    2. Věži dáme projektil, kterým bude střílet
    3. Založíme herní objekty typů věží: Ohnivá věž, Mrazící věž, Jedová věž, Věž lukostřelce, Věž mága, Věž balisty, Věž kanónu
    4. Nastavíme věžím možnosti vylepšení či prodeje
    5. Vyrobíme herní objekt, který bude označovat místa, kde se mohou věže stavět
  • Plošné zranění, AOE
    1. Podtřída projektilu, jež bude působit všude okolo věže
    2. Efekt projektilu je aplikován na všechny nepřátele v dosahu
  • Audiovizuální efekty
    1. Vložíme hudbu a zvuky
    2. Přidáme vizuální efekty na projektily a při zabití nepřítele
  • Uživatelské rozhraní – UI
    1. Vyrobíme ukazatel stavění věží a jejích vylepšování
    2. Zobrazíme stav hráče: Životy, Peníze, Skóre, Level
    3. Nakonfigurujeme hlavní menu, nastavení a výběr levelů
  • Ovládání
    1. Nastavíme možnost klikání na herní objekty
    2. Klikání vyhodnotíme v třídě, na kterou jsme klikli
  • Herní logika
    1. Spojíme všechny herní prvky dohromady
    2. Umožníme načítání levelů z menu
    3. Vyrobíme systém ukládání dokončených úrovní
    4. Přidáme pauzování hry
  • Vytvoření samotné hry
    1. Probereme parametry vytvoření hry
    2. Ukážeme si kompilaci projektu do samostatné hry pro Windows a Web
    3. Jak hru vytvořit a nahrát na Android telefon ve formátu APK
  • Debugování hry
    1. Ukážeme si debugování snímků
    2. Probereme profilování náročnosti skriptů
    3. Zobrazíme si výpis logů z Android zařízení v reálném čase
  • Rozšiřující informace
    1. Návrhové vzory programování ve hrách
    2. Komponentní přístup k designování hry
    3. Rozdíly mezi PC a Androidem
  • Herní průmysl
    1. Jak to funguje v herním průmyslu
    2. Jak získat pozici v herním studiu
    3. Jaký je rozdíl mezi indie vývojářem a korporátem
    4. Jaké jsou moje zkušenosti a názor
  • V rámci kurzu také stručně probereme následující témata v oblasti programování v C#, a to konkrétně v místech, kde je budeme k vývoji her potřebovat:
  • Objektové programování
    1. Objekt (Třída)
    2. Dědění
    3. Konstruktor
    4. Polymorfismus
    5. Rozhraní
    6. Delegáti
  • První nástroje a datové typy C#
    1. Typy proměnných: Int, Bool, Float, String, Struct, Enum, Vector
    2. Podmínky
    3. Cykly (for, while)
    4. Switch příkaz
    5. Seznamy, slovníky
    6. Klíčová slova private, public a protected
    7. Další klíčová slova static, virtual a abstract
    8. Syntax (závorky, odsazení, komentáře, using, references)
  • Základy C# v Unity
    1. Základní metody zděděné z Monobehaviour
    2. Metody z Unity knihoven
    3. Cacheování komponentů
    4. Volání metod komponentů
    5. Korutiny a asynchronní programování
    6. Unity events a Unity actions
Předpokládané znalosti:
základy v libovolném programovacím jazyku a ideální v C#.
Časový rozvrh:
3 dny (9:00hod. - 17:00hod.)
Cena kurzu:
9 800,00 Kč (11 858,00 Kč včetně 21% DPH)

DALŠÍ INFORMACE KE KURZU

Žádné zdlouhavé a nudné programovací tutoriálu hned skočíme na vývoj samotné hry a všechny potřebné programovací schopnosti si osvojíme postupně během vlastního kurzu. Nebude toho příliš moc, ale bude velkou výhodou, když budete mít zkušenosti s programováním jako takovým (ideálně v nějakém moderním programovacím jazyce). Během kurzu pochopíte, na co se používá trigonometrie, algebra a fyzika ze střední školy. Ale nebojte se, všechno důkladně projdeme a věřím, že to zvládnete.

Proč zrovna Unity? Unity je zlatou střední cestou ve světě herních technologií. Je to silný herní nástroj pro tvorbu 2D i 3D her se spoustou vestavěných funkcí. Má nízké hardwarové náklady a každý začátečník může brzy tvořit svoji vysněnou hru. Začínajícího vývojáře určitě potěší, že jedním kliknutím můžete postavit hru na Windows, Mac, Linux, Android, Switch, Web a na mnoho dalších platforem a to bez námahy. Unity se neustále vyvíjí, podporuje vývoj technologie virtuální reality a každým rokem je lepší a lepší. Spousta startupů používá Unity pro tvorbu efektů do filmů, aplikací na smartphony, vizualizací v průmyslu a ovládání robotů. Unity vyniká především ve 2D hrách, pro které bylo primárně vyvinuto. Také se hodí pro tvorbu stylizovaných 3D prostředí. Je to vhodné vývojové prostředí i pro rychlé prototypování herních mechanik.

Co za hru? Jako modelový příklad jsme vybrali žánr 2D Tower Defense. Jde o nenáročný typ hry, co se týče vývojového času. Krásně lze na tomto žánru ukázat všechny prvky herního vývoje od tvorby herního designu, přes tvorbu prefabů, až po vlastní vývoj hry. V tomto žánru se vhodně uplatňují důležité programovací znalosti, jako dědičnost, návrhové vzory, serializace a další. Na konci kurzu budete mít hru, ve které hráč brání svou skrýš před útoky nepřátel pomocí stavby obranných věží. Hra bude fungovat na mobilu, počítači, či webu, takže ji bude jednoduché ukázat přátelům, rodině, či ji použít ve svém portfoliu.

O lektorovi

Mikuláš Muroň

Daniel Nečesal je mladý nadšenec pro tvorbu her se zaměřením na 2D. Od dětství byl fascinován hraním počítačových a deskových her všech druhů. Jeho vášní bylo a je tvořit příběhy a hry pro kamarády.

Po dokončení studia Fyzikálního Inženýrství na VUT se rozhodl následovat svou vášeň k tvorbě her a stát se nezávislým herním vývojářem. V současné době pracuje na vlastním Indie projektu Octomancer ve studiu Brotagonists, které spoluzakládal v roce 2020. Mimo jiné pracuje ve studiu Bohemia Interactive na hře Vigor.

Během studia na vysoké škole se naučil programovat hry, a teď se navíc rozhodl podělit o své znalosti herního vývojáře v tomto jedinečném kurzu ve vývojovém prostředí Unity.