Recientemente comencé a diseñar un Game Engine usando el paradigma del Sistema de entidades, es decir, tener entidades como una agregación de componentes y sistemas que implementan el juego real. Mientras que he tenido dificultades en varios aspectos, lo que más me preocupa es la abstracción / modularidad de los diversos Componentes / Sistemas. Específicamente, digamos que my Player
tiene varios estados de animación, por ejemplo. Walking
, Sleeping
, Jumping
, Y un tipo de Opponent
entidad tiene varias (no necesariamente los mismos) estados, así, por ejemplo. Walking
, Hiding
Etc.
¿Cómo debo diseñar el motor, para que maneje los diversos estados (animación) de cada tipo de entidad? ¿Debería haber diferentes sistemas de animación para cada tipo de entidad? ¿Debo usar banderas que señalen al sistema de animación para representar la entidad correcta? Además, ¿puedo evitar el uso de enumeraciones "codificadas" para las diferentes poses? Puedo ver que un sistema de secuencias de comandos probablemente podría ayudar, pero estoy casi seguro de que hay una solución más simple.
fuente
if
's dentro del sistema de animación; Anteriormente era escéptico sobre el uso de diccionarios de cadenas (en C ++), en cuanto a memoria. Sin embargo, después de leer hoy sobre las tablas hash, su respuesta me parece bastante simple. En cuanto a la parte de 'licuadora': ¿significa "agregar 50% de caminata" significa reemplazar algunos cuadros por los de "caminar" en el 50% del tiempo?