Aller au contenu


Fameux Pathgrid


  • Veuillez vous connecter pour répondre
23 réponses à ce sujet

#1 Ona

Ona

Posté 26 janvier 2009 - 01:57

Bonsoir (ou bonjour selon...) à tous,

Voilà ne sachant pas si le sujet eut déjà été traité, je me permets d'un créer un concernant le pathgrid.

Ayant fait une recherche auparavant, je n'ai trouvé que quelques explications fournis par abg que je salut pour l'aide annexe dont il m'aura apporté. (en particulier le système de points, le comportement etc...)

Mais la question principale qui me tient à cœur et comment activer ce fameux pathgrid ? Qu'auriez vous à m'apprendre en complément ?

Merci encore de l'aide !



#2 elendell

elendell

    Mécano Dell'Arte


Posté 26 janvier 2009 - 09:02

Bonjour Onauasoki,

Je ne pourrai malheureusement pas te faire un formulaire de deboguage (selon l'expression d'abg  :green: ) car n'ayant utilisé qu'une seule fois cette fonction, je n'en suis pas spécialiste. Mais je m'étais servi du Tutonuts, pages 75 à 79. L'as-tu regardé ?

#3 Ona

Ona

Posté 26 janvier 2009 - 10:32

Non je n'avais pas regarder et j'aurais du je crois... :green:

Honte à moi qui est tout appris avec celui-ci et qui n'est même pas regarder cette fois-ci !

Merci à toi Elendell je vait tout décortiquer et je reviendrais si j'ai un un souci technique... (mais je pense qu'avec le complément de abg cela devrait aller...)

Bon j'ai encore un souci le tuto est très clair et tout mais je n'arrive pas à faire prendre l'itinéraire au PNJ !

Faut-il placer ce dernier sur un des marqueurs bleu ?

Modifié par Onauasoki, 26 janvier 2009 - 09:53.



#4 Finraïl

Finraïl

    Modèle de wiwilandais nanotechnologique


Posté 26 janvier 2009 - 11:16

Voir le messageOnauasoki, le 26.01.2009 à 10:31, dit :

Bon j'ai encore un souci le tuto est très clair et tout mais je n'arrive pas à faire prendre l'itinéraire au PNJ !

Faut-il placer ce dernier sur un des marqueurs bleu ?
Non. Si le pathgrid existe, tous les PNJs qui se déplacent dans la cell l'utilisent.

Not Quite Dead, le 22.06.2006 à 19:42, dit :

[...]un changement avatarien, même infime, est PAS BIEN et nuisible [...]
Les lisez-moi c'est bon, mangez-en !! Image IPB

Fervent Partisan de l'Immuabilité Avatarienne.

Morrowind Renaissance


#5 Ona

Ona

Posté 26 janvier 2009 - 11:35

Merci à toi Finraïl, et bien pour l'instant le Wyrmer ne bouge pas plus que cela mais qui sait, peut-être faut-il un certain temps...

Il peut exister plusieurs parcours ou bien un seul est possible ? (il s'agit d'une maison)



#6 Kafou

Kafou

    Le canari a bouffé le rominet !


Posté 26 janvier 2009 - 11:40

Bah ton perso il bougera pas d'un poil si tu lui mets pas un package d'IA. Comme Wander.

Avec wander le PNJ se déplacera aléatoirement sur le path grid (je crois), si tu veux qu'il suive un parcours bien précis en boucle faut le faire par script.
You look like you need a monkey!

Attention : perfectionniste paresseux.

#7 Finraïl

Finraïl

    Modèle de wiwilandais nanotechnologique


Posté 26 janvier 2009 - 11:44

Et dans ton IA, il y a un parametre distance à renseigner (il me semble que c'est distance), c'est la distance que parcours le PNJ quand il tombe dans son IDLE de marche. SI c'est à 0, il restera sur place. 128, 512 sont des valeurs communes. N'hésite pas à consulter les IA des perso de base, comme par exemple les ordinator_wander, qui sont fait pour patrouiller dans les cells.

Not Quite Dead, le 22.06.2006 à 19:42, dit :

[...]un changement avatarien, même infime, est PAS BIEN et nuisible [...]
Les lisez-moi c'est bon, mangez-en !! Image IPB

Fervent Partisan de l'Immuabilité Avatarienne.

Morrowind Renaissance


#8 Ona

Ona

Posté 26 janvier 2009 - 11:52

Merci à tous les deux, et puis bon il s'agit là d'un honnête citoyen donc rien d'important non plus mais cela me permettra de me faire la main donc je vait essayer de voir chez les PNJ's d'origine et essayer d'assimiler tout-cela...

Je vait aussi en profiter pour faire de plus grosses recherches sur les AI et autres packages quand il ne s'agit pas d'IDLE de marche...  :wacko:

Concernant Wander j'ai cru voir que de base les PNJ's en été doté, je vait revérifier de ce pas !

Merci !

EDIT: Oui le perso à bien un package Wander de base, voilà ces caractéristiques:

Distance:  512

Duration:  5

Time of Day:  0

Idle Chances:
     Idle 2:     60
     Idle 3:     20
     Idle 4:     10
     Idle 5:     0
     Idle 6:     0
     Idle 7:     0
     Idle 8:     0
     Idle 9:     0

A quoi peuvent bien correspondre tous ces Idle ? (la distance est sur 512 mais que signifie t-elle ? Time of Day, est-ce cela qui le bloque ?)

Modifié par Onauasoki, 26 janvier 2009 - 11:57.



#9 abg

abg

    L'ABG pour les civilisés


Posté 26 janvier 2009 - 12:07

Bonjour,

Voir le messageelendell, le 26.01.2009 à 09:01, dit :

... un formulaire de deboguage (selon l'expression d'abg  :huhu: )

C'était une boutade hein  :grin: à propos de certains questionnaires avec force commandes consoles... D'ailleurs dans la même tirade, je n'ai pas oublié de me servir à propos de mes propres interventions parfois verbeuses  :wacko:

Bon pour en revenir à la question de Onauasoki :
Je ne sais pas  :( ou du moins, faute d'avoir fait assez d'expériences pour croiser les observations, je n'ai pas de certitude alors j'emploierai le conditionnel...

Tout d'abord, je présume que ton PNJ a bien un package Wander correctement configuré, avec un rayon de déplacement suffisant pour qu'il puisse rejoindre une balise du pathgrid et que les idles ne monopolisent pas tout son temps.
Si tu le places hors balise, il devrait commencer à se déplacer en utilisant la routine d'IA par défaut des cells sans pathgrid (créatures, pnjs en "rase campagne") puis se raccrocher à la première balise qu'il va croiser et pour ainsi dire dorénavant suivre les rails...
Ce qu'il faut comprendre, c'est qu'une fois "sur les rails" d'un pathgrid, le PNJ se déplace par segments complets et ne s'arrête qu'aux balises. Parvenu à une balise, Morrowind.exe effectue un tirage des idles. S'il est positif pour une des anims, le PNJ va rester sur place et jouer cette anim (à la fin d'ycelle, nouveau tirage) ou choisir une nouvelle direction (balise reliée par un segment à celle où il se trouve) et voyager vers cette nouvelle destination.

Le choix de ce nouvel objectif n'est pas encore clair à 100% mais à priori (je dis bien à priori), il n'est pas aléatoire.
(On met de côté les situations spéciales où l'objectif est imposé : cible de combat, commande AIFollow etc.)
A priori donc, l'IA donnerait priorité à la balise accessible dont l'index est le plus faible (la valeur notée (idx) dans la barre d'état du TESC). Donc, les balises qui ont été placées en premier lors du dessin du pathgrid...

Si j'en parle bien que ça nous éloigne de ta question Onauasoki, c'est que ça contiendrait une petite astuce de design de pathgrid, à savoir qu'on peut, en traçant les itinéraires "par couche", définir des parcours plus ou moins prioritaire. Par exemple dans un village placer en premier les segments déservant la rue principale puis les voies secondaires qui seront utilisées pour les cas spéciaux (combat, follow...)

Puisque tu es en plein dedans Onauasoki, tu n'hésiteras pas à nous faire part de tes observations  8)

Pour terminer sur une petite histoire :
Il y a peu, à titre d'expérience, je me suis amusé à étendre le pathgrid de Seyda Nihyn et à en ajouter dans les cells voisines du marais. Après plusieurs heures in-game, çà a eu deux conséquences, l'une un peu gênante (encore que...) et l'autre que je trouve sympathique :
- Les habitants de Seyda Nihyn ont eu tendance à "s'évader" du village. J'ai retrouvé Eldafaïre et un garde rendu quasiment à mi-chemin du point de chute de Tarhiel. J'avais justement pris soin de positionner en premier les balises suivants la route, j'avais aussi rendu jointif le pathgrid de la cell avec celui du village...
- Les créatures du coin se sont mises elles aussi à suivre mes pathgrids, j'ai pu ainsi observer de très plaisantes "routes migratoires" de crabes des vases et de scribs...

Je réfléchis encore au parti qu'on pourrait tirer de ça, en tout cas ces pathgrids sont une clé pour optimiser l'IA de Morrowind...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#10 Ona

Ona

Posté 26 janvier 2009 - 12:35

Ouah... :huhu:

Tout ceci devient vite compliqué pour mes petites neurones... Bon déjà concernant mes observations, je ne crains que je ne puisse aller bien loin dans celles-ci, je me voit mal tracer des pathgrids en tout Quiteterre, OraNN risquant surement de le prendre mal... :wacko:

Néanmoins, je vait tout d'abord essayer de mettre mon PNJ "sur les rails" comme tu le dis si bien, et ensuite voir avec un pathgrid pour commencer puis un second etc...

Concernant les pathgrids je suis bien conscient qu'il s'agirait là d'une très bonne solution pour cooriger l'IA défaillante de Morrowind ! :grin:

Je vait profiter de ces quelques journées pour essayer de voir toutes les possibilités, en attendant je laisse place à tous commentaires !

Bravo à toi Abg pour ces explications !



#11 abg

abg

    L'ABG pour les civilisés


Posté 26 janvier 2009 - 12:56

Voir le messageOnauasoki, le 26.01.2009 à 12:34, dit :

je me voit mal tracer des pathgrids en tout Quiteterre, OraNN risquant surement de le prendre mal... :wacko:

Entre autres conséquences à éclaircir, ça permettrait pourtant de tordre le cou au bug du fugitif qui s'arrête à trois pas du PJ ainsi que sérieusement réduire le problème des agresseurs qui se coincent dans le décor  :huhu:

Modifié par abg, 26 janvier 2009 - 12:57.

Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#12 Ona

Ona

Posté 26 janvier 2009 - 14:02

Certes je ne dit pas le contraire... :wacko:

Après un premier test approfondis (ça dépend du temps réel d'un véritable test approfondis... :huhu: ) et en effaçant un des pathgrids, tout marche à merveille ! L'on peut très bien remarquer que le NPC va instinctivement sur le rail, et ce jusqu'à la dernière balise malgré tous les bugs de collisions... :grin: (vive les intérieurs bien chargés... et l'on comprends vite pourquoi ceux de Bethesda sont la plupart du temps assez vide...)

Modifié par Onauasoki, 26 janvier 2009 - 14:03.



#13 abg

abg

    L'ABG pour les civilisés


Posté 26 janvier 2009 - 14:55

Voir le messageOnauasoki, le 26.01.2009 à 14:01, dit :

(vive les intérieurs bien chargés... et l'on comprends vite pourquoi ceux de Bethesda sont la plupart du temps assez vide...)

Tu parles d'intérieurs comme celui-ci ?

Je te souhaite bon courage car en effet ça va être coton  :wacko: Il va falloir positionner tes balises au pixel près en s'assurant que les segments passent bien au large de la moindre chaise ou torchère... Du travail d'horlogerie.
En cadeau bonux sur la première capture tu as une difficulté supplémentaire : la cell s'étale sur deux niveaux et les PNJs ont tendance dans ce genre d'endroit à se tromper de pathgrid (suivre celui d'en bas quand ils sont à l'étage ou vis-versa.)

Comme illustration de ce bug, il y a la cell "Pélagiad, mur sud" où les gardes ont toujours du mal à négocier la porte chambrée/couloir de la prison, à cause, je crois, des balises qui sont dans le couloir du haut...

Edit :
Au fait, le test "qui tue" pour un pathgrid, c'est un combat  :huhu:

Modifié par abg, 26 janvier 2009 - 15:00.

Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#14 Ona

Ona

Posté 26 janvier 2009 - 15:04

Je n'avais même pas vu qu'OraNN avait posté une de mes créations ! :wacko:

Alors non je ne comptais faire de pathgrids pour le moment dans ce genre d'intérieur... :huhu:

J'ai débuté dans ce genre là, ICI (l'intérieur à légèrement changer depuis afin de permettre plus de mobilité), qui est tout de même plus simple pour commencer, en prenant pour départ le petit salon ou la table et ensuite il se dirige vers l'entrée.



#15 abg

abg

    L'ABG pour les civilisés


Posté 26 janvier 2009 - 17:34

Voir le messageOnauasoki, le 26.01.2009 à 15:03, dit :

J'ai débuté dans ce genre là, ICI (l'intérieur à légèrement changer depuis afin de permettre plus de mobilité), qui est tout de même plus simple pour commencer, en prenant pour départ le petit salon ou la table et ensuite il se dirige vers l'entrée.

Certainement plus simple pour tester en effet :huhu:
C'est chouette de nous montrer ce genre de document de travail. On y voit avec quel soin du détail vous avancez. Je réalise que jusqu'ici je n'avais accordé qu'une attention distraite au projet Pertevue mais ça va changer  :grin:

Comme ça, d'un rapide coup d'oeil, je vois que le principal challenge de ce pathgrid devrait être de négocier le virage du corridor avec le moins de balises que possible (plus de balises = plus de chances d'avoir un PNJ jouant ses anims idle dans les pattes du PJ et chacun sait comme c'est chiant pénible dans Morro...)

******


Le titre du fred étant un peu un chiffon rouge pour moi, voici la présentation d'un petit test qui montre une application possible des pathgrids pour faire un peu de mise en scène :

Le double pathgrid (ou advanced ratons&matons humm, désolé)

Soit la scène suivante :
Image IPB

(Pour les besoins du screenshot, j'ai triché un peu en surélevant les balises afin que les segments soient entièrement visibles)

En A un brave garde, qui va patrouiller le long du chemin jusqu'en B, s'arrêtant éventuellement aux extrémités du parcours et aux deux balises intermédiaires pour joueur une anim "idle" de pause...

En C un rat
On voit au pathgrid que notre rat va fureter devant les rochers et l'arbre mort (il cherche pitance). Avec un peu de patience, on le verra peut-être même traverser la route et descendre jusqu'à la mare pour boire un coup puis (une seule destination possible en bas) remonter pour reprendre sa maraude. (un jour, je vous le referai avec un poulet  :wacko: )

J'ai donc défini mon pathgrid en deux zones distinctes (volontairement restreintes pour que l'expérience  ne soit pas parasité par des acteurs en "expédition lointaine")
Ces deux zones se croisent mais ne sont pas jointives (pas de balise commune), donc sauf accident, le garde ne devrait pas aller fureter au pied de l'arbre mort ni le rat patrouiller sur la route !

Si mon perso s'approche du rat, celui-ci va attaquer (puisque les rats de morro sont d'une espèce vindicative)
Le garde va donc intervenir contre lui (car c'est un garde de la classe "guard")

Sans pathgrid, nous aurions eu alors un garde planté devant son rat mort ad-nauseam. Comme il y a un pathgrid, le garde va ensuite reprendre son parcours (se dirigeant alors vers la dernière balise qu'il a quitté pour combattre)

En fait dans la pratique, il y a un petit risque de voir le garde (suite au combat) se raccrocher à la portion de pathgrid dédiée au rat (on obtient donc un rat mort et un garde qui furette !). Il faudrait donc prévoir un bout de script conditionnel quelque part qui renvoie le garde à sa patrouille...

Voilà, c'est idiot je sais, je devrais avoir des passe-temps plus sains, mais je crois qu'on a pas exploré le quart de ce qu'il est possible de faire en matière de mise en scène dans Morrowind...

Edit pour cause de fusion automatique de post

Modifié par abg, 26 janvier 2009 - 17:38.

Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#16 Orann

Orann

    Nérévarine de Pertevue


Posté 26 janvier 2009 - 18:26

Citation

C'est chouette de nous montrer ce genre de document de travail. On y voit avec quel soin du détail vous avancez.

Héhé documents top-secrets :(  :wacko:

Sujet très intéressant. Tes observations, abg, sont particulièrement intéressantes. J'ai créé de nombreux pathgrid mais je ne m'étais jamais posé de questions dans les mêmes termes que les tiens... Résultat, je n'ai jamais envisagé de pathgrid "croisés" et "non-interconnectés" ce qui me parait être vraiment puissant! Merci d'en faire part ici car j'y réfléchirai à deux fois à la prochaine occasion que j'aurai de faire un path grid dans la nature! :huhu:

Je rajouterais juste un détail: les npcs dont l'IA est de suivre un autre npc ou le joueur (AIFollow) le font beaucoup mieux quand il y a un pathgrid, et ce même si la cible qu'ils suivent ne suit pas ce pathgrid!
Le joueur par exemple suit rarement ce chemin qu'il ne voit pas. Et bien les npcs le suivent beaucoup mieux s'il y a un pathgrid alors qu'ils ne se mettent pas dans le "rail" (s'ils sont suffisament proches). Si la distance augmente, ils pourront se racrocher provisoirement aux rails avant de reprendre la poursuite de la cible. :grin:
Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#17 Ona

Ona

Posté 26 janvier 2009 - 21:26

Oupsssss... ;)

En tout cas je réitère mes compliments abg, tes explications sont claires et très simple, cela me rappelle quelqu'un :evil: ...

Je retiendrais notamment la gestion des balises (le moins possible donc) concernant mes intérieurs mais ton exemple devrait intéresser beaucoup de monde !



#18 abg

abg

    L'ABG pour les civilisés


Posté 26 janvier 2009 - 21:57

Voir le messageOnauasoki, le 26.01.2009 à 21:25, dit :

(le moins possible donc)

Le moins possible... au niveau du passage de desserte au centre de l'appartement que tu montres ! (Pour limiter le risque du pnj qui fait bouchon bien sûr. ça pourrait être une touche de réalisme supplémentaire que de voir l'habitant des lieux faire barrage devant le pj envahissant sa privauté mais on sait bien que ça ne provoque qu'agacement pour le joueur fouineur qui veut passer alors...)
Sinon pour le reste tu verras bien le rendu in-game. J'ai expliqué ailleurs comment le pathgrid pouvait influer sur l'humeur apparente du pnj mais dans de petits intérieurs il faut en priorité penser à la facilité de circulation... enfin il me semble...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#19 Ona

Ona

Posté 26 janvier 2009 - 22:09

Tout à fait d'accord pour la touche de réalisme mais bon comme tu le dis si bien, cela risquerait d'énerver le joueur plus qu'autre chose... ;)

Concernant l'humeur du PNJ justement, selon le pathgrid que j'ai réalisé, celui-ci devrait finir sa course pas loin de l'entrée de la maison, seulement je le trouve un peu "lent" au moment ou il doit effectuer son demi-tour afin de revenir au salon...

Quel serrait le facteur à changer dans le package, puisque le rendre "nerveux" n'est pas exactement ce que je chercherais...

Merci encore abg ! :evil:



#20 abg

abg

    L'ABG pour les civilisés


Posté 30 janvier 2009 - 17:46

Je reviens sur ce topic car je viens juste de faire une découverte intéressante :  :shocked:
La commande TPG qui permet d'afficher les pathgrids "in-game"

Image IPB

(Ici on voit aussi l'affichage de sortie de la commande ToggleDebugText qu'il faudra que j'apprenne à interpréter, merci Elendell pour ton assistant "en ligne"  :yahoo:

Intéressant pour déboguer...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#21 Ona

Ona

Posté 30 janvier 2009 - 19:06

Excellente cette commande !

Pour ma part elle me servira à regarder un peu partout afin de me servir d'exemple.

Merci à toi abg !



#22 elendell

elendell

    Mécano Dell'Arte


Posté 29 septembre 2009 - 19:49

D'autres informations importantes concernant les "Pathgrids" peuvent également être trouvées dans divers sujets du forum.
Notamment <ICI> et <LÀ>, ainsi que dans le Wiwiki.

#23 Vardac Reborn

Vardac Reborn

Posté 30 septembre 2009 - 11:47

Voir le messageabg, le 30.01.2009 à 18:45, dit :

Je reviens sur ce topic car je viens juste de faire une découverte intéressante :  sleeping.gif
La commande TPG qui permet d'afficher les pathgrids "in-game"

Extrêmement utile Abg !! ça va me permettre de vérifier un tas de chose dont je n'étais pas sûr, je sais pas comment t'a trouvé cette commande, mais bravo. maintenant je vais allais faire deux trois teste et si sa fonctionne comme je l'espère je viendrais vous faire un petit rapport.

#24 elendell

elendell

    Mécano Dell'Arte


Posté 30 septembre 2009 - 14:48

Voir le messageVardac Reborn, le 30.09.2009 à 12:46, dit :

...je sais pas comment t'a trouvé cette commande...
La liste des commandes utilisables en mode console est dans plusieurs endroits, notamment dans le MSfD8 (page 183).




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)