Fameux Pathgrid
#1
Posté 26 janvier 2009 - 01:57
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
Posté 26 janvier 2009 - 09:02
Je ne pourrai malheureusement pas te faire un formulaire de deboguage (selon l'expression d'abg ) 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
Posté 26 janvier 2009 - 10:32
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
Posté 26 janvier 2009 - 11:16
Onauasoki, le 26.01.2009 à 10:31, dit :
Faut-il placer ce dernier sur un des marqueurs bleu ?
Not Quite Dead, le 22.06.2006 à 19:42, dit :
Fervent Partisan de l'Immuabilité Avatarienne.
#5
Posté 26 janvier 2009 - 11:35
Il peut exister plusieurs parcours ou bien un seul est possible ? (il s'agit d'une maison)
#6
Posté 26 janvier 2009 - 11:40
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.
Attention : perfectionniste paresseux.
#7
Posté 26 janvier 2009 - 11:44
Not Quite Dead, le 22.06.2006 à 19:42, dit :
Fervent Partisan de l'Immuabilité Avatarienne.
#8
Posté 26 janvier 2009 - 11:52
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...
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
Posté 26 janvier 2009 - 12:07
elendell, le 26.01.2009 à 09:01, dit :
C'était une boutade hein à 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
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
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...
Coaching de PNJs chez Morrowind Renaissance
#10
Posté 26 janvier 2009 - 12:35
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...
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 !
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
Posté 26 janvier 2009 - 12:56
Onauasoki, le 26.01.2009 à 12:34, dit :
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
Modifié par abg, 26 janvier 2009 - 12:57.
Coaching de PNJs chez Morrowind Renaissance
#12
Posté 26 janvier 2009 - 14:02
Après un premier test approfondis (ça dépend du temps réel d'un véritable test approfondis... ) 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... (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
Posté 26 janvier 2009 - 14:55
Onauasoki, le 26.01.2009 à 14:01, dit :
Tu parles d'intérieurs comme celui-ci ?
Je te souhaite bon courage car en effet ça va être coton 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
Modifié par abg, 26 janvier 2009 - 15:00.
Coaching de PNJs chez Morrowind Renaissance
#14
Posté 26 janvier 2009 - 15:04
Alors non je ne comptais faire de pathgrids pour le moment dans ce genre d'intérieur...
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
Posté 26 janvier 2009 - 17:34
Onauasoki, le 26.01.2009 à 15:03, dit :
Certainement plus simple pour tester en effet
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
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
******
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 :
http://img147.imageshack.us/img147/7035/pathgrid01ix1.jpg
(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 )
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.
Coaching de PNJs chez Morrowind Renaissance
#16
Posté 26 janvier 2009 - 18:26
Citation
Héhé documents top-secrets
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!
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.
Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.
#17
Posté 26 janvier 2009 - 21:26
En tout cas je réitère mes compliments abg, tes explications sont claires et très simple, cela me rappelle quelqu'un ...
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
Posté 26 janvier 2009 - 21:57
Onauasoki, le 26.01.2009 à 21:25, dit :
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...
Coaching de PNJs chez Morrowind Renaissance
#19
Posté 26 janvier 2009 - 22:09
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 !
#20
Posté 30 janvier 2009 - 17:46
La commande TPG qui permet d'afficher les pathgrids "in-game"
http://img207.imageshack.us/img207/2701/capture3zd4.th.jpg
(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"
Intéressant pour déboguer...
Coaching de PNJs chez Morrowind Renaissance
#21
Posté 30 janvier 2009 - 19:06
Pour ma part elle me servira à regarder un peu partout afin de me servir d'exemple.
Merci à toi abg !
#23
Posté 30 septembre 2009 - 11:47
abg, le 30.01.2009 à 18:45, dit :
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.
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)