Je lis actuellement le livre Programming Game AI By Example.
Le livre mentionne l'attribution de numéros d'identification uniques à chaque entité du jeu. Souvent, lorsque l'entité A doit contacter l'entité B , A obtient une référence à B en envoyant le numéro d'identification de B à une classe EntityDatabase . Cette classe reçoit des numéros d'identification et renvoie des références aux entités.
Les numéros d'identification de certaines entités peuvent également être récupérés à partir d'un fichier contenant les ID de certaines des entités (les personnages principaux du jeu).
Ma question est: pourquoi ferais-je cela? Pourquoi ne puis-je pas travailler directement avec des références? Est-il parfois difficile d'obtenir une référence directe? L'utilisation d'un système d'identification est-elle une approche courante? Y a-t-il des jeux qui n'utilisent pas d'identifiants?
Je suis nouveau dans le développement de jeux. Veuillez expliquer les avantages de travailler avec un système d'identification d'entité. Les avantages et les inconvénients. Des exemples concrets seraient formidables. Merci
la source
Une dernière chose est que si vous utilisez le modèle Pool d'objets et qu'une entité est réinitialisée parce que la créature est morte (par exemple) et réapparue ailleurs, une référence pointera toujours vers la même entité (faute) et un ID ne restera plus valide.
L'ID 5067 pointe vers l'adresse 0x8765 La créature meurt et une autre génère un nouvel ID de créature est réinitialisé à 7073 Quelqu'un vérifie l'ID 5067, il pointe vers 0x8765 mais cette créature est maintenant enregistrée avec l'ID 7073, de sorte que la base de données d'ID d'entité sait que vous avez utilisé un ID obsolète et vous informe, la créature que vous avez essayé d'atteindre n'est plus active.
Cela et toutes les merveilleuses raisons mentionnées par Byte56 expliquent pourquoi il est judicieux d'éviter d'utiliser directement des références.
la source