• [^] # Re: Les systèmes à entités

    Posté par . En réponse à la dépêche Je crée mon jeu vidéo E15 : J'arrête.... Évalué à 3.

    Je suis pas sûr qu'on ait les même définitions, mais pour moi, un système à entité est le fait de déterminer un objet de base (l'entité) et d'y plugger des fonctionnalités (composants). Et le fait d'être data-driven est le fait que les règles ne soient pas hardcodées; elles sont exposées dans des data éditables par des non-développeurs qui permet de contrôler le jeu.

    Par exemple, l'entité est juste un objet-identifiant. On y ajoute quelques composants: une position et une jauge de vie, et on obtient un objet-joueur. Tu rajoutes à ça une IA et tu obtiens un objet-NPC (c'est volontairement simple, évidemment dans un vrai jeu il y aurait bien plus de composants par entité).

    D'un autre côté, tu as des data qui sont liés à ses composants, permettant de déterminer différentes spécificités comme les points de vie par exemple. L'avantage c'est que la gestion de la vie c'est le composant qui s'en charge, mais la quantité de vie, c'est les data qui déterminent ça. On peut ainsi mettre différentes data sur le même pattern "entité-composants" et tu obtiens différents NPCs.

    Au final, ça permet de bien séparer les systèmes et les data, le contenant et le contenu.