# metadata.dc.description[].value
Treballs Finals de Grau d'Enginyeria Informàtica, Facultat de Matemàtiques, Universitat de Barcelona, Any: 2014, Director: Oriol Pujol Vila

# metadata.dc.description.abstract[].value
This project is about the construction of a game engine, the game engine's editor and a game. The game engine and editor are made with an Entity Component System architecture and with the technologies WinRt, DirectX and WIC, XAML was used to do the editor's GUI. The programming language used was C++, the IDE was Visual Studio Express 2013 and the target OS is Windows 8. The Direct X Game and Direct X and XAML App templates from Visual Studio Express 2013 were used as the base for the game engine and game engine's editor, respectively.
In this memory it is explained concepts like Entity Component System and how it was applied to this project. The Entity Component System is initially explained from a Object Oriented Design perspective. Then, there's a little break from ECS, and there is a section about "the ability to deal with the cache of the computer of an OOD system". At the end, during the explanation of the implementation of the ECS, these two themes are brought together. 
Also, there are a few components of the engine that are explained more deeply. These components are the Graphic Engine and the Physic Engine. The Graphic Engine follows a simple approach that consist on using a Camera, and drawing everything that is inside that Camera. The Physic Engine follows a "not so traditional" approach. Basically, it updates every game object in the Y axis and then the collisions are managed, then it does the same but in the X axis.
Also, the design done to create the ECS is explained. Which Components where made, how the
Processors handle them and the Assemblages to generate more Entities.
To create a game there are two steps. Firstly create it with the game engine's editor. Secondly, save it with the editor, the result will be a .txt file. Thirdly and finally, add that file to the game engine project, change the program to use that file and play the game engine.

# metadata.dc.rights[].value
memòria: cc-by-nc-sa (c) Carlos Ruiz González, 2015

# metadata.dc.rights[].value
codi: GPL (c) Carlos Ruiz González, 2015

# metadata.dc.source[].value
Treballs Finals de Grau (TFG) - Enginyeria Informàtica