VYVÍJEJ VLASTNÍ HRY V GODOT ENGINE
PŘIPRAVUJEME
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í své první hry.
Pochopíš základní architekturu her, od herních objektů až po fyzikální systém. Zjistíš, jak vytvářet herní logiku, pracovat s AI, včetně implementace NPC, a další herní mechanismy.
KURZ JE VHODNÝ PRO
-
ZAČÍNAJÍCÍ A NEZÁVISLÉ VÝVOJÁŘE — Vytvoříš vlastní hru – od nápadu až po realizaci.
— Navrhneš funkční hry bez zásadních chyb.
— Získáš portfolio, které ti pomůže začít v herním světě. -
STUDENTY NEBO ABSOLVENTY KREATIVNÍHO OBORU — Získáš základní technické skills pro vývoj her.
— Osvojíš si nástroje pro urychlení tvorby hry.
— Budeš mít první hru do portfolia pro hledání práce. -
KREATIVCE S MINIMÁLNÍMI TECHNICKÝMI DOVEDNOSTMI — Převedeš nápady do herní podoby bez hlubších znalostí.
— Zvládneš pracovat s potřebnými nástroji a editory her.
— Zjistíš, jak využít svou kreativitu v každé fázi vývoje hry.
PROČ GODOT ENGINE?
-
IDEÁLNÍ PRO ZAČÁTEČNÍKY Godot je skvělý pro začátečníky ve vývoji jak 2D, tak 3D her. Intuitivní uživatelské rozhraní a jednoduché skriptovací jazyky ti umožní rychlé prototypování a efektivní práci na projektech v porovnání s konkurenčními enginy.
-
OPEN SOURCE A BEZ POPLATKŮ Godot engine je open source a můžeš ho používat zdarma bez licenčních poplatků. Oproti Unity nemusíš platit procenta z prodeje svých her ani se obávat dalších poplatků. Pravidelné aktualizace a nové funkce přináší aktivní komunita vývojářů.
-
ROZRŮSTAJÍCÍ SE KOMUNITA A PODPORA Godot je oblíbenou alternativou k Unity mezi vývojáři. Aktivní komunita poskytuje skvělou podporu, sdílí užitečné tutoriály a ukázky projektů, které ti pomohou rychle se zorientovat jak v samotném enginu, tak při rozvoji vývojářských dovedností.
-
SNADNÁ INTEGRACE & PŘIZPŮSOBIVOST Godot je navržen tak, aby byl snadno integrovatelný s dalšími nástroji a službami, což ti umožní přizpůsobit engine podle vlastních potřeb. Ať už pracuješ na malé indie hře, nebo větším projektu, Godot ti poskytne potřebnou flexibilitu.
LEKTOR
FILIP
SÁDOVSKÝ
- Má víc než 20 let zkušeností v oblasti vývoje softwaru, v herním průmyslu se pohybuje 12 let.
- V současné době se zaměřuje na údržbu a rozšiřování interního herního enginu Prism3D.
- Je jedním ze dvou programátorů, kteří implementovali multiplayer do American Truck Simulator a Euro Truck Simulator 2.
- Podílel se na vývoji rendereru Furryball v Kozím příběhu.
PROGRAM
-
1
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
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
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ů.
-
4
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
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
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
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
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
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
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
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
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
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
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
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ě.