lundi 27 octobre 2008
3D isométrique et pathfinding
Actionscript/Flash/Flex - Lien permanent
Voici quelques temps que je voulais me mettre au développement de jeux en Flash, je me suis donc confronté récemment à la réalisation d'un moteur 3D isométrique. Je me suis notamment intéressé à la génération et au positionnement des "tiles" et des différents objets de la carte, ainsi qu'à la gestion du pathfinding, c'est à dire le déplacement des objets sur la carte en tenant compte des obstacles.

Le code est très largement inspiré de cet excellent tutorial, que j'ai réadaptée et réécrit en Actionscript 3.
La principale différence concerne la gestion du Z-Sorting. En effet en Actionscript 3 plus question de placer un symbole sur un niveau au choix avec un swapDepths()... Pour y remédier, la méthode render() de la class Map se charge donc de réorganiser la profondeur de tous les objets de la carte lorsque l'un d'entre eux se déplace.
Je suis donc arrivé à un petit moteur très basique que vous pouvez télécharger librement, le code étant sous licence Creative Commons
Et voici la démo, cliquez sur un des "personnages" puis sur n'importe quel endroit de la carte pour qu'il s'y déplace :
Enjoy :)
Commentaires
Excellent :) Ca donne vraiment bien même si cest encore graphiquement très sobre !
Merci :)
lol oui c'est minimaliste, on est encore très loin d'un jeu fini (et par manque de temps ça le sera sûrement jamais d'ailleurs...)
super job, c'est clair, c'est net.
J'aurai juste une petite question par contre: c'est possible d'avoir la position x et y des tiles en screen coordinates ? la je sèche. En fait j'aimerai faire en sorte d'aficher uniquement les tiles "visibles" de ma map.