Bonjour,
On a un petit soucis dans le développement de notre jeu : la gestion des états du héros. Je ne pense pas que l'info soit indispensable, mais au cas ou : c'est un jeu de plate-formes, un bonhomme qui se balade en faisant des trucs comme sauter, frapper, grimper...
On a tenté de catégoriser ses états : marcher, sauter, frapper, lancer, en chute, inactif, etc... Mais plus on avance, plus la quantité de code et de tests spécifiques aux états semble énorme. Par exemple, si le joueur appuie sur la touche de direction droite, il faut vérifier
- s'il est en chute, alors il se déplace un peu ;
- s'il est à l'arrêt, il commence à marcher ;
- s'il marche vers la droite, il marche plus vite ;
- s'il marche vers la gauche, il ralenti ;
- s'il est en train d'être blessé, de mourir, grimper à un mur, et j'en passe, il ne se passe rien ;
De plus, l'état ne dépend pas que du joueur qui le contrôle, ça dépend aussi des collisions avec les éléments du décor (je marche contre un mur -> je passe en mode inactif, je marche vers un bloc -> je le pousse), les enemis (je suis en attaque -> je le blesse, sinon je suis blessé, sauf si je suis invincible...)
Ça fait beaucoup de conditions et c'est vite le bazar, juste pour un déplacement !
Ma question est : comment les états du joueur sont gérés dans les jeux ? Existe-t-il un framework, une méthode, un design pattern facilitant cette tâche ?
Merci
Partager