FarewellLe 24/06/2012 à 14:21
Yop,
Depuis un moment, je m'interroge sur la manière dont sont implantés les succès dans les jeux. Exemple, pour être concret : à TF2, il y a une classe Soldat qui obtient un succès si, après un saut auto-propulsé (ie. rocket jump), il tue un adversaire dans les 5 secondes.
Comment programmer ça ? Ca nécessite de loguer le fait qu'il est en train de faire un rocket jump, puis de retenir le moment de son atterissage, de vérifier qu'il y a bien eu un frag dans un délai de 5 secondes, ce qui fait quand même plusieurs choses à loguer/comparer, et ce à différents endroits du code. Comme ça peut se superposer dans le même temps à d'autres succès (ça peut aller de "tuer 1000 connards en face" à d'autres succès jouant sur une demi-douzaine de paramètres), je me demandais comment tout ça fonctionne.
En fait, j'ai du mal à immaginer tout un moteur de jeu bloaté par des centaines de succès. La complexité deviendrait vite monstrueuse... Et à TF2, il y a 400 succès, toutes classes confondues, je vous laisse immaginer le bordel. Donc ça marche comment ce concept de succès ?
edit -> je me pose en fait autant la question pour la gueule du code qui résulte de l'implantation des succès, que pour les performances qui en résultent, avec tout ce qu'il vaut vérifier en permanence, en plus du moteur 3D & co...