Essentiellement, vous aurez besoin de deux structures de données (logique, intrusive ou réelle, selon le reste de votre code). Le premier suivra les chaînes d'objets et l'autre le chemin.
Chaîne Il vous suffit de savoir quels objets suivent d'autres objets. Dans le cas le plus simple, ce sera simplement A suit B, mais pourrait inclure plus de followers. Il y a un leader désigné dans la chaîne.
Chemin Pour chaque chaîne, vous aurez besoin d'un chemin. En fonction de la façon dont votre jeu fonctionne, cela déterminera la façon dont cela sera structuré. Dans la plupart des cas, il s'agira d'une sorte de liste chaînée. Cela permettra de suivre les positions que tout le monde dans la chaîne doit suivre.
Maintenant, le leader de la chaîne ajoutera des éléments au chemin . Chaque fois qu'il se déplace, il ajoute quelque chose en tête de liste. Chaque objet de la chaîne se souvient où il se trouve sur la liste. Lorsqu'il s'agit de se déplacer, il passe simplement à l'élément suivant de la liste (interpolé de manière appropriée si nécessaire). Lorsque le dernier élément de la chaîne passe devant un élément de la liste, cet élément peut être supprimé (ce sera à la queue).
Métaphoriquement, le leader laisse un fil d'Ariane à ses partisans. Le dernier suiveur de la liste consomme le fil d'Ariane.
Que votre liste contienne des points individuels, ou simplement les sommets d'un chemin, ou autre chose, est entièrement déterminé par votre moteur de jeu. Mais en tout cas, je ne vois pas que vous pourrez éviter la liste elle-même.