Bonjour à tous, depuis le temps que je programme, j'avais souvent entendu parler de l'ECS (Entity Component System). J'avais un peu regardé le principe, mais je n'ai jamais pu réellement mettre ce principe de conception en place car peu de documentation sur le sujet (du moins quasi inexistant en français et peu en anglais). Aujourd'hui, je développe nouveau jeu et j'aimerais mettre ce principe (qui m'a l'air plutôt efficace) en oeuvre.
J'ai trouvé un bon début d'explication mais j'ai quelques nuages noirs par rapport à où sont stockées les "données".
J'ai compris ceci :
Entity :
-> Sorte d'identifiant qui va définir un objet du jeu : Voiture / Arbre / Pnj / etcetera...
Component :
-> C'est un composant qui sert à la construction d'un objet : Couleur / Forme / Type de bidule / etcetera...
System :
-> Il sert à la mise à jour des entités et de leurs composants...
C'est un peu mon résumé de l'ECS, mais je ne comprends pas tout et j'ai donc plusieurs questions.
1. Es que c'est l’entité qui stockent/lie s'est composant ?
2. Si je veux appliquer par exemple la couleur rouge à mon objet, comment je fais ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class Entity { ... vector<Component> components; ... }
3. Comment le system gère les mises à jour des EC ?
J'aurai sûrement d'autres questions, mais pour le moment ces trois questions sont les plus importantes.
Je vous remercie![]()
Partager