j´ai rencontré ce probleme pour le jeu de canyon que je présente sur mon site (voir ma carte)
Si ça t´intéresse : voici comment j´ai fait :
(je ne dis pas que c´est la meilleure solution : c´est "artisanal")
Si tu télécharges le jeu, tu verras vite les courses : des images BMP (une vue de dessus des courses pour faire le highmapping)
les pixels bleu indiquent, pour une position x,y le z : ce qui permet une course en 3D.
bref, ce qu´il faut regarder, c´est les points rouges sur les bitmap : c´est une trajectoire "graphique"
Chaque point rouge a une nuance différente : 255, 254, 253 etc etc !!
cela me permet, en chargeant l´image, d´ordonner les points : je sais quel est le 1er, le 2e, etc !!
Du coup, ces points rouge deviennent des checkpoints nombreux et triés.
il me suffit ensuite, pour les vaisseaux, de leur faire targetter le prochain checkpoint, de tourner pour se mettre en face.
Le checkpoint est validé si la distance (euclidienne) entre le chekpoint et le vaisseau passe en dessous d´un seuil : en gros, des que le vaisseua rentre dans la sphere de son checkpoint, alors il vise le prochain : ce qui lui permet d´avancer.
Pour avoir une trajectoire un peu plus aléatoire, je lui fait viser, non pas exactement le checkpoint, mais un point autour choisi au hasard, ce qui permet des trajectoires différentes pour chaque vaisseau.
Pour le classement :
déja, comme chaque vaisseau sait quel prochain chechkpoint il vise (et le player pareil : meme s´il est pas automatique, quand il passe dans la zone du checkpoint, il faut qu´il garde en mémoire le prochain)
Ainsi, premier test : on peut aisément classer (avec le nombre de checkpoint franchis), une position approximative. Ensuite, la difficulté vient si plusieurs vaisseaux sont au meme checkpoint : dans ce cas la (c´est pas précis), je calcule la ratio des distances entre le chekpoint suivant et précédent... Solution artisanale...
Sinon, comme dit Lapintade, le mieux est de ramener en 1D (comme bcp de jeux), si tu peux faire ça, alors le probleme disparait : la route n´est qu´une courbe paramétrique, et le parametre détermine ta progression : un sort pour le classement et c´est bonard 