Le moteur 3d ECO
De Profondis

Après avoir été capturé par les gobelins, emmenés dans les profondeurs, la voleuse réussie à crocheter la porte de la cellule. Votre équipe va devoir trouver de l'équipement, son chemin, pour retrouver la surface.
La première étape de De Profondis est terminée.
Découvrez la mise en place d'un jeu, avec sa partie introduction (chargement de la partie, création d'un profil, options) ; cliquez sur « continuer ».
La scène est un cachot, créé avec Edt Donjon, avec des meshs obj (chargeur inclus) qui s'affichent en mode multi pour économiser des ressources. Les personnages sont en .glb (chargeur inclus, sans dll). Ils sont animés, on peut les équiper d'armes. L'interface de l'inventaire est très complète (à la Naheulbeuk), le panneau des bonus et sorts de magie est fonctionnel (même s'il reste à les définir) ; de même pour le panneau des quêtes.
La prochaine étape sera la conception du plan et de la première scène d'introduction.
Ensuite, viendront les premières quêtes, les bonus et les sorts de magie, avant d'arriver aux combats. Donc, encore beaucoup de travail.
02/2025 dernière mise à jour.




Explication : déplacement d'un personnage
Notre personnage va se déplacer en suivant une courbe de Bézier, alignée sur des points clef, qui peuvent être, comme ici dans De Profondis, des plots. Ces plots sont des points 3D qui, lors du picking, sont considérés comme des dalles de 1 mètre sur 1 mètre.
Dans le schéma ci-dessous, chaque case représente un plot.
Notre personnage (en 1-1) doit se rendre sur la case marquée d'un X (6-1), mais un mur (partie noire) l’empêche d'y aller en direct.

Le code consiste à créer un tableau des plots et de leur affecter la valeur 0, sauf pour les cases que l'on veut écarter du test. Ici, le mur, que l'on peut mettre à -1, ainsi que la case de destination. Il faut y ajouter les autres personnages, et parfois des éléments d'impossibilité, tel qu'une rivière, que certaines unités peuvent traverser et d'autres non.
Puis on fait une boucle (for …) en incrémentant les cases adjacentes (test de distance) de valeur nulle, à la valeur référence (case de destination, puis 1,2, ...), ce qui donne le résulta de la partie de gauche.
On poursuit la boucle, en incrémentant à chaque cycle la valeur référence, ce qui va donner le résultat de droite. Quand on arrive à la case destination (le plot), on a trouvé un chemin possible. Si la boucle s'arrête sans cela, il n'y a pas de chemin possible.
Il est alors simple de remonter la ligne, commençant à la valeur référence (ici 5), pour trouver le plot proche d'une valeur juste inférieure (4).
Vous voyez que plusieurs chemins sont possibles : en haut du mur, la valeur « 3 » aurait pu trouver le « 2 » plus bas (ce qui n'aurait rien changé au chemin). La solution dépend du sens de recherche et de l'ordre des plots : le premier trouvé est le bon !
Notez que le quadrillage n'est pas nécessaire : dans le schéma ci-dessous, on considère les vertex comme source de plots. La routine cherche un vertex de proche en proche pour parvenir à trouver un chemin.
