Le problème a été réglé par notre équipe. [05/02/15 à 23h14] [Lorh] : Tout est au point et sera appliqué à la prochaine MaJ. Donc un CC-delay réel, et non artificiel (pas de délai ajoutés au sorts, ils seront juste tous traité en meme temps et non les uns apres les autres)
⚠ Archive en lecture seule —
Retour sur GeekServers.gg
27 messages
• Page 1 sur 1
FONCTIONNEMENT BUG / QU'ON RETROUVE SUR LE SERVEUR :
Sur le serveur, lorsque deux joueurs en combat lancent un sort de type "Crowd control" (stun) au même moment il est impossible que les 2 joueurs se reçoivent simultanément les deux sorts. Par exemple : si deux voleurs en duel se lancent mutuellement un stun (coup bas, aiguillon perfide, suriner, cécité..) seul un des deux joueurs se prendra le stun. COMMENT CA DEVRAIT FONCTIONNER : Dans le jeu world of warcraft, depuis Vanilla et jusqu'a aujourd'hui, il a été, et est toujours possible de stun son adversaire tout en se faisant stun par celui-ci si les deux sorts sont lancés au même moment. Par exemple : si deux voleurs en duel se lancent mutuellement un stun au même moment il seront tous les 2 sous l'effet du stun (coup bas, suriner, aiguillon perfide ...). COMMENT REPRODUIRE LE BUG : Je vais prendre deux voleurs car c'est la classe que je joue, mais cela peut être reproduit avec d'autres classes qui peuvent stun. 1. Prendre 2 voleurs (joueurs differents) 2. Faire un duel 3. Pendant les 3 secondes de préparation il faut spam suriner ou cécité pour que les sorts partent au même moment au début du duel. 4. Regarder si les deux joueurs subissent le stun. Je conçois que de cette façon on ne peut jamais savoir si les deux sorts se lancent en même temps, mais en faisant comme ca sur les serveurs de Blizzard, 8 fois sur 10 ca passait. Sur TGC, je n'ai JAMAIS vu que les deux joueurs se prennent les 2 stun, ni en faisant comme dans le test, ni dans d'autres situations. SOURCE MONTRANT QUE CELA DEVRAIT FONCTIONNER AINSI (vidéo, patchnote, etc...) : Il n'y a jamais eu de modifications a ce niveau donc il suffit d'aller sur les serveurs officiels pour test, de plus tout joueur ayant jouer sur les serveurs officiels savent que cela fonctionne comme ca. Toutefois je vais montrer des scène de vidéos qui me viennent à l'esprit, il doit y en avoir des tas d'autres. Neilyo 14.5 : https://www.youtube.com/watch?v=b0f9eeJ6ZTI 00:57 Duels entre rogues, neilyo lance un cécité et se prend un aiguillon perfide en même temps. 2:30 Même situation, neilyo lance un cécité et se prend un aiguillon perfide en même temps. Deuxième partie: https://www.youtube.com/watch?v=S0aWWxt5-mE 00:37 Duels entre rogues, neilyo lance un cécité et se prend le cécité de l'autre joueur en même temps. Destram - Killer Instinct : https://www.youtube.com/watch?v=Wy87l1lZUpM 6:28 Duel entre rogues, destram lance assommer et se prend un coup bas de l'autre joueur en même temps. COMMENTAIRES : D'une façon générale, lorsque deux stuns se lancent au même temps l'un prend le dessus de l'autre, le serveur ne prend pas comme possibilité que les 2 sorts sont lancés en même temps, mais que l'un a été lancé avant l'autre. Je ne sais pas si c'est déterminé au hasard ou si ca se rapportent à la connexion internet des joueurs, mais en tout cas dans le jeu il est prévu que 2 stuns puissent être lancé en même temps. Je précise bien stun car les autres sorts peuvent se lancer en même temps vu que rien ne l'empêche, mais ici un stun prendra toujours l'avantage sur un autre sort, donc par exemple si pendant les 3 secondes de préparation duel je spam hémorragie au lieu d'un stun, jamais je ne lancerais mon hémorragie en même temps que je me fasse stun, le stun de l'autre rogue prendra toujours l'avantage sur mon sort.
De deux choses l'une : soit c'est du à la latence, et rien ne sera changé à ce niveau sauf si vous lagguez, soit cela vient de l'aspect séquentiel du traitement des informations, et relève donc des capacité techniques du serveur, et ne sera pas changé. Dans tous les cas, deal with it ;) (je ne vais pas commencer à remanier tout le toutim et threader chaque joueur juste pour cela, sans compter que cela sera tres/trop lourd pour le serveur et son architecture)
Pourquoi une mécanique si importante du pvp est si facilement laissée de côté? Je veux bien croire que c'est quelque chose de difficile a mettre en place, mais ce qui est sûr c'est qu'une solution est possible vu que cela fonctionne comme il faut sur des tas de serveurs. Inutile de me dire d'aller jouer sur ces serveurs, ils sont anglais ou autres, moi je veux jouer sur un serveur TBC français et celui-ci est le seul. Je dis ca juste pour montrer qu'il est possible de faire en sorte d'avoir un fonctionnement similaire à celui qu'il y avait sur les serveurs de Blizzard.
Lorh tu me dis de faire avec et rien ne sera jamais fais, c'est un peu facile comme réponse non? La finalité d'un serveur privé qui se veut Blizzlike est bien d'avoir le même rendu et la même expérience de jeu qu'on avait à l'époque non? Vous, vous êtes peut-être nostalgique du côté PVE ou autre, moi je suis nostalgique du pvp, et mettre de côté cette partie du PVP c'est en gâcher toute l'expérience ici. Je ne sais pas quels solutions ont été implantés ailleurs, mais je ne vois pas pourquoi TGC serait incapable d'en mettre une en place aussi.
C'est une mécanique qui est primaire au PvP (et qui fait aussi que de nombreux joueurs PvP sont revenu sous TBC pour pouvoir éxécuter ces fameuses actions) Quand le temps te le permettras, ça serais vraiment super de te pencher là dessus un peu plus, Le PvP N'est absolument pas le même, faut bien comprendre de quoi on parle.
Je suis d'accord sur le fait de me pencher sur ce probleme quand le temps sera disponible, car je suis sensible à l'impact que cela peut avoir en PvP.
Je dis juste que pour l emoment cela demande une grosse refonte de certaines mécanique et n'est pas à l'ordre du jour, mais le sera des que possible.
Merci Lorh cette réponse est plus appréciable. Après, au niveau de la refonte que nécessite ce débug moi je verrais les choses autrement, par exemple tout simplement ajouter un "temps d'attente" entre le moment ou on clique sur le sort et le moment ou il se lance, de l'ordre de 0.2 à 0.5 secondes (à tester). C'est comme ca que les sorts pourront se lancer simultanément.
Une latence de 500ms pour tout le monde, really? Déjà 200 je trouve ça énorme. Je joue depuis différents endroits, et je peux assurer qu'entre 30/40 et 200 ms on sent très nettement la différence. 50 ça serait déjà un délai largement suffisant pour autoriser le double CC sans rendre le jeu injouable.
Et imagine un peu faire Archimonde avec une demi-second de latence :o
La question que je me pose c'est par exemple sur les sorts type charge actuellement : ils ont déjà un délai à l'application, il devrait etre possible pour 2 war de se charger l'un-l'autre en meme temps actuellement sur le serveur, non ?
C'est donc ce que vous disiez, mettre un délai sur les sorts instant serait suffisant. Cependant ajouter 100ms sur chaque sort (le minimum, et ça serait suffisant) me semble aberrant, créant un lag que nous n'avons pas et n'avons pas besoin.
J'ai une autre solution en tête mais elle demande bien plus de travail.
Moi je n'ai jamais parlé de de latence, ni meme de ms. Sur le post concernant la latence j'avais déjà parlé du CCDelay comme étant un script qui ajoute juste un délais pour envoyer les sorts. Après si il existe une solution avec un meilleur rendu ca peut être bien, mais je sais que le fait d'ajouter un délais a déjà fait ses preuves et fonctionne bien.
On parle de délai, et donc de ms.
En gros si je suis le résonnement il suffirait d'ajouter un délai sur les sorts instant en pvp, comme je disais, de l'ordre de 100ms. Quoique vous en pensiez, cela constitue de la latence entre le moment ou le sort et lancé et le moment ou son application est faite. Techniquement c'est assez facile à réaliser dans le code. C'est au niveau de l'impact général et de l'interet réel que ça a que j'ai des doutes. Comme je le disais sur l'autre post, si j'implémente ça à 100ms, Bidulle va vouloir 200ms parce que il arrive pas a contrer les autres à 100. Machin lui va affirmer mordicus que c'etait 500ms dans ses souvenir d'officiel, video d'un type qui lag sur officiel à l'appui. Et au final on s'en sortira pas. Je suis d'accord qu'actuellement, l'aspect séquentiel étant ce qu'il est, deux joueurs ne peuvent se stun simultanément, le sort de celui qui aura cast un peu trop tard sera interrompu car stun (comportement normal). Je peux tenter de ne pas interrompre les sorts instantanés tout simplement, auquel cas les deux stuns passeronts. Par contre vous n'aurez aucun temps de réaction en votre faveur suite à celui puisqu'il n'y a pas de lag (donc de latence) sur le serveur. Donc je résoudrait votre problématique (le double stun/sheep, whatever) sera possible, par contre a moins de réellement etre dans une situation ou vous lancez le sort à moins de 100ms d'écart de votre adversaire, vous ne vous en rendrez pas compte. Et comme je l'ai dit, avoir de la latence artificielle pour vous donner un temps de réaction que le lag vous donne sur officiel n'est pas à l'ordre du jour, si l'officiel ne lagguait pas, ce style de jeu n'existerais pas car il n'est simplement pas dans les règles.
Si c'est facile à mettre en place, pourquoi ne pas le faire? Vous pouvez décidez vous même la latence adéquate sans prendre en compte l'avis des joueurs, je ne pense pas que les joueurs vont se plaindre, juste le fait d'ajouter un délais serait une amélioration énorme pour le pvp. Chacun s'adaptera au temps de délais qu'il y a, ce n'est pas pour avoir un temps de réagir que c'est important, il est toujours possible de prévoir, mais c'est surtout pour avoir cette mécanique de fonctionnel.
Si c'est faisable ce sera déjà une bonne chose, je ne cherche pas à mettre en place un faux "lag", mais juste avoir la possibilité d'avoir ces mécaniques de double stun. Et puis si on a pas de temps de réaction ca rendra les tricks plus difficile à réaliser. Vous avez pris l'exemple de la charge, oui il est possible de double charge ou de pas de l'ombre sur une charge mais cela reste beaucoup plus difficile à faire ici par rapport à l'offi à cause de la latence nulle sur le serveur, mais juste le fait que la mécanique existe rend le jeu déjà plus intéressant. Donc si possible Lorh ce serait bien d'essayer le script que tu propose au moins pour test et voir ce que ca donne.
Mettre un délai de réaction entre le moment où le joueur lance son sort et le moment où ce dernier s’exécute, ça s'appelle de la latence et ça se calcule avec des secondes (ou des millisecondes pour éviter les nombres avec 10 zéros derrière la virgule). Très souvent, la latence que rencontrent les joueurs est tout simplement due à une connexion pas assez performante avec le serveur. Mais qu'elle soit le fait de la connexion du joueur ou un mécanisme intégré au jeu, le résultat est le même. Et désolé d'adopter ce petit ton de donneur de leçon, j'essaye à la base d'expliquer un phénomène très importante dès qu'on fait communiquer des machines :p
Je ne sais pas du tout comment marche Wow, alors je vais peut-être dire une grosse connerie, mais j'ai l'impression d'après ce qui a été dit sur le topic et d'après mon expérience sur offi et sur TGC que c'est plus un soucis de "rétroaction" un peu dégueu qu'on rencontre ici. Explication : On a deux voleurs, V1 et V2 qui sont en train de se tourner autour. Ils se repèrent quasiment en même temps, et V1 sap à T0 = 0 ms tandis que V2 sap à T1 = 5 ms. Pour diverses raisons, l'un des deux saps va arriver plus tôt au serveur (le joueur a réagi un poil plus vite, sa connexion est meilleure...), on va dire celui de V1. Le serveur envoie alors l'information à V2 "tu as été sap", tandis que l'information "V2 a sap V1" arrive au serveur un chouïa plus tard. Sur officiel, pas de soucis, vu que l'information "V2 a sap V1" a été émise avant que "V1 a sap V2" puisse être appliquée, on applique les saps de chaque coté. Pour le serveur TGC, V2 était déjà sap au moment où l'information est arrivée, donc l'information est annulée : pas de sap envoyé par V2 vu qu'il était déjà CC. Le seul à se faire sap est donc V2. La différence avec officiel, je pense, c'est que l'officiel reconnaissait que l'information "V2 sap V1" était parti avant l'application de l'information "V1 sap V2", ce qui résultait en un joli double sap. Je ne suis pas sur du tout de ce que j'avance, d'autant que ça pose un certains nombre d'autres soucis (j'ai pensé aux interrupts par exemple. J'ai voulu commencé à détailler le problème, mais je me contredit au bout de 2 lignes -_-' ), du coup je laisse soin à des gens plus qualifiés de valider ou non ma théorie.
Comme j'ai dis ce n'est pas compliqué techniquement, j'ai déjà gribouillé le truc. Quand à ce que ça donne, ben pas de surprise : http://youtu.be/64wWzPnCgQ0
J'ai débloqué, pas compris pourquoi youtube l'a mise en privée... obviously je suis pas le roi de la video, ce qui explique qu'on a moins la hype que certains serveurs qui font pleuvoir 50 videos sur youtube ! :(
Le résultat sur la vidéo est super! Si on peut avoir ca sur le serv ce serait énorme pour le pvp et ce début de s3.
Je ne peux rien promettre, comme je disais ce n'est qu'un gribouilli qui demande un peu d'intégration pour etre propre, et ce n'est pas une priorité, mais je vais voir ce que je peux faire.
Apres ça fonctionne autant sur les stuns que les sheep et autres cc du genre
En tout cas, merci pour le travail Lorh!
Autant pour ce problème la que pour les autres script pvp.
Tout est au point et sera appliqué à la prochaine MaJ. Donc un CC-delay réel, et non artificiel (pas de délai ajoutés au sorts, ils seront juste tous traité en meme temps et non les uns apres les autres)
Wow nice ! Malheureusement ça va mener à toutes sortes de complaintes.
De quel genre ?
My bad, j'avais mal lu l'explication du fix.
Magnifique script Lorh, même le vanish cécité est fonctionnel. Merci d'avoir implanter ça.
Très bien, merci pour le retour, je suis content d'obtenir le même resultat en ligne que durant mes tests, pour changer ! Héhé
27 messages
• Page 1 sur 1
|