Možnosti návrhového vzoru Entity-Component-System: případová studie
Název práce v češtině: | Možnosti návrhového vzoru Entity-Component-System: případová studie |
---|---|
Název v anglickém jazyce: | Exploring Options of Entity-Component-System Design Pattern: A Case Study |
Klíčová slova: | návrhový vzor|Entity-Component-System|počítačové hry|simulace|případová studie |
Klíčová slova anglicky: | design pattern|Entity-Component-System|computer games|simulation|case study |
Akademický rok vypsání: | 2021/2022 |
Typ práce: | bakalářská práce |
Jazyk práce: | čeština |
Ústav: | Katedra softwaru a výuky informatiky (32-KSVI) |
Vedoucí / školitel: | Mgr. Pavel Ježek, Ph.D. |
Řešitel: | Petr Kotáb - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 04.05.2022 |
Datum zadání: | 05.05.2022 |
Datum potvrzení stud. oddělením: | 31.07.2023 |
Oponenti: | Mgr. Vojtěch Černý |
Zásady pro vypracování |
Certain simulation games, a genre of video games focusing on replication of real-work activities, can make use of an ability to simulate thousands of game entities in real-time allowing a player to experience an emergent gameplay. Object-oriented approach for the implementation of such simulations has been proven to be underperforming on modern computers as frequent cache misses stalls the CPU limiting the number of entities that can be run interactively. One possible solution is to use Entity-Component-System design pattern, which requires splitting a game world into entities and components upon which systems can operate sequentially during game update thus minimizing cache misses in the process. However, in practice such a division can be problematic as systems may need to iterate over different subsets of data and the pattern favors unified entity behaviors to diversity. Goal of this thesis is to empirically evaluate the use of Entity-Component-System (ECS) by designing and implementing a simulation game summarizing benefits and drawbacks of using ECS during development and providing performance evaluation of the final solution. |
Seznam odborné literatury |
Fabian, R. (2018). Data-oriented design. https://www.dataorienteddesign.com/dodbook/ [4.5.2022]
Nystrom, R. (2014). Game programming patterns. Genever Benning. https://gameprogrammingpatterns.com/ [4.5.2022] Caini, M. (2019). ECS back and forth. https://skypjack.github.io/2019-02-14-ecs-baf-part-1/ [4.5.2022] |