JeuWeb - Crée ton jeu par navigateur
PNJ & Déplacement - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : PNJ & Déplacement (/showthread.php?tid=2656)



PNJ & Déplacement - lespa - 06-06-2008

Bonjour à tous,

Je lis ce forum depuis prés d'un maintenant, mais aujourd'hui un problème se pose à moi ...

L'idée serait de créer des PNJ (neutres ou hostiles) qui se promènerait sur la carte d'un point à un autre (par exemple d'une ville à une autre pour un marchand) tout cela en évitant de traverser des montagnes ou autre. Bon évidement vous allez me répondre de chercher du côté du PathFinding ... mais c'est justement là le soucis.
Grâce à l'aide de Carlou du forum (que je remercie) j'ai pu réaliser ma propre carte, j'ai ensuite réussi à implémenter les joueurs, les déplacements, villes, coût des déplacements, etc, ... mais je dois avouer ne pas comprendre grand chose au peu d'information que l'on peut trouver sur le net au sujet du Pathfinding...

Quelqu'un aurait-il l'amabilité de me renseigner là dessus ou de ne donner quelques pistes pour commencer (je ne veux pas un code tout prêt, mais un début de code à peu prés fonctionnel qu'il faudra adapter/modifier/ optimiser serait parfait)

J'en appel donc à vous Smile


Merci d'avance,

Lespa


RE: PNJ & Déplacement - thelos - 06-06-2008

http://www.tonypa.pri.ee/tbw/tut22.html
Si t'es pas Anglophile, bah... Tant pis !


RE: PNJ & Déplacement - lespa - 07-06-2008

Bonsoir,

Merci pour ton lien, malheureusement c'est justement avec ce genre de lien que j'ai pas mal de problèmes :'( Les versions françaises que j'ai trouvée ne m'ont pas beaucoup aidé non plus.


Lespa


RE: PNJ & Déplacement - keke - 09-06-2008

Coucou,

Il faut bien que tu distingues dans ton jeu 2 points pour les IA :
1°/ L'envie de se déplacer
2°/ Le fait de se déplacer

De base, quels sont les raisons qui vont pousser une IA à aller d'un point A à un point B ? Comment éviter que toutes les IA se déplacent en même temps d'un même lieu vers un autre ? Si tu réponds à ces questions, tu auras fais le petit 1°/


La phase 2°/ est aussi technique. Je t'encourage, en premier lieu, fait les se déplacer en ligne droite de A à B sans te poser de question de montagne, mer ... Et ainsi tu pourras tester que ta phase 1°/ est opérationnelle;

Résoudre ces 2 points en même temps ne m'a posé que des problèmes ... Ce point est en stand-by pour l'instant, mais au moins, j'ai mieux structuré mes fonctions ^^. En fait, y'a plus qu'à ^^ (après l'économie cependant.)

kéké.


RE: PNJ & Déplacement - lespa - 09-06-2008

Bonsoir Keke,

Merci, je vais essayer de faire comme tu l'as dis. Smile

Pour le point 1°/ je pensais définir ces données lors de la génération des PNJ en leur donnant leurs coordonnées d'apparition / destination / détail du pnj (puisqu'il s'agit de navires marchands on aura le type de navire, la cargaison, voir quelques autres trucs). Ces pnj seraient générés selon un quota par ville (selon la taille par exemple), ensuite j'ai d'autres idées mais c'est pour plus tard.

Pour le 2°/, ton idée de les faire allez d'abord en ligne droite me parait intéressante, je vais donc essayer de faire ainsi. Pour la suite, ne pouvant faire allez mes pnj qu'en ligne droite, ta suggestion m'a fait penser au fait que je pourrai directement leur définir des trajets (sans optimiser la trajectoire) avec peut être des points de passage commun afin d'alléger le code.

Et même si ton schéma n'est pas tout à fait celui que j'imaginais j'ai compris sa logique, ce que j'avais du mal à faire avec les articles de A* et PathFinding.


Après il me restera encore l'aspect économique à implémenter (avec générations des pnj en fonctions des besoins et autres joyeusetés) mais chaque chose en son temps Wink Je ne suis pas pressé de toute manière.

Encore merci,

Lespa


RE: PNJ & Déplacement - keke - 10-06-2008

Prends ton temps ... C'est ce que tu as de plus précieux ^^.

kéké.