Cela dépend presque entièrement de vos besoins de jeu spécifiques. Il peut parfaitement fonctionner pour un jeu simple, mais échouer sur un système plus complexe. Si cela fonctionne pour votre jeu, ne vous inquiétez pas ou n'essayez pas de le sur-concevoir jusqu'à ce que le besoin s'en fasse sentir.
Quant à savoir pourquoi l'approche simple peut échouer dans certaines situations, il est difficile de résumer cela dans un seul article, car les possibilités sont infinies et dépendent entièrement des jeux eux-mêmes. D'autres réponses ont mentionné, par exemple, que vous souhaitiez peut-être regrouper des objets partageant des responsabilités dans une liste distincte.
C'est l'un des changements les plus courants que vous pourriez apporter en fonction de la conception de votre jeu. Je prendrai la chance de décrire quelques autres exemples (plus complexes), mais n'oubliez pas qu'il existe encore de nombreuses autres raisons et solutions possibles.
Pour commencer, je soulignerai que la mise à jour et le rendu de vos objets de jeu peuvent avoir des exigences différentes dans certains jeux, et doivent donc être traités séparément. Quelques problèmes possibles avec la mise à jour et le rendu des objets de jeu:
Mise à jour des objets de jeu
Voici un extrait de Game Engine Architecture que je recommanderais de lire:
En présence de dépendances inter-objets, la technique de mise à jour progressive décrite ci-dessus doit être un peu ajustée. En effet, les dépendances inter-objets peuvent conduire à des règles contradictoires régissant l'ordre de mise à jour.
En d'autres termes, dans certains jeux, il est possible que les objets dépendent les uns des autres et nécessitent un ordre de mise à jour spécifique. Dans ce scénario, vous devrez peut-être concevoir une structure plus complexe qu'une liste pour stocker les objets et leurs interdépendances.
Rendre les objets du jeu
Dans certains jeux, les scènes et les objets créent une hiérarchie de nœuds parents-enfants et doivent être rendus dans le bon ordre et avec des transformations par rapport à leurs parents. Dans ces cas, vous pourriez avoir besoin d'une structure plus complexe comme un graphique de scène (une structure arborescente) au lieu d'une seule liste:
D'autres raisons peuvent être, par exemple, l'utilisation d'une structure de données de partitionnement spatial pour organiser vos objets d'une manière qui améliore l'efficacité de la suppression des troncs de vue.