Detail práce
Komponentní systém pro herní grafický engine
Cílem této bakalářské práce je návrh a implementace knihovny pro správu entit, která umožňuje vývoj pomocí Entity-Component-System paradigmatu. Součástí práce je analýza aktuálního stavu návrhu software, z pohledu vývoje her a rozbor dnes používaných technik pro práci s entitami včetně srovnání jejich výhod a nevýhod. Následně se práce zabývá důvody, proč tuto metodu návrhu používat a jakým způsobem využití kompozice ovlivňuje výkon aplikací, ve vztahu k hardwarové architektuře moderních počítačů, se zaměřením na paměťovou hierarchii. V práci je dále navržen entitní systém, který umožňuje dynamickou kompozici entit za běhu aplikace z předem definovaných komponent. Výsledný systém je navržen s ohledem na snadnou paralelizaci vykonávaných akcí a umožňuje uživatelské rozšíření ve směru datových struktur k uchovávání komponent. Výsledkem této bakalářské práce je multiplatformní knihovna pro programovací jazyk C++, pojmenovaná Entropy, která vývojářům zpřístupňuje návrh aplikací pomocí ECS paradigmatu.
Komponentní systém, Entitní systém, Entity-Component-System, ECS, Kompozice, Data-oriented design, Paralelismus, C++, Návrh her
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Bidlo Michal, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Hliněná Dana, doc. RNDr., Ph.D. (UMAT FEKT VUT), člen
Rozman Jaroslav, Ing., Ph.D. (UITS FIT VUT), člen
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), člen
@bachelorsthesis{FITBT19918, author = "Tom\'{a}\v{s} Pol\'{a}\v{s}ek", type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce", title = "Komponentn\'{i} syst\'{e}m pro hern\'{i} grafick\'{y} engine", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2017, location = "Brno, CZ", language = "czech", url = "https://www.fit.vut.cz/study/thesis/19918/" }