Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=4cdd4b8fba9a1cf34e206841a9100d27Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Du speedrunning aux tréfonds de war3.mpq

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Warcraft III
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 09/08/13 19:39    Sujet du message: Du speedrunning aux tréfonds de war3.mpq Citer

Salut tout le monde ! ( s'il en reste encore un peu après toutes ces années ^^ )

Cela fait une éternité que je ne suis pas passé sur ce forum mais si je me suis remis à warcraft 3 c'est après avoir vu des vidéos de speedrunning de la campagne TFT ( terminée ) et ROC ( en cours ) qu'on trouve ICI et que je vous conseille fortement de regarder au passage ( du skill / des bugs / des abus d'IA et des strats de tarés par paquet de douze =D )
Le speedrunner en question en est à la mission 6 des undead et on est quelques un à plancher sur de nouvelles strats en prévision des futures missions. Et justement je me casse la tête sur la dernière mission undead où il faut normalement défendre Kel Thuzad 30 minutes mais qu'il est possible de raccourcir en détruisant les 3 bases humaines qui nous assaillent.

Mon problème, c'est le comportement de la première vague de griffons qui me semble complètement aléatoire.

Je m'explique : au moment où les griffons partent de la base au nord je possède une seconde nécropole située entre les deux bases humaines de droite et entourée de 4 abattoirs en construction.
95% du temps les griffons se dirigent en ligne droite vers cette seconde nécropole, attaquant toute unité sous mon contrôle rencontrée sur leur passage, détruisent la nécropole et repartent dans leur base.
Les 5% restants, et c'est évidement ceux la qui m'intéressent ( ._. ), les griffons repartent directement dans leur base après avoir détruit (ou bien que j'ai cancel) deux abattoirs voire même un seul. Il arrive même qu'ils se dirigent vers Kel Thuzad, détruisent le ziggurat nord, et repartent tranquilou à la maison.

En épluchant le .ai de la mission on trouve que la vague de griffon obéit à la fonction SuicideOnPlayer. Or je ne comprend pas du tout comment celle dernière fonctionne réellement, même en regardant le fichier common.ai, car y'a pas mal d'appels à des sous fonctions et que ces dernières reposent sur des fonctions natives qui ne sont pas explicites ( mais ça je pense que vous le savez mieux que moi ! pour les plus courageux on trouve ICI le copier coller du common.ai où se trouve les déclarations des différentes fonctions et le listing des fonction natives ).

Bref si quelqu'un a quelques indices sur le fonctionnement du machin ou bien tout simplement a une idée pour forcer les griffons à retourner au bercail rapidos, je suis preneur ! Je précise que canceler cette attaque permet d'une part de ne pas perdre de temps à la détruire et d'autre part de delayer la vague suivante d'environ 3 minutes donc c'est du tout bon !
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 09/08/13 22:18    Sujet du message: Citer

Hum hum hum, sacré colle ^^

À priori, c'est le comportement de la native "SuicidePlayer" qui diffère, puisque les autres fonctions sont là pour préparer les groupes d'attaque. Mais c'est aussi possible que les 5% arrivent lorsque le 2nd argument de "SuicidePlayer" est "false", c-à-d lorsque "sleep_seconds < -60" c-à-d lorsque le groupe d'attaque n'a pas pu se former après 60 secondes (il manque des unités ou elles ont moins de 50% de leur vie).
Mais le plus probable, selon moi, c'est que c'est un comportement codé en dur dans "SuicidePlayer"... Au feeling, je dirais que l'IA considère tes abattoirs/ton ziggurat comme une base (secondaire) à part entière. M'enfin l'IA, je connais vraiment pas bien.

Bonne chance pour votre speedrun.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 10/08/13 16:21    Sujet du message: Citer

Héhéhé merci pour ce premier élément de réponse =)
Faudrait donc disséquer cette fonction native SuicidePlayer ... mais est-ce seulement possible !?

Au feeling comme tu dis, je pense que l'IA choisit un et un seul bâtiment cible et ordonne à toute la troupe d'avancer/attaquer sur ce dernier.

En fait y'a deux choses que j'arrive pas trop à discerner, ce sont d'une part la cible et d'autre part le chemin suivit.
Si pour l'option ziggurat solitaire, je me fiche du chemin suivi, pour toutes les autres options de l'avant poste, y'a en gros 3 chemins possibles pour 4/5 cibles et je ne vois particulièrement de relation entre la cible et le chemin suivi.

Pour que ce soit plus clair (on peut rêver) voila un p'tit screen :
Secret:


Sur la minimap : en jaune la ziggurat, en noir le point de départ des griffons
Sur l'écran :
flèches rouges => trajet possible des griffons
pastille verte => bâtiment dont le cancel en premier peut entraîner un cancel de l'attaque
pastille bleu => bâtiments qui quand détruits tous les deux en premier peuvent entraîner un cancel de l'attaque


Tirlititi a écrit:
lorsque le groupe d'attaque n'a pas pu se former après 60 secondes (il manque des unités ou elles ont moins de 50% de leur vie).
Dans ce cas précis le % de point de vie ne peut rentrer en compte vu que les griffons ne subissent pas de dégats et donc si par "il manque des unités" tu veux dire qu'elles sont mortes alors ça ne peut pas être ça non plus =(

En fait dans l'ordre des options "acceptables" pour le speedrun :
ziggurat > une des deux pastilles vertes > pastille bleue
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 10/08/13 17:47    Sujet du message: Citer

Il peut également manquer des unités si l'ordi n'a pas pu les entraîner. Ça peut être un manque de ressource (nourriture comprise) ou le fait que les tours de griffons sont occupées à autre chose.

Si c'est un bâtiment (ou une unité) aléatoire qui est attaqué-avancé, tu peux regarder si les chances de retour augmentent lorsque tu as moins de bâtiment, non?

Sinon, disséquer la native, je sais pas comment faire (à part aller regarder dans la .dll...), mais Ayane connaît peut-être un moyen.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 10/08/13 18:21    Sujet du message: Citer

Hmmm ... je pense que j'ai mal du expliquer la situation.

Les griffons cancelent toujours leur attaque une fois la cible détruite. Ce qui m'importe c'est de choisir cette cible, qui semble pour l'instant aléatoire entre les différents bâtiments dont j'ai parlé plus haut.
Et ce bâtiment semble être à 95% du temps la seconde nécropole alors que je préférerait un des abattoirs ou bien la ziggurate.

En delayant le début de la construction des abattoirs (en gros 10/15 secondes) on tombe effectivement sur du 1/3 ziggurate - 2/3 nécropole mais ... hé ... c'est un speedrun donc faut gratter absolument toutes les secondes possibles Razz
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 10/08/13 22:01    Sujet du message: Citer

Ben écoute, il y a un champs dans l'éditeur d'objet, "Priorité", et je n'ai jamais su qu'est-c'qu'il faisait : je suppose que ça a un rapport... La nécro est à 8, le ziggurat à 2 et l'abattoir à 5 (l'autel est aussi à 5, d'ailleurs).
Ça n'aurait rien de surprenant que ce soit aléatoire... Blizzard ne s'est sans doute pas gêné à mettre des comportements aléatoires là où c'était possible pour rendre les parties mêlées moins prévisibles.

Mais bon, avec tout le boulot que tu as dû faire jusque là, tu dois avoir une meilleure opinion que moi sur cette question.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 11/08/13 14:16    Sujet du message: Citer

Le niveau de priorité sert en effet à déterminer les cibles prioritaires.
L'IA choisis en premier lieu la cible, si je ne me trompe pas on peut dans l'éditeur d'IA choisir l'ordre et les chances pour la cible d'une attaque (principalement base principale ou base secondaire). Lorsque le temps de préparation, le temps pour rentrer en combat, ou lorsque que le groupe d'attaque sort de combat alors la fonction de choix d'attaque est à priori de nouveau appelée.
Lorsque le groupe d'attaque rencontre une unité alors elles l'attaquent, si elles en rencontrent plusieurs proches alors elles attaquent celle qui a la priorité la plus élevée. Normalement l'IA devrait tout attaquer jusqu'à avoir tout rasé, mais on rencontre en effet souvent un bogue où elle décide d'arrêté l'attaque, c'est tout simplement parce que une fois le bâtiment détruit elles se sont retrouvées hors combat et vu que cela faisait plus de cinq minutes, il y a des chances que le groupe retourne à la base.
Si tu construit pleins de bâtiments, pas cher et solides (par exemple les maisons des humains) alors on a de grandes chances d'y arriver.
Lui donner des cibles plus prioritaires fonctionne également, lorsque tu attaque l'IA, lorsque cela rappellera la fonction du choix de la cible alors il y a des chances qu'il rappel son groupe d'attaque à la base.
On peut aussi lui donner plein de chair à canon pour le faire balader.
L'espacement et le positionnement des bâtiments (par priorité) joue aussi.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 11/08/13 15:20    Sujet du message: Citer

Ayane a écrit:
Le niveau de priorité sert en effet à déterminer les cibles prioritaires.
L'IA choisis en premier lieu la cible, si je ne me trompe pas on peut dans l'éditeur d'IA choisir l'ordre et les chances pour la cible d'une attaque (principalement base principale ou base secondaire).

Je viens de jeter un coup d’œil à l'éditeur d'IA, y'a effectivement une histoire de priorité de cibles et de conditions qui devraient permettre d’insérer des probas dans le comportement. Cependant je ne vois absolument rien dans le u08_blue.ai qui pourrait y faire référence, mais peut être que je cherche au mauvais endroit.

Citation:
Normalement l'IA devrait tout attaquer jusqu'à avoir tout rasé, mais on rencontre en effet souvent un bogue où elle décide d'arrêté l'attaque, c'est tout simplement parce que une fois le bâtiment détruit elles se sont retrouvées hors combat et vu que cela faisait plus de cinq minutes, il y a des chances que le groupe retourne à la base.

Je ne comprend pas le coup des 5 minutes. Dans mon cas les griffons partent à 27:00 IGT, choisissent une cible comme je l'ai suggéré plus haut, et à partir de la, à partir du moment où leur cible est détruite ils rentrent à la maison ( ce qui peut être fait en 2 secondes si c'est un abattoir en cancellant sa construction et dans le pire des cas niveau durée la destruction de la ziggurat/necro c'est pas apres 25:00 IGT, donc après 2mn )

Citation:
Si tu construit pleins de bâtiments, pas cher et solides (par exemple les maisons des humains) alors on a de grandes chances d'y arriver.
L'espacement et le positionnement des bâtiments (par priorité) joue aussi.

C'est une idée intéressante. J'ai à priori les ressources pour lancer pas mal de bâtiments, et au final en les cancellant ça ne devrait pas me coûter trop cher. Mais dans ce cas la il me faudrait les formules pour savoir à partir de combien de bâtiments / quelle disposition ça devient vraiment intéressant.

Citation:
Lui donner des cibles plus prioritaires fonctionne également, lorsque tu attaque l'IA, lorsque cela rappellera la fonction du choix de la cible alors il y a des chances qu'il rappel son groupe d'attaque à la base.
On peut aussi lui donner plein de chair à canon pour le faire balader.

Je m'en sers déjà pour une strat bis moins random ( et plus lente ) mais uniquement pour attirer l'attention des griffons et les diriger vers la seconde necropole. Mais même en attaquant la base des griffons avec toute mon armée ( ce qui de toute façon est infaisable ), les griffons s'en foutent royalement. Bizarrement avec les vagues d'attaques de l'autre base, en les attaquant à la source les vagues rentrent effectivement pour la protéger.
Quant à la chair à canon ... j'ai que des acolytes sous la main alors ca va être coton Very Happy

Secret:


_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 20/08/13 20:01    Sujet du message: Citer

Je me permet de faire un petit double post avec cette vidéo des 5 premières minutes de la stratégie actuelle.

http://www.youtube.com/watch?v=LCLI8foo35s

On voit qu'il faut attendre 27:00 IGT afin de pouvoir construire les abattoirs alors que cela pourrait se faire un peu plus tôt.

Personne ne connaîtrait donc les formules de calcul de probabilités de la cible prioritaire ? ( On sait pour l'instant que le nombre, l'espacement, le type et la distance à l'origine de l'attaque influencent, mais dans quelles proportions ? )

C'est vrai qu'au final il n'y a qu'une dizaine de secondes à gagner mais il reste toujours le problème de l'aléatoire ( ~30% favorables actuellement ) et rien ne dit que cette donnée ne serve pas pour les missions suivantes !

PS : l'intégration des vidéos youtube est désactivée ou bien c'est moi qui ait du mal ? Very Happy
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 20/08/13 20:22    Sujet du message: Citer

Y'a pas d'intégration Youtube, le fofo est plutôt vieux ^^
Ça ne peut pas servir pour les missions suivantes ; les seules données qui sont passées d'une mission à l'autre, ce sont celles qui sont stockées dans un gamecache et elles sont limitées (les données des héros, la difficulté réussie et je vois même rien d'autre, de mémoire). Toutes les données sont rechargées lors du chargement d'une map. À la limite, l'état du système RNG peut être passé d'une mission à l'autre, mais il est utilisé tellement intensivement dans W3 que c'est pas la peine de s'en soucier.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 yultan
Ptit Nouveau


Inscrit le: 27 Aoû 2008
Messages: 17
Sujets: 3



MessagePosté le: 20/08/13 23:32    Sujet du message: Citer

Tirlititi a écrit:
Ça ne peut pas servir pour les missions suivantes ; les seules données qui sont passées d'une mission à l'autre, ce sont celles qui sont stockées dans un gamecache et elles sont limitées (les données des héros, la difficulté réussie et je vois même rien d'autre, de mémoire). Toutes les données sont rechargées lors du chargement d'une map. À la limite, l'état du système RNG peut être passé d'une mission à l'autre, mais il est utilisé tellement intensivement dans W3 que c'est pas la peine de s'en soucier.

Je ne comprend pas ... les "formules de calcul de probabilités de la cible prioritaire" sont indépendantes de la mission. Donc leur connaissance peut à priori être utile dans n'importe quelle mission où il faut manipuler une vague d'attaque. Après évidement, les arguments de ces formules dépendent de la mission, mais bon ... c'est justement sur ceux la que l'on peut agir !

Et c'est quoi le système RNG ? Very Happy
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 21/08/13 01:14    Sujet du message: Citer

Ah...
Alors déjà, RNG, c'est Random Number Generator, le système qui te pond un nombre pseudo-aléatoire à chaque fois que le jeu en a besoin. Désolé, je pensais que c'était un terme courant dans les speedruns ^^'

Et je t'ai mal compris. Oui, la formule serait sans doute bien utile. Je pensais que tu parlais de manipuler la cible prioritaire pour que ça ait une incidence sur la suite des évènements (non-triviale : genre si ils ciblent un petit bâtiment à un moment, y'a plus de chances qu'ils ciblent un gros plus tard ou dans une autre mission).
J'ai pensé à "donnée" comme l'inverse du mot "instruction".

Mais je pense que y'a moins de facteurs que ça qui rentrent en compte dans la formule brute :
- si y'a plus de bâtiments à un endroit, ça multiplie les chances que la cible soit à cet endroit,
- si la cible est loin, peut-être que les griffons re-définissent une cible après X secondes (ce qui expliquerait le chemin où ils viennent du sud-ouest)...

Je pense que la principale variable, si ce n'est la seule, c'est ce fameux niveau de priorité de l'éditeur d'objet.

Si tu as plus d'or que de bois, tu peux peut-être essayer de spamer des autels à la place d'abattoir? Comme ils ont la même priorité (et upgrader ta tour augmente sa priorité aussi).

J'ai vu ta vidéo, au fait... Ca c'est du skillz !
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Warcraft III Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com