Depende casi por completo de tus necesidades específicas de juego . Puede funcionar perfectamente para un juego simple, pero falla en un sistema más complejo. Si está funcionando para tu juego, no te preocupes por eso o trata de diseñarlo en exceso hasta que surja la necesidad.
En cuanto a por qué el enfoque simple puede fallar en algunas situaciones, es difícil resumirlo en una sola publicación, ya que las posibilidades son infinitas y dependen completamente de los juegos en sí. Otras respuestas han mencionado, por ejemplo, que es posible que desee agrupar objetos que comparten responsabilidades en una lista separada.
Ese es uno de los cambios más comunes que podrías estar haciendo dependiendo del diseño de tu juego. Aprovecho la oportunidad para describir algunos otros ejemplos (más complejos), pero recuerde que todavía hay muchas otras posibles razones y soluciones.
Para empezar, señalaré que actualizar los objetos de su juego y representarlos puede tener diferentes requisitos en algunos juegos y, por lo tanto, deben manejarse por separado. Algunos posibles problemas con la actualización y representación de objetos del juego:
Actualización de objetos del juego
Aquí hay un extracto de Game Engine Architecture que recomendaría leer:
En presencia de dependencias entre objetos, la técnica de actualizaciones por fases descrita anteriormente debe ajustarse un poco. Esto se debe a que las dependencias entre objetos pueden generar reglas conflictivas que rigen el orden de actualización.
En otras palabras, en algunos juegos es posible que los objetos dependan unos de otros y requieran un orden específico de actualización. En este escenario, es posible que deba diseñar una estructura más compleja que una lista para almacenar objetos y sus interdependencias.
Representación de objetos del juego
En algunos juegos, las escenas y los objetos crean una jerarquía de nodos padre-hijo y deben representarse en el orden correcto y con transformaciones en relación con sus padres. En esos casos, es posible que necesite una estructura más compleja como un gráfico de escena (una estructura de árbol) en lugar de una sola lista:
Otras razones podrían ser, por ejemplo, el uso de una estructura de datos de particionamiento espacial para organizar sus objetos de una manera que mejore la eficiencia de realizar el sacrificio de vista de frustum.