Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 22/10/17 15:31 Sujet du message: à la recherche d'un desync.... |
|
|
Salut tout le monde. Je suis toujours sur Age of humanity mais il y a une désynchronisation systématique après qu'un joueur passe l'âge deux (ça desync quelques instants après qu'on entraîne une unité)
Pour résumer :
- 1) ça arrive en relation avec les morph d'unités. Il se peut que ça casse un peu le cache, juste assez pour déclencher ledit desync.
- 2) ça drop de un joueur à la moitié du lobby, et ce sans que je puisse trouver encore de raison exacte
- 3) ça arrive peu importe si c'est hosté sur mon pc ou sur un bot.
- 4) il n'y a pas de GetLocalplayer()
- 5) ça arrive peu importe si il y a 2 ou 12 joueurs.
- 6) ça ne vient pas des caméras
- 7) aucune parties en lignes ne sont épargnées
- 8 ) j'avait fait énormément d'optimisations, mais ça arrive quand même.
- 9) je n'utilise pas de widgitizers
- 10) ça arrive qu'une seule fois par partie. Je présume que le cache est de base un peu corrompu pour certaines personnes en particulier, ce qui explique que ça arrive qu'une seule fois.
- 11) je n'utilise pas de déformation de terrain.
- 12) ça ne viens pas du système de score.
ça fait depuis juillet que je suis sur ce &@%# de desync et j'ai presque épuisé toutes les possibilités ^^' Donc je me penche vers vous. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent"
Dernière édition par Ghost_of_past le 09/03/18 19:40; édité 1 fois |
|
Revenir en haut |
|
|
Wareditor The Master of Nothing
Inscrit le: 22 Déc 2008 Messages: 1638 Sujets: 88 Spécialité en worldedit: Effacer
|
Posté le: 07/11/17 23:06 Sujet du message: |
|
|
Tu devrais essayer :
1) tester sans triggers actifs
2.a) si ça desync pas : tester en activant les triggers un par un pour repérer le(s)quelle(s) cause(nt) le problème.
2.b) si ça desync : il y a un problème avec des objets. Dans ce cas je pense que c'est plus simple de rebuild la map en réimportant tout. _________________
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 09/03/18 19:40 Sujet du message: |
|
|
Topic updaté. Je perds les pédales avec ça, mais j'ai + d'informations à ce sujet. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
rgf Membre reconnu
Inscrit le: 09 Mar 2009 Messages: 1154 Sujets: 54 Spécialité en worldedit: Croâ ?
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 11/03/18 10:15 Sujet du message: |
|
|
Voilà. La toute dernière version toute fraîche. https://www.epicwar.com/maps/280393/ _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 21/06/18 14:56 Sujet du message: |
|
|
Ce problème me rends fou.
C'est aussi intuitif que la combustion spontanée. T'es persuadé que ça viens de quelque part mais absolument rien de scientifique l'explique.
C'est limite si je suis prêt à payer le gars qui réussi à me le démontrer explicitement avec des preuves textuelles de logs d'actions JASS. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Kaoss Membre reconnu
Inscrit le: 25 Fév 2014 Messages: 1175 Sujets: 167 Spécialité en worldedit: La simplicité
|
Posté le: 28/06/18 09:52 Sujet du message: |
|
|
"- 1) ça arrive en relation avec les morph d'unités. Il se peut que ça casse un peu le cache, juste assez pour déclencher ledit desync. "
Les morphs d'unités sont-ils vraiment obligatoires ? Aucune manière de faire comme un morph sans que ça en soit un ? (par exemple, tuer les unités en ayant stocké toutes leurs données et recréer les unités morphés par la technologie au même endroit, avec les données correspondantes ?). Si tu ne peux résoudre un problème, controune le.
Il me semble avoir eu un souci à un moment avec des morphs comme ça. Je voulais faire un appel aux armes, mais en remplaçant les péons par d'autres unités que des miliciens, mais ça faisait un fatal error. Je sais pas si c'est en lien avec ton problème ou pas. _________________
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 28/06/18 17:28 Sujet du message: |
|
|
Le problème c'est qu'on ne peut conserver l'ordre de l'unité. Le morph par Chaos a l'avantage de ne pas perturber l'unité dans ses ordres.
Si on le remplace par déclencheur, il va s'arrêter bêtement, ce qui est très problématique quand des ouvriers récoltent, construisent plusieurs bâtiments à la chaîne et quand une armée entière se déplace. _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Kaoss Membre reconnu
Inscrit le: 25 Fév 2014 Messages: 1175 Sujets: 167 Spécialité en worldedit: La simplicité
|
Posté le: 28/06/18 18:53 Sujet du message: |
|
|
Sinon, tu peux faire des upgrades pour les unités : tu les convertis en batiments, tu mets "améliorer en " l'unité suivante, tu reconvertis en unité. Bien sur, ça fait pas un vrai morph, mais au moins, ça permet au joueur de controler le switch et de pas arrêter toute une armée d'un coup, toute la r&colte d'un coup, etc, mais de le faire petit à petit quand il a le temps.
En tant que joueur, j'ai connu des maps qui faisaient ça, ça passe largement.
Après, bien sûr, c'est un pis-aller, mais ça permet d'à peu près jouer à ta map le temps de trouver une meilleure solution. _________________
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 29/06/18 12:42 Sujet du message: |
|
|
Kaoss a écrit: | Sinon, tu peux faire des upgrades pour les unités : tu les convertis en batiments, tu mets "améliorer en " l'unité suivante, tu reconvertis en unité. Bien sur, ça fait pas un vrai morph, mais au moins, ça permet au joueur de controler le switch et de pas arrêter toute une armée d'un coup, toute la r&colte d'un coup, etc, mais de le faire petit à petit quand il a le temps. |
C'est exactement cette mécanique que je souhaite éviter. La map se détache des autres CivilizationWar-like grâce à ça. Alors autant faire comme les autres ? :] _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Kaoss Membre reconnu
Inscrit le: 25 Fév 2014 Messages: 1175 Sujets: 167 Spécialité en worldedit: La simplicité
|
Posté le: 14/07/18 10:26 Sujet du message: |
|
|
Finalement, si tu n'as encore rien trouvé, je crois ... qu"il n'y a plus qu'à faire comme tout le monde (peut-être est-ce la raison pour laquelle tout le moned fait pareil en fait). _________________
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 06/05/19 20:18 Sujet du message: |
|
|
Nécro post, mais pas si loin que ça.
Le problème existe toujours et j'ai traversé tout ce que je pouvais imaginer. Encore ces @&$%* de chaos morph !
Si quelqu'un a une voie possible qu'il se manifeste. Pour rappel :
1) ça ne vient pas des getlocalplayer que j'utilise uniquement pour les messages et les son. S'ils causait des désynchronisation alors pourquoi ça n'arriverait exactement qu'une seule fois par partie ?
2) pas de fonction blacklistée, j'ai presque tout converti en fonctions natives.
3) ça ne vient pas des caméras
☼ la version actuelle (pour 1.30.4) https://www.epicwar.com/maps/293122/ _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 18/05/19 19:12 Sujet du message: |
|
|
Cela vient peut-être de cela:
Jass: | if ut == 'h05S' then
set Market[i]=Market[i] + 1
if not IsLeaderboardDisplayed(Lead[i]) then
if IsForPlayer(p) then
call LeaderboardDisplay(Lead[i], true)
endif
endif
if not IsTriggerEnabled(gg_trg_income) then
call EnableTrigger(gg_trg_income)
endif
endif |
Il me semble me rappeler que l'appel à LeaderboardDisplay est source de desync et que l'on pouvait le contourner en faisant:
Jass: | if ut == 'h05S' then
set Market[i]=Market[i] + 1
call LeaderboardDisplay(Lead[i], IsForPlayer(p))
if not IsTriggerEnabled(gg_trg_income) then
call EnableTrigger(gg_trg_income)
endif
endif |
_________________
|
|
Revenir en haut |
|
|
Ghost_of_past Floodeur prématuré
Inscrit le: 08 Sep 2013 Messages: 532 Sujets: 70 Spécialité en worldedit: GameDesign et optimisation JASS
|
Posté le: 19/05/19 06:50 Sujet du message: |
|
|
Merci du tuyaux ! ça fait vraiment plaisir de voir des gens encore actifs~~ (pas du tout ironique)
Malheureusement, ça desync depuis for longtemps avant même que j'ajoute se bout de code (et for longtemps avant que je mette des get local player). D'ailleurs, si ça desync, pourquoi ça n'arriverais qu'une fois par partie très exactement ? _________________
"L'homme qui meurt est un astre couchant, qui se lève plus radieux sur un autre hémisphère"
"On entends le fracas des Arbres qui tombent, mais pas le murmure de ceux qui poussent" |
|
Revenir en haut |
|
|
Ayane Bot administrateur
Inscrit le: 17 Sep 2007 Messages: 2009 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 03/06/19 21:47 Sujet du message: |
|
|
Il me semble que les déclencheurs n'étaient pas la seule façon d'obtenir des desyncs, on pouvait le faire avec l'éditeur d'objet et d'autres façons. Il me semble que quelqu'un avait réussir à le faire avec les sorts lancés automatiquement.
Actuellement le Widgitizer fait des ravages sur les desyncs: il corrompt le cache des objets pour les faire charger plus vite, cela fonctionne pour la carte en cours mais sur le chargement de la prochaine carte on se retrouve avec un cache corrompu causant un désynchronisation.
Il faut donc redémarrer Warcraft3 à chaque fois que l'on joue à une carte widgétizé, les anciens joueurs le savent mais vu qu'avec les précommandes Warcraft3 Reforged on se retrouve avec pleins de joueurs qui se plaignent que les carte personnalisées ne sont pas jouables.
Mais même sans cela les problèmes de desyncs sont en cours de partie sont fréquents pour les créateurs de cartes et cause un grand nombre d'abandon, d'autres choisissent de tout refaire.
Le mieux c'est de désactiver les différents éléments afin de cibler la source pour la corriger.
Une autre solution plus technique mais plus précise consiste à capturer les paquets réseaux et de les analyser, tu saura alors ce qui n'a pas été fait pour causer cette désynchronisation. _________________
|
|
Revenir en haut |
|
|
|