Intelligence Artificielle de Combat : un nouveau système

Répondre
Partager Rechercher
Ouarf. J'aurai jamais imaginé que quelqu'un fasse une telle doc.

En gros, la version fournie au public n'a jamais beaucoup évoluée hormis 2 points :

- Script de fuite : meilleure gestion pour ne pas rester bloqué dans les coins
- Division par zéro : Il y en avait une dans le calcul du coefficient HpCurrent / HpTotal ( de tête )

Donc je dirai que c'est pas la version "finale" sur le Vault mais que la doc est valable.
Mmmm... Je crois que maintenant que j'utilise git, je vais mettre le projet sur github, de sorte que corriger / mettre à jour soit plus simple.

J'intègrerai la doc en PDF à l'intérieur ( sous réserve que je reçoive une interdiction formelle de ses auteurs ).

Tu peux déjà récupérer le système sur le vault et je mettrai ici le lien pour le téléchargement de la version corrigée.
Deux choses :

1. Il manque la doc en PDF, pas essentiel mais c'est pratique

2. Il manque le plugin nwnx de GF

J'ajoute ça dans le repository ce soir.

Si tu n'utilises pas GIT, tu peux aussi récupérer le plugin nwnx : il est intégré dans le download du Vault.
Juste un petit "up" pour dire qu'une fois de plus nous utiliserons ce script bien sympa qui permet, une fois bien paramétré, de rendre les combats nettement plus intéressants qu'avec l'AI de base.

A l'époque j'avais écrit un tutoriel pour que l'équipe de Thelasia puisse prendre la relève. Je pense le remettre au propre à l'occasion et le faire partager. Ca peut toujours être utile à la communauté .

Dernière modification par Charlouloute ; 08/05/2012 à 22h54.
Celui-là même ! Après c'est du détail, je dois encore tester quelques petites choses avant de proposer un meilleur tutoriel . Pour le moment je me suis contentée de suivre mes propres conseils puisque j'avais tout oublié .
Premiers retours du système, on est encore loin d'être au point de ce côté là.

Les WP de spawn : si on en met pas assez, on a très vite des énorme paquets de mobs sur un WP. On va bien sûr devoir augmenter le nombre de WP (malheur ! refaire toutes les variables :'() mais une limite de nombre maxi de mob par WP ne serait pas malvenue.

Le nombre de mobs par zone : On a beau, avec les variables, arriver à un maximum de 15 mobs sur une zone, il arrive que l'entrée d'un PJ en fasse spawner plus (comme 20 ou 30). Le problème se pose aussi si je met un trigger niveau 0 à 5 et un autre 6 à 8 par exemple : un PJ 5 et un PJ 8 entre dans la zone : spawn double. Il faudrait peut-être faire un système de priorité (ou tirage aléatoire du quel trigger va s'activer le premier) couplé à une limite de mob max par zone (en variable sur la zone peut-être ?).

Le spawn n'importe où : Alors là c'est un grand mystère. Parfois, les mobs spawn là où je suis strictement sure de n'avoir aucun WP (exemple typique : à côté de la transition). Est-ce lié aux "trajectoires" tracées par les WP (que j'appelle typiquement WP_equipe1_1, WP_equipe1_2, etc) ? Je ne dis pas qu'ils se déplacent de WP en WP mais bien qu'ils spawn à ces endroits. Malgré l'aspect aléatoire, ils ne spawn quand même pas n'importe où, c'est point fictifs semblent réguliers.

Le système d'équipe : Pour ce coup-ci c'est un peu ma faute, j'avais oublié la solidarité extrême entre les membres d'une équipe. Si l'un se fait attaquer, tout le reste réplique. Une catastrophe x). Je le mettrai dans ma nouvelle version du tutoriel .
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
Esprit d'équipe : Haha mais justement, c'est bien l'idée : rien qui ne m'énerve plus que les mobs qui sont côte à côte mais qui ne communiquent pas entre eux. Avec le résultat : tu fais un petit pas et un seul t'attaque, te permettant de les prendre un par un. bref Avec mon système, il est même possible de relier plusieurs spawns de mobs entre eux, de sorte que quand tu en courses un et que tu déclenches le spawn suivant, les renforts arrivent

La quantité de spawn : alors là, ça dépend notamment du Challenge Rating. Faudrait que je regarde de nouveau pour t'en dire plus.

Spawn n'importe où : curieux, mais rien d'impossible. T'es sûre que c'est pas des mobs du spawn précédent ?

WP de spawn : ah oui, c'est possible.

Un défaut qu'on m'a rapporté c'est que les mobs ne se "nettoient" pas tout seuls après que le dernier PJ ait quitté la map. C'est intentionnel de ma part.

Un autre défaut, c'est que ça peut respawner bien que le spawn précédent ne soit pas "nettoyé" et du coup en plein milieu d'un combat tu as un renfort... inopiné.
Pour l'équipe on est bien d'accord, c'est moi le boulet le script est très bien comme il est. Faut juste le reparamétrer de mon côté.

Pour le nettoyage de zone, on a mis notre script à nous c'est pas un problème. Si le délais du trigger est supérieur au délais avant le nettoyage, ça empêche de re-spawn du mob par dessus dans la plupart des cas. Toutefois c'est bien dans ton script qu'on va devoir ajouter une conditionnelle avec le maximum de mob par zone et éventuellement par WP.

Les spawns n'importe où : sure. J'étais en DM et j'ai vu des mobs spawner sous mes yeux n'importe où (activé par un PJ entrant dans la zone). Aucun doute là-dessus. Une idée de la source ?
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
J'ai peut-être une idée pour les spawn n'importe où : en fait ce n'est pas n'importe où. Il arrive que les mobs spawnent sur le déclencheur au lieu de spawner sur un WP.

Pourtant :
- les variables sont justes
- les WP existent bien tous

Par contre, il semblerait que j'ai oublié le WP de fuite (juste le poser) sur les zones où j'ai ce bug (je dois vérifier si c'est le cas pour toutes les zones). Je rajoute ce point déjà, nous verrons si c'est le problème.

Qu'en penses-tu de ton côté pour le moment ? C'est possible que cela pose le problème de spawn sur les déclencheurs ?
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
Mmm, c'est pas impossible mais dans ce cas je pense que les waypoints de spawn ne sont pas trouvés et que le défaut est le déclencheur. C'est le genre de raisonnement dont je suis assez capable, ça

Donc je dirai que si c'est le cas, ce sont les waypoints de spawn qui sont mal configurés dans les variables.
Je re-vérifierai pour la prochaine MAJ mais je commence à être pratiquement sure de moi dans le sens où j'ai déjà vérifié un paquet de fois. Y'a peut-être un aspect que je vérifie mal... va falloir que je me creuse !
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
J'ai constaté une fois (juste une ligne rapide dans le log, et j'ai pas pensé à prendre un screen - mais je dois toujours avoir le log) que j'avais tué le contrôleur avec un sort de zone. Est ce que ça arrive fréquemment ? Et est ce que ça peut avoir une influence sur le comportement des mobs ?
Ah oui ! On avait déjà eu ça et il m'a semblé avoir lu que d'autres joueurs l'ont fait. Le soucis c'est que j'ai peur que si on le met en intrigue, le script n'arrive pas à le supprimer ensuite :s.

Au pire on peut lui mettre max de PV, max de résistances/immunités j'imagine...

Edit : Après test, ce n'est pas le point de fuite qui pose problème en effet. Reste à trouver pourquoi il ne trouve pas son WP.
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com

Dernière modification par Charlouloute ; 01/06/2012 à 20h29.
Ah oui le coup du controleur destructible. Il faut le mettre en plot. Et par sécurité quand il est détruit il y a un flag pour bien valider que tu veux détruire même s'il est invincible / plot.
Aujourd'hui nous avons eu un bug très étrange signalé ici : http://fanelya.fr/viewtopic.php?f=73&t=611&p=5058#p5058. J'ai déjà pu voir que parfois les mobs étaient en "follow" sur les pj et les suivaient sur une transition puis sur la même en sens inverse. Je ne sais pas si c'est lié à une map précise ou si c'est général.

Est-ce que ça t'inspire quelque chose ?
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
Salut,

J'ai un (tout) petit peu trainé :P. En fait certains mobs passent parfois les transitions mais pas tous. Je te mets la citation. Ici, le mob a carrément suivi après la mort du PJ et son respawn ^^.

Citation :
Nom de la zone où se situe le problème : Temple de Tyr
Screen de la localisation du point de bug :

http://img443.imageshack.us/img443/1241/elementairetempletyr.th.jpg

Date et Heure du bug : 8 juin 2012, vers 23 heures

Description du problème : Quand Gérault est mort après avoir dû refaire tout le trajet depuis la plage (même problème au reboot que celui signalé deux messages au-dessus), il n'est pas réapparu tout seul au temple de Tyr, un élémentaire l'a 'courtoisement' accompagné pour tenter de l'achever.

Idée à propos de la source : Aucune idée, le monstre en question n'avait pas été tué en tous les cas. Ça ne m'est arrivé qu'une fois, mais je préfère le signaler tout de même.
Sinon j'avance et je progresse dans ma compréhension de ton script grâce à notre codeur . Du coup je suis en train d'ajuster mes mobs pour voir si ça va mieux.

J'ai aussi pu vérifier la théorie du soucis de WP qu'il ne trouvait pas. Le soucis est que sur l'une des zones où ça spawne sur le trigger (pas systématiquement), tous les WP sont là, bien nommés et bien référencés. Je suis donc un peu bloquée pour cette piste.

Ensuite, on a fait une modification : le délais s'écrit en seconde IRL et non plus en heure IG. Pour nous qui avions un temps divisé par trois, le minimum de 1 était encore trop grand. Quand on pose ses mobs en pensant au gameplay aussi c'est assez pratique (c'est plus facile de se dire qu'en gros toutes les 15 minutes ça va spawner que calculer en temps IG et le convertir ^^).

Enfin, le codeur a peut-être trouvé pourquoi le minimum et le maximum qu'on stipule pour chaque mob ne sont pas pris en compte. En gros je pouvais mettre mini : 0 et maxi : 1, le script pouvait me spawner 15 mobs s'il en avait besoin pour équivaloir le FP je suppose. On va voir ce qu'on peut faire de ce côté-là.
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com
Le problème ne s'est apparemment pas reproduit.

Petite question : Est-ce que l'ordre des variables sur le trigger a une influence ? Je pense avoir changé l'ordre pour 3 d'entre elles.

Je suis toujours à la recherche de ce qui fait spawner sur le trigger au lieu de spawner sur les points. Ce sera surement l'un des grands défis de la beta qui approche .

Edit : Autre question : Quand je veux placer un mob type guerrier pour qu'il tape (sans buffer, sans soigner, sans fonctionner par pair ni être un mob unique, un boss ou un bras droit) : quel valeur numérique j'utilise ? Ça correspondrait au "2" mais il n'est pas utilisé .

Rappel :
Citation :
Flag : b16 : valeur en décimal (celle à mettre dans la variable)

Sauvage : 1 : 1

Agressif : 2 : 2 (non utilisé)

Furtif : 4 : 4

Recherche : 8 : 8 (non utilisé)

Boss : 10 : 16

Bras droit : 20 : 32

Unique : 40 : 64

Paire : 80 : 128

Archer : 100 : 256

Buffer : 200 : 512

Lanceur de sorts : 400 : 1024

Soigneur : 800 : 2048

Couard : 1000 : 4096

Eclaireur : 2000 : 8192
__________________
http://image.noelshack.com/fichiers/2012/46/1353252187-foret-bleue.png
La seconde version est arrivée : http://fanelya.fr !
IP : fanelya.no-ip.org

Liste de tous les serveurs : http://nwnlist.com

Dernière modification par Charlouloute ; 08/11/2012 à 11h40.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés