Recentemente, comecei a projetar um Game Engine usando o paradigma do sistema de entidades, ou seja, tendo entidades como uma agregação de componentes e sistemas que implementam o jogo real. Considerando que tive dificuldades em vários aspectos, o que mais me preocupa é a abstração / modularidade dos vários componentes / sistemas. Especificamente, digamos que o meu Player
tenha vários estados de animação, por exemplo. Walking
, Sleeping
, Jumping
, E um tipo de Opponent
entidade tem vários (não necessariamente os mesmos) estados, bem como, por exemplo. Walking
, Hiding
Etc.
Como devo projetar o mecanismo, para que ele lide com os vários estados (animação) de cada tipo de entidade? Deveria haver diferentes sistemas de animação para cada tipo de entidade? Devo usar sinalizadores que sinalizem o sistema de animação para renderizar a entidade correta? Além disso, posso evitar o uso de enumerações "codificadas" nas várias poses? Percebo que um sistema de script provavelmente poderia ajudar, mas tenho quase certeza de que existe uma solução mais simples.
fonte
if
dentro do sistema de animação; Eu era cético em relação ao uso de dicionários de strings (em C ++), em termos de memória. Depois de ler hoje sobre as hashtables, acho sua resposta bastante simples. Com relação à parte do 'liquidificador': "adicionar 50% de caminhada" significa substituir algumas molduras pelas da 'caminhada' em 50% das vezes?