Název:
Komponentní systém pro herní grafický engine
Překlad názvu:
Graphic Engine Based on Entity Component System
Autoři:
Polášek, Tomáš ; Matýšek, Michal (oponent) ; Španěl, Michal (vedoucí práce) Typ dokumentu: Bakalářské práce
Rok:
2017
Jazyk:
cze
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [cze][eng]
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.
The goal of this bachelor thesis is the design and implementation of a library for entity management which allows software development using the Entity-Component-System paradigm. Analysis of the current state of software design is presented, including comparison of techniques used for entity representation. Potential advantages of composition are discussed from the hardware point of view, primarily based on the memory hierarchy found in modern computers. Thesis proposes design of an entity system, using the ECS paradigm, which allows dynamic composition of entities during runtime of application from predefined components. The resulting system is designed to allow for easy parallelization of performed actions and user customizability of component data structures. The result of this bachelor thesis is a C++ multi-platform library, named Entropy , which enables its users to design applications using the ECS paradigm.
Klíčová slova:
C++; Data-oriented design; ECS; Entitní systém; Entity-Component-System; Komponentní systém; Kompozice; Návrh her; Paralelismus; C++; Component system; Composition; Data-oriented design; ECS; Entity-component system; Entity-component-system; Game design; Parallelism
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/69663