Game development
Začni praktický kurz Game development, který tě přiblíží práci v herním průmyslu. Vytvoř vlastní 2D hru v Godot Engine, projdi kompletním vývojovým cyklem, od nápadu až po vytvoření finálního buildu, a osvoj si klíčové koncepty herního vývoje.
FILIP SÁDOVSKÝ
Senior programátor
SCS Software
O KURZU
- TIMELINE:
PROSINEC–ÚNOR
- ČEKÁ TĚ:
15 LEKCÍ
- FORMÁT
ŽIVĚ ONLINE
Kurz Game development ti poskytne praktický základ pro tvorbu a vývoj her. Naučíš se vše, co potřebuješ k úspěšnému dokončení 2D hry. Pochopíš základní architekturu her, od herních objektů po fyzikální systém. Zjistíš, jak vytvářet herní logiku, pracovat s AI, včetně implementace NPC, a další herní mechanismy.
Na konci kurzu Game development budeš mít vlastní funkční 2D hru ve stylu Flappy Bird s kompletní herní logikou, uživatelským rozhraním
a fyzikálními interakcemi. Navíc získáš potřebné dovednosti pro práci s herními enginy a budeš ready na složitější výzvy, jako je práce s Unity nebo Unreal Enginem.
kurz je vhodný pro:
Lektor
Filip Sádovský
Senior programátor, SCS Software
-
Má více než 20 let zkušeností v oblasti vývoje softwaru, z toho 12 let působí jako senior programátor ve společnosti SCS Software.
-
V současné době se zaměřuje na údržbu a rozšiřování interního herního enginu Prism3D, který pohání populární tituly American Truck Simulator a Euro Truck Simulator 2, a byl jedním ze dvou programátorů, kteří implementovali multiplayer do těchto her.
-
Během své kariéry spolupracoval s firmami jako Art and Animation Studio a Bohemia Interactive, kde se podílel na vývoji rendereru Furryball, multiplayerových módů pro Arma 3 a herního enginu Enfusion.
-
Absolvoval kurzy zaměřené na kyberbezpečnost na platformě TryHackMe.com a má zkušenosti s programovacími jazyky jako jsou C++, Rust, JavaScript, TypeScript, Lua, GDScript a Python.
Program
-
1. lekceČtvrtek 12. 12. 2024 17:30–19:00
Základy herní architektury a assety
- Založení projektu
- Vysvětlení základních pojmů jako entita, komponenta
- Jak a kde sehnat assety (grafiku pro 2D a 3D hry)
- Přehled právních aspektů týkajících s licencí a používání assetů
- Krátký úvod do verzovacího systému (Git)
Praktické cvičení: Vymyslíš si jednoduchou hru a vyhledáš k ní potřebné assety. Můžeš si vybrat z her, jako jsou Mario, Flappy Bird, Vampire Survivors, Had nebo Block Breaker. Pokud budeš chtít bonus, zkus si promyslet, jak by v této hře mohla vypadat struktura herních objektů, jako jsou entity a komponenty.
Výstupy z lekce: Dokážeš si vyhledat assety pro svou hru, umíš si ji rozdělit na menší funkční bloky a zvládneš použít verzovací systém Git.
-
2. lekceÚterý 17. 12. 2024 17:30–19:00
Proměnné, větvení a pseudokód
- Základní koncepty proměnných a větvení kódu
- Práce s API
- Vysvětlení, jak funguje herní smyčka (game loop)
- Úvod do ladění (debugging) a řešení chyb
Praktické cvičení: Vymysli, jak by se nějaká část hry z úkolu první lekce dala rozebrat do jednoduchých kroků v pseudokódu. Například: „Když hráč stiskne klávesu S, postavička se posune na obrazovce nahoru“ nebo „Když postavička narazí do nepřítele, hráč ztratí život.“
Výstupy z lekce: Umíš si napsat tzv. „pseudokód“ pro funkční blok hry z minulé lekce. Dokážeš se orientovat v dokumentaci a dohledat si potřebné funkce. Chápeš, jak funguje herní smyčka, a zvládneš ladit chyby ve hře.
-
3. lekceČtvrtek 19. 12. 2024 17:30–19:00
Základy vektorové matematiky ve hrách
- Vektorová matematika
- Sčítání vektorů, výpočet směru mezi body
- Posun objektu po přímce vypočteným směrem
- Směrový vektor a tzv. world pozice
Praktické cvičení: Navrhni výpočet posunu objektu z počáteční pozice do cílové během 10 herních framů. Například počáteční bod [3, 1] a cílový bod [12, 30].
Výstupy z lekce: Umíš pracovat s prostorem ve hře a například spočítat, jak pohybovat nepřítelem, aby se přibližoval směrem k hráči. Zvládneš pracovat s vektory a jejich aplikací ve hře a dokážeš naplánovat pohyb objektu ve hře na základě výpočtů.
-
🎄 XMAS BREAK
-
4. lekceČtvrtek 2. 1. 2025 17:30–19:00
Projekt – hráč v pohybu
- Vytvoření postavičky, která se pohybuje po obrazovce pomocí klávesnice
- Práce s editorem herního enginu
- Úvod do animací ve hrách
Praktické cvičení: Vytvoř nepřítele, který se bude snažit následovat hráče/kurzor na obrazovce.
Výstupy z lekce: Umíš ve své hře reagovat na vstup od uživatele, založit herní svět a přidat do něj aktivní komponenty, a dokážeš implementovat pohyb pro hráče i NPC.
-
5. lekceÚterý 7. 1. 2025 17:30–19:00
Alenka v říši divů aneb fyzika ve hrách
- Fyzika ve hrách: jak funguje
- Proč fyzikální svět vypadá jinak než ten, který je vidět
- Jeden svět, mnoho fyzikálních systémů? K čemu slouží různé fyzikální vrstvy?
- Nastavení kolizí různých skupin objektů a následné reakce
Praktické cvičení: Navrhni rozdělení herního světa do fyzikálních vrstev. Například nepřátelé, interaktivní objekty a statické kolize mohou mít každá svou vrstvu, aby byly možné různé reakce na kolizi mezi nimi.
Výstupy z lekce: Umíš si rozvrhnout herní svět na jednotlivé interakční vrstvy. Naučíš se, které části herní prvky mají být součástí fyzikálních výpočtů a které lze aktualizovat. Chápeš princip oddělení fyzikálních objektů ve hře.
-
6. lekceČtvrtek 9. 1. 2025 17:30–19:00
Práce s kolizemi a trigger zóny
- Přidání kolizí pro hráče a překážky
- Reakce na konkrétní kolizi a možnosti herních mechanik
- Vytvoření trigger zón a jejich využití ve hře
Praktické cvičení: Navrhni několik druhů kolizí, které se mohou ve hře objevit, a popiš, jak by se měly chovat. Vytvoř také trigger, který zraní hráče, když do něj vstoupí.
Výstupy z lekce: Umíš základní práci s fyzikou ve hrách, reagovat na dotyk objektů mezi sebou a detekovat, když entita vstoupí do určité oblasti.
-
7. lekceÚterý 14. 1. 2025 17:30–19:00
Uživatelské rozhraní a herní logika
- Jak přidat uživatelské rozhraní (UI) a propojit ho s herní logikou
- Rozšíření kolizí o počítání skóre
- Základní prvky komunikace hry s hráčem přes UI
Praktické cvičení: Vytvoř ve hře bludiště, kterým musí hráč projít. Hra bude počítat, kolikrát se hráč dotkl překážky.
Výstupy z lekce: Umíš si do hry přidat vlastní uživatelské rozhraní a přidávat do něj informace ze hry, komunikovat s hráčem pomocí uživatelského rozhraní a dovedeš vytvořit funkční UI, které reaguje na stav hry.
-
8. lekceČtvrtek 16. 1. 2025 17:30–19:00
Generování „náhody“ a správa paměti
- Generátory náhody ve hrách
- Práce s pamětí a správné ukládání/mazání objektů
- Resetování hry
Praktické cvičení: Vezmi nepřítele z předchozích lekcí a vytvoř mechanismus, který bude generovat více nepřátel na mapě v určitých intervalech. Nepřátelé budou směřovat na hráče, a když se ho dotknou, hra se resetuje. Pozor na správné mazání nepřátel, kteří jsou mimo herní oblast.
Výstupy z lekce: Umíš vytvořit základní herní smyčku a správně pracovat s pamětí tak, aby ti nedošla během dlouhotrvající hry. Chápeš, jak funguje náhoda ve hrách a jak ji využívat, a umíš resetovat herní svět.
-
9. lekceÚterý 21. 1. 2025 17:30–19:00
NPC a navigace ve hře
- Co je NPC (Non-Player Character) a jeho role ve hře
- Pohyb nepřítele po herním světě
- Základní metody navigace pro NPC jako A* a Navmesh
- Rozdíly ve vnímání světa mezi NPC a hráčem
Praktické cvičení: Vytvoř bludiště, kterým se bude NPC pohybovat, aby našlo hráče.
Výstupy z lekce: Umíš vytvořit herní svět, ve kterém se dokážou orientovat a pohybovat NPC. Chápeš základní principy navigace a jejich aplikaci ve hrách a umíš naprogramovat NPC, aby vyhledávaly hráče v herním prostředí.
-
10. lekceČtvrtek 23. 1. 2025 17:30–19:00
Umělá inteligence a FSM
- Základy umělé inteligence (AI) ve hrách
- Co je FSM (Finite State Machine) a jak funguje
- Použití FSM k řízení chování NPC
Praktické cvičení: Navrhni FSM pro nepřítele, který si najde hráče na mapě. Nepřítel dorazí na jeho pozici a poté ho začne znovu hledat.
Výstupy z lekce: Umíš navrhnout a implementovat FSM pro chování NPC. Chápeš principy umělé inteligence ve hrách a umíš rozšířit AI chování ve své vlastní hře pomocí FSM.
-
11. lekceÚterý 28. 1. 2025 17:30–19:00
Začátek projektu aka Flappy Bird
- Představení konceptu hry Flappy Bird
- Vytvoření hráčské postavy a její fyzikální pohyb ve hře
- Implementace základní herní mechaniky
Praktické cvičení: Přidej do hry objekt trubky a nastav kolizi mezi hráčem a trubkou. Při kolizi vypiš do konzole, že k ní došlo.
Výstupy z lekce: Umíš implementovat herní postavu s chováním dle zadaného konceptu, nakonfigurovat a připravit prostor pro herní projekt dle game designu. Chápeš základní herní mechaniky, které umíš začlenit do projektu.
-
12. lekceČtvrtek 30. 1. 2025 17:30–19:00
Pohyb trubek a iluze ve hrách
- Iluze pohybu herního světa ve statické hře
- Generování pohybujících se objektů (trubek) ve hře
- Jak efektivně spravovat objekty během hry
Praktické cvičení: Zajisti, aby se trubky správně „uklízely“ (mazaly z paměti), když jsou mimo herní obrazovku. Přidej také kód, který resetuje hru, když se hráč dotkne trubky.
Výstupy z lekce: Umíš do herního světa dynamicky generovat pohyblivé herní prvky a resetovat hru do předem daného stavu. Chápeš, jak využívat iluzi pohybu pro herní mechaniky.
-
13. lekceÚterý 4. 2. 2025 17:30–19:00
Hlavní menu a herní smyčka
- Vytvoření hlavního menu hry
- Počítání skóre a dokončení herní smyčky
- Dynamické zvyšování obtížnosti ve hře
Praktické cvičení: Navrhni zobrazení aktuálního skóre hráče během hry. Zkus také upravit herní kód tak, aby trubky byly generovány čím dál blíž u sebe, což postupně zvýší obtížnost hry.
Výstupy z lekce: Umíš navrhnout uživatelské rozhraní a dokážeš komunikovat stav hry pomocí uživatelského rozhraní. Dovedeš implementovat herní smyčku, která počítá skóre a reaguje na průběh hry, a umíš dynamicky upravit obtížnost hry na základě herního postupu.
-
14. lekceČtvrtek 6. 2. 2025 17:30–19:00
Animace, zvuk
- Přidání jednoduchých animací do hry
- Integrace zvuků a hudby
- Tvorba build verze hry pro distribuci
Praktické cvičení: Rozšiř hru o animace a zvuky, které doplní herní zážitek. Přidej například zvukové efekty pro různé herní akce a animace pohybu hráče nebo herních prvků.
Výstupy z lekce: Umíš do hry přidat jednoduché animace a zvukové efekty. Chápeš, jak přidat hudbu do herního prostředí, a dokážeš vytvořit build verzi hry připravenou pro distribuci.
-
15. lekceÚterý 11. 2. 2025 17:30–19:00
Sdílení projektů, pokročilé nástroje, distribuce a QA
- Sdílení studentských projektů a jejich hodnocení
- Představení pokročilých nástrojů mimo Godot (např. propojení s VSCode, Blender pro modelování, Audacity pro zvuk)
- Možnosti distribuce her (Steam a další platformy)
Výstupy z lekce: Umíš prezentovat a sdílet svůj herní projekt s ostatními. Chápeš, jak využívat pokročilé nástroje mimo herní engine k vylepšení hry, a získáš přehled o možnostech distribuce her na různé platformy.
ZÍSKEJ VÍCE INFORMACÍ O KURZU GAME DEVELOPMENT
Vyplň registrační formulář a připoj se k nám! Náš r_d tým se s tebou spojí co nejdříve, abys získal*a všechny potřebné detaily o obsahu kurzu Game development a jeho ceně.