J'ai récemment commencé à concevoir un moteur de jeu en utilisant le paradigme Entity System, c'est-à-dire avoir des entités comme agrégation de composants et des systèmes qui implémentent le jeu réel. Alors que j'ai eu des difficultés sous divers aspects, ce qui me préoccupe le plus, c'est l'abstraction / modularité des différents composants / systèmes. Plus précisément, disons que mon Player
a plusieurs états d'animation, par exemple. Walking
, Sleeping
, Jumping
Et un type d' Opponent
entité a plusieurs (pas nécessairement les mêmes) états ainsi, par exemple. Walking
, Hiding
etc.
Comment dois-je concevoir le moteur pour qu'il gère les différents états (d'animation) de chaque type d'entité? Doit-il y avoir différents systèmes d'animation pour chaque type d'entité? Dois-je utiliser des drapeaux qui signalent au système d'animation de restituer l'entité correcte? De plus, puis-je éviter d'utiliser des énumérations "codées en dur" pour les différentes poses? Je peux voir qu'un système de script pourrait probablement aider, mais je suis presque sûr qu'il existe une solution plus simple.
la source
if
à l'intérieur du système d'animation; J'étais auparavant sceptique quant à l'utilisation de dictionnaires de chaînes (en C ++), en termes de mémoire. Après avoir lu aujourd'hui sur les tables de hachage, je trouve votre réponse assez simple. En ce qui concerne la partie «blender»: «Ajouter 50% de marche» signifie-t-il remplacer certains cadres par ceux de «marche» à 50% du temps?