Aller au contenu


Ai Dynamique


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

#1 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 16 avril 2009 - 15:31

Bonjour a tous.

Ça ne vous est jamais arrivé de trouver que vos ennemis étaient ... nuls ( passé un certain niveau, comprenons-nous :jester: ) ? Créatures et NPC aux AI de Crevettes ne seront plus aussi faciles a abattre qu'avant; Le but de ce mod est d'attribuer un script d'AI dynamique au NPCs et Créatures de Vvardenfel. Ils pourront ainsi "réfléchir" a la manière d'un joueur : Plus beaucoup de vie ? hop une potion de santé. J'ai des potions de mana et de soins ? autant utiliser ce sort de guerison, je pourrais toujours recharger ma magie grâce a mes potions. mon adversaire a l'avantage sur moi ? j'utilise sur lui un parchemin de fardeau et prends mes jambes a mon cou ! ( sauf si mon orgueil et moi ça fait deux... )

Ainsi la plupart des acteurs pourront de nouveau avoir leur "vraie" propre intelligence ( pas ce menu merdique indiquant si un acteur est innofensif, alarmé, s'il vend des potions, etc, etc... )

pour le moment, je m'attaque aux PNJs, de façon a ce qu'ils réagissent en cas de perte de santé, magie, fatigue, etc... et j'appronfondirai le reste quand ce sera terminé; je m'attaquerai aux créatures quand j'aurai fini les PNJs :ph34r:

a bientôt.

Modifié par Snaïpe, 17 avril 2009 - 14:21.


#2 Havelock

Havelock

    Des fleurs, du rose, un peu de poésie, bordel !


Posté 17 avril 2009 - 11:57

Je ne peux que t'encourager pour ton travail^^

L'IA est vraiment calamiteuse, donc elle ne peut que s'améliorer, même si ça peut être compliqué. Difficile d'empêcher les PNJs de cavaler en tout sens comme de dératés à la moindre broutille :P

Mais s'ils deviennent un peu moins suicidaires et se servent mieux de leurs ressources, ça serait déjà cool.

Il me semble que certains mods touchent à l'IA (Nova Magicka?), même si je n'en suis pas certain. Il ne risque pas d'y avoir trop d'incompatibilités si c'est le cas ?
Il se remit à me jauger du regard;quelque chose en moi chercha des mots à revêtir et ne les trouvant pas, s'enfuit nu dans la nuit. Roger Zelazny.
"Je pense que Mirror's Edge sera extra, mais ils me montrent trop de parkour, je veux voir du gameplay au flingue. J'espère qu'il ne faut pas se contenter de courir et de sauter", Cliff Bleszinki

#3 Kafou

Kafou

    Le canari a bouffé le rominet !


Posté 17 avril 2009 - 12:00

Si j'ai bien compris ce que veut faire Snaïpe, il souhaite rajouter un script à chaque acteur du jeu, ce qui signifie les modifier (on ne peut pas modifier l'IA "de base" du jeu, seulement utiliser des scripts pour la remplacer à sa sauce). Donc niveau incompatibilité, ce n'est pas qu'une histoire d'IA mais de tous les mods qui modifient les créatures ou personnages de Morrowind. Ceci dit, je pense que ça vaut le coup.
You look like you need a monkey!

Attention : perfectionniste paresseux.

#4 Kira

Kira

    Top-modeleuse...


Posté 17 avril 2009 - 13:13

Bonjour...

Je trouve l'idée fort intéressante, mais ne serait-il pas plus simple et moins dangereux de créer en premier lieu une version de rodage qui ajouterait des bandits améliorés aux détours des chemins, des cultistes agressifs dans les temples, et autres mauvaises rencontres, mais à partir de pnj originaux?...
Si le système est probant, tu pourrais ensuite l'inclure dans le jeu en l'étendant à tous les personnages et en lui donnant un statut d'esm....
Tout n'est qu'illusion... Surtout le fait de le penser.....
Image IPB
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)

#5 abg

abg

    L'ABG pour les civilisés


Posté 17 avril 2009 - 14:01

Bonjour,

C'est à croire que certaines idées se propagent par télépathie ou sont dans "l'air du temps" car je travaille moi aussi sur un concept semblable dans le cadre de Morrowind Renaissance  :)
Les pistes sont nombreuses, les écueils aussi...
Nova Magicka renforce déjà un peu l'IA, ne serait-ce qu'en augmentant la magicka des jeteurs de sort (diminution du syndrome du mage qui se jette sur le PJ en agitant sa petite dague) ou encore à travers l'héritage de Wakim's Game Improvment (les GMST de fuite)
- Un énorme chantier est l'édition des pathgrids. En extérieur Bethesda n'en a mis pratiquement qu'en ville. En les généralisant (ce qu'à fait Oblivion) on élimine ou réduit d'un coup pleins de problèmes (les "fuyards timides", les imbéciles qui se bloquent derrière le premier rocher venu...)
- Une utilisation avisée des voices : comme tout dialogue elles acceptent le passage de scripts en result, c'est donc le moment approprié pour lancer des scripts ciblés (un assassin qui attaque en mode sneak, un fuyard qui se téléporte...)
- Une révision des listes de sorts des PNJs : l'IA utilise mieux certains effets magiques que d'autres (ne jamais donner Dissipation à un invocateur par exemple). Les pnjs se soignent très bien durant un combat sans qu'il soit utile de scripter, encore faut-il qu'ils en aient les moyens (potions, sorts...)
- L'octroi de scripts locaux à certains PNJs pour leur donner une tactique "pré-cablée". Je ne pense pas pour ma part en mettre partout mais surtout à certains adversaires qui méritent un peu mieux que la balourdise de l'IA de base (Dagoth et sa fameuse chute dans la lave par exemple)
- L'usage avancé des packages IA (multi-packages qui permettent d'établir des liens de solidarité entre PNJs par exemple)
- La révision raisonnée des paramètres IA (fight, flee, alarm...) permet d'introduire des subtilités intéressantes
- L'usage de la classe "guard" qui rend un PNJ attentif aux créatures hostiles

Si tu t'amuses à chercher mes messages des derniers mois, j'ai posté pas mal de pavés sur ce sujet. Je manque de temps maintenant mais j'en ferais la liste...
J'ai aussi bombardé le forum des Moddeurs Déglingués avec des pavés sur ce thème mais c'est un forum privé :P C'est pour reporter ces infos dans un endroit plus accessible que je me suis créé un compte wiwiki mais il faut patienter car les journées ne font hélas que 24H  ;)
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#6 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 17 avril 2009 - 14:18

je ne pensais pas mettre dans un premier temps des scripts a tous les PNJs, mais remplacer les scripts de ceux qu'on croise le plus souvent ( les gardes, les citoyens et les contrebandiers ); c'est un début, et sûrement la version la plus compatible avec les autre plugins.

plus tard, je m'attaquerai aux créatures; je verrai peut-être pour leur ajouter des capacités propres a leurs classes :P

Modifié par Snaïpe, 17 avril 2009 - 14:19.


#7 alliop

alliop

    Renaissance de l'art magique.


Posté 05 mai 2009 - 12:52

Bonjour.

Il y a bien une manière de résoudre le problème d'incompatibilité, mais c'est un peu plus de boulot :

° Ne pas attacher de scripts aux PNJs, mais créer des globaux correspondants, en limitant leur quantité à la quantité maximale de PNJs dans une cell (déjà, trouver dans quelle cell il y a le plus de PNJs est un gros boulot en soi!) ; sous des ID, disons, AI_PNJ_A, _B, _C, etc

° Placer dans chaque cell un editormarker :
    * testant la présence de player dans la cell

    * commandant une liste de commandes " <PNJ_ID1> -> startscript, AI_PNJ_A ; <PNJ_ID2> -> startscript, AI_PNJ_B ; etc.... , éventuellement sous des conditions "GetDistance, player", ou combat..."
Plusieurs soluces pour les "stopscript", et risques de bugs (globaux lancés ainsi et tournant encore après un delete de l'objet qui les a startés -cas possible si "supprimer cadavre"- ==> ctd), à bien paramétrer et bien tester.

L'idéal pour scripter ce genre de truc sans trop de lourdeur est il me semble d'utiliser MWSE et sa fonction de test des références.
L'avantage sous cette fonction MWSE est que même des PNJs ajoutés par des mods pourront être pris en compte (si je ne dis pas une bêtise quand à MWSE, qu'en fait je ne connais que par son readme -pour le moment-).

********

Edith frappe encore :
Outre le fonction de test de listes, l'autre avantage qui je pense rend MWSE incontournable pour cette soluce est sa facilité de tests de combat (pas besoin de tester chaque arme ni chaque PNJ, cette fonction est directe comme dans leCS3 et peut être associée à la liste des références testées).
==> besoin d'assez peu de scripts (je ne pense pas que plus d'une demi-douzaine de PNJs/créa soient susceptibles d'être en combat en même temps avec Player, et même s'il y en a davantage alors il n'est pas très fondamental que tous aient une IA performante ; faut décider du nombre limite, mais le principe est là).

Modifié par alliop, 05 mai 2009 - 13:45.

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#8 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 06 mai 2009 - 16:18

bonnes idées, mais ça risque de faire des scripts extrêmement lourds...

quant au MWSE, je vais y jeter un coup d'oeil, pour cerner les eventuelles fonctions qui me seraient indispensables pour la suite ( j'aime pas trop ajouter des dépendances a des programmes tiers si c'est pas indispensable )

#9 alliop

alliop

    Renaissance de l'art magique.


Posté 08 mai 2009 - 00:27

Voir le messageSnaïpe, le 06.05.2009 à 17:17, dit :

bonnes idées, mais ça risque de faire des scripts extrêmement lourds...
Je dirais que ça dépend de leur construction.

Les scripts d'IA en eux même auront exactement le même poids en local qu'en globaux ciblés, c'est surtout ce poids là qui peut poser problème (et dont je pense que MWSE peut très considérablement l'alléger grâce à la fonction de détection directe de combat).

Le script de répartition en entrée de cell n'est qu'un test de listes qui peut passer comme une plume sur un tank s'il est réparti en deux ou trois frames. (La par contre je ne suis pas sûr que la fonction de test de références de MWSE, dont le principal avantage est la compatibilité tous-mods, soit plus légère qu'une série de tests de listes dédiés à chaque cell -Finraïl pourra peut être nous donner son avis sur ces considérations à propos de MSE s'il passe par là-)

*************** EDIT *************

Une discussion très similaire avec abg dans la cuisine de MR m'impose cette mise à jour : la procédure évoquée ne peut fonctionner correctement que sur des listes de PNJs ayant des ID individuelles (et dans ce cas ça elle ne sert à rien, des locaux sont une meilleure solution).... a moins que MWSE "sache" lister et traiter chaque référence clônée (gardes par ex) comme une ID (c'est probable, c'est ce que fait le CS3 et me semble être la base même d'utilité de cette fonction, mais je ne le sais pas fermement).

Modifié par alliop, 08 mai 2009 - 00:29.

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#10 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 08 mai 2009 - 14:12

hmm... bon.

après réflexion, je vais faire un script local pour les gardes, ordonnateurs et autres npc dont l'ID n'est pas unique ( ce sera la première bêta sortie du mod ), et puis je traiterai avec des scripts globaux pour ce qui est des NPCs uniques, ce qui devrait limiter les incompatibilités.

#11 Confridín

Confridín

    Daddy ! je VEUX un nouveau sous-nom!!!


Posté 09 mai 2009 - 22:07

Très bonne idée de mod.

Par contre, je crains que cela ne fonctionne pas si deux PNJs ayant le même ID se trouve dans la même cell, non ? Car je ne vois pas comment le script global pourrait faire la différence entre les deux...
Ancien modérateur de Wiwiland à la retraite.

Ancien créateur et fan du mod Morrowind Stargate.

Et depuis, je suis devenu consultant SEO sur SeoMix et game addict sur Play-Mod

#12 alliop

alliop

    Renaissance de l'art magique.


Posté 09 mai 2009 - 22:37

Hé, Confridin! Salut salut :D
Et à tous.

Citation

je ne vois pas comment le script global pourrait faire la différence entre les deux
C'est bien pour ça que Snaïpe compte attribuer des locaux aux PNJs non uniques, donc qui ont la même ID, c'est à dire les références clônées, comme les gardes (références clônées dont je pense d'autre part qu'elles sont différenciables par MWSE -qui permettrait donc d'utiliser un global aussi dans leur cas-).

Voilà voilà le résumé des chapitres précédents :D

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#13 Confridín

Confridín

    Daddy ! je VEUX un nouveau sous-nom!!!


Posté 09 mai 2009 - 22:44

Arf, j'avais lu trop vite.

Dans le genre des remarques à la con, l'Ai ne sera pas non plus incluse pour tous les PNJs ajouté par des mods, ou par les PNJs non uniques modifiés par d'autres mods... :D
Ancien modérateur de Wiwiland à la retraite.

Ancien créateur et fan du mod Morrowind Stargate.

Et depuis, je suis devenu consultant SEO sur SeoMix et game addict sur Play-Mod

#14 alliop

alliop

    Renaissance de l'art magique.


Posté 09 mai 2009 - 23:06

Oui. C'est l'un des premiers arguments que j'ai utilisés en faveur de globaux gérés par MWSE (euh... Snaïpe, je ne suis pas en train d'essayer de faire du forcing, hein!)

"Bienvenue à toi, lent homme lié, poussif tresseur des vitesses."
Alain Damasio


#15 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 10 mai 2009 - 11:36

Citation

Dans le genre des remarques à la con, l'Ai ne sera pas non plus incluse pour tous les PNJs ajouté par des mods, ou par les PNJs non uniques modifiés par d'autres mods... :P

dans ce cas, je vais essayer de m'attarder sur le MWSE :P

mais j'ai aussi prévu de faire un script Basique adaptable sur n'importe quel PNJ, que je laisserai a libre disposition a tous les moddeurs voulant reprendre le principe pour plus tard. L'adaptation a d'autre mods et donc plus qu'envisageable :)




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

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