Advantages and Implementation of Entity-Component-Systems
Härkönen, Toni (2019)
Härkönen, Toni
2019
Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-05-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201905231735
https://urn.fi/URN:NBN:fi:tty-201905231735
Tiivistelmä
Entity-Component-System (ECS) is a relatively new design pattern that has become a major actor in the field of modern Realtime Interactive Systems. Its objective is to decouple objects into separated data and logic. This is achieved by separating the objects into three different elements: Entities, Components, and Systems. This thesis examines the common problems in commonly used object-oriented methods of encoding entities, and introduces the reader to a way to bypass these issues by shifting to a more Data-Oriented programming pattern.
The thesis is for the most part implemented as a literature study by exploring different sources both available. Due to the nature of the subject, scientifically surveyed papers regarding the paradigm are limited. However, a variety of texts and presentations by professionals of the topic are freely available online, and the subject is also covered in multiple books focused on software engine design, especially game engines.
The aim for this study is to introduce the reader to an architecture suitable for processing massive amounts of data in a Realtime Interactive System, and present a conception of how the paradigm can be implemented. Object-oriented techniques often suffer from heavily encapsulated data and inefficient cache management. Both of these issues are extensively discussed in this thesis and solved with a change to Data-Oriented Design pattern.
The thesis is for the most part implemented as a literature study by exploring different sources both available. Due to the nature of the subject, scientifically surveyed papers regarding the paradigm are limited. However, a variety of texts and presentations by professionals of the topic are freely available online, and the subject is also covered in multiple books focused on software engine design, especially game engines.
The aim for this study is to introduce the reader to an architecture suitable for processing massive amounts of data in a Realtime Interactive System, and present a conception of how the paradigm can be implemented. Object-oriented techniques often suffer from heavily encapsulated data and inefficient cache management. Both of these issues are extensively discussed in this thesis and solved with a change to Data-Oriented Design pattern.
Kokoelmat
- Kandidaatintutkielmat [8330]