V10 - La vraie révolution arrive (On monday)...Ou pas

Evolution règlements HOF/HOS
Plus d'informations

MAJ sur le jeu
Version 11.15.0 Chanlog

  • Pour GF les rippeurs n'ont pas de flotte (on me l'a déjà sorti en parlant de mon compte oui oui). Donc ils osef ils impactent pas les raideurs.


    Tout va bien dans le meilleur des leur mondes.

  • Moi j'aurais plutôt dit " Ha merde chérie, on a un garcon et pas une fille ? Ha nan on va pas refaire la deco de la chambre, on lui coupe et c'est bon !" :D.

  • Pour GF les rippeurs n'ont pas de flotte (on me l'a déjà sorti en parlant de mon compte oui oui). Donc ils osef ils impactent pas les raideurs.


    Tout va bien dans le meilleur des leur mondes.


    Ils ont peut être pas suivi le jeu depuis la pré alpha 0.02 où la RIP était une défense.

  • Le RF c'est la probabilité qu'a un vaisseau d'effectuer un nouveau tir une fois le tir précédent effectué. Actuellement quand une RIP touche un Clé par exemple, elle a 99.5% de chance de tirer une nouvelle fois. Si tu diminues cette probabilité en passant de 99.5% à 95% par exemple, tu diminues de facto le nombre de tirs effectués durant un combat, donc le temps de calcul rien que pour déterminer le nombre de tirs déjà.

    Mais en plus, l'effet de chaque tir doit ensuite être évalué par l'algorithme de combat, rebond sur le bouclier, entame du bouclier, entame de la coque, destruction de la cibles, etc., diminuer le nombre de tirs diminue donc aussi le nombre d'évaluations que l'algorithme doit faire.

    Un même combat sera donc résolu d'autant plus vite que les RF impliqués sont bas.


    J'en doute beaucoup, la V10 se concentre pour ce qu'on en voit pour l'instant sur des aspects techniques pour essayer de palier aux latences du jeu et au temps de calcul astronomique de gros combats, dans ce cadre ce changement fait tout à fait sens. Au contraire de l'aspect équilibrage, la RIP n'a jamais été aussi faible que maintenant, ce changement n'est pas l'équilibrer, c'est l'achever.


    Pour le coup effectivement chaque tir engendre un temps de calcul et ce nerf sur les grosses flottes de rips peu avoir un impact si une EDLM tirait avant 2000 fois et que ça passe à 200 on a gagné un facteur 100de tirs.
    Mais hors combat contre des grosses flottes de rips.


    Quand t'en a 5000 si on prend l'exemple de 2000 tirs par rip ça fait 10M de tirs pour les rips (vs .1M post nerf par ex) Si dans la flotte t'as 5M de cro ou 40M de cl plus 25M de cro et 100M de cl en face ça ne va pas changer drastiquement les perf pour autant

    Le soucis principal c'est que les flottes augmentant rapidement ils faut avant tout qu'ils arrivent à optimiser le temps de calcul du tir qui est le point central.

    Si ils ne font pas ça comme disait Néné ça va continuer en disant plus de RF dans les combats avant qu'ils soient enfin obligé de trouver une solution.

  • Le soucis principal c'est que les flottes augmentant rapidement ils faut avant tout qu'ils arrivent à optimiser le temps de calcul du tir qui est le point central.

    Si ils ne font pas ça comme disait Néné ça va continuer en disant plus de RF dans les combats avant qu'ils soient enfin obligé de trouver une solution.

    On est en effet sur le cœur du problème. L'algorithme de calcul de base est très (trop) complexe. On était sur une complexité x^n par vague là où on voudrait une complexité de (x*n)^2 maximum. Mon problème avec la refonte c'est qu'il se contente de mettre une valeur max à n dans une complexité qui reste de l'ordre de x^n plutôt que de chercher à revoir le déroulement des calculs pour descendre sur une complexité de (x*n)^2. Et au passage, il nerf également de manière assez violente un des vaisseaux du jeu.

    Ozone -> ON

    Merci Hiero' pour l'avatar et les logos d'alliance ;)

  • Oui c'est sûr, l'edm perdra un peu d'efficacité.

    Mais n'oublions pas tout de même les accélérations flotte de x2, x5 et même X7 , qui sur les vaisseaux traditionnels font gagner quelques minutes, mais qui font gagner des heures sur les vols d'edm

    (c'est pas rien ça ;))


    Pour une fois qu'il y a un truc qui peut profiter un peu aux petits d:...

  • On est en effet sur le cœur du problème. L'algorithme de calcul de base est très (trop) complexe. On était sur une complexité x^n par vague là où on voudrait une complexité de (x*n)^2 maximum. Mon problème avec la refonte c'est qu'il se contente de mettre une valeur max à n dans une complexité qui reste de l'ordre de x^n plutôt que de chercher à revoir le déroulement des calculs pour descendre sur une complexité de (x*n)^2. Et au passage, il nerf également de manière assez violente un des vaisseaux du jeu.

    L'algo de combat, c'est

    "6 fois (max) les n vaisseaux tire m fois (m basé sur le rapid fire)"
    Au pire, je vois un algo en 6 tours * n vaisseaux * m tirs chacun => O(n²)

    J'me plante peut être mais je veux bien l'explication de ton x^n.

    Réduire la complexité de l'algo, ça peut être fait "facilement" (en modifiant le système de combat j'entends)

    - Réduire le nombre de tours

    - Réduire le rapid fire

    - Optimisations éventuelles sur la gestion des objets (j'sais pas comment c'est fait mais même après 20 ans, doit rester des détails à peaufiner)

    - Modifier la mécanique du bouclier pour quelle ne face plus d'arrondi (=> les clés et autres vaisseaux léger entameront donc le bouclier, gros nerf des RIP :D )


    Et le plus "gros gain possible" à mon sens :

    - Traiter les vaisseaux par groupe et non plus individuellement

    Je détaille :

    1) Initialisation :

    a) On récupère les tech de chaque joueurs et on calcule les stats de chacun de ses types de vaisseaux


    2) A chaque tour

    a) On considère pour chaque flotte de chaque joueur de chaque camp les vaisseaux du même type (clé, cro, ... ) comme un groupe

    b) On calcule le bouclier total, la structure totale et l'attaque totale de chaque groupe (bouclier d'un vaisseau * nombre de vaisseau, même chose pour les 2 autres)


    c) On tire aléatoirement le groupe à cibler dans l'autre camp pour chacun des groupes. La probabilité de choix d'un groupe est [Nombre de vaisseaux dans le groupe] / [Nombre total de vaisseaux]

    d) On ajoute l'"attaque totale" à la liste des dégats que devra subir le groupe cible


    e) On résout les tirs : Le "bouclier total" est réduit du montant de l'"attaque totale", le reste est déduit de la "structure totale"

    b) On supprime les vaisseaux au prorata de la structure perdue (si au total, la "structure totale" a perdu 10%, on supprime 10% des vaisseaux du groupe)

    c) On reforme le "bouclier total" en fonction du nombre de vaisseaux restants et on recalcule l'"attaque totale". La "structure totale" est déjà connue

    3) Fin du combat

    a) Pour chaque groupe, la "structure totale" restante détermine le nombre de vaisseaux qui rentrent à bon port

    a") Calcul du pillage si applicable

    b) Le nombre de vaisseaux initial - le nombre de vaisseaux vivants permet de calculer le champ de ruine

    c) Calcul des PH

    d) Calcul des docks


    Un système de combat sous ce format a un paquet d'avantage en terme de complexité :

    - On n'est plus dépendant du nombre de vaisseaux (allez, si, pour les calculs de probabilité de sélection du groupe et pour multiplier les stats individuelle : quasi nada)

    - On a maximum 16 flottes x 15 types de vaisseaux en attaque VS soyons fous, la NYDG avec 8 type de défenses et 5 + 4 + 4 + 4 défenseurs * 15 types de vaisseaux : 240 + 255 + 8, en gros 500 groupes à faire jouer.
    VS des M de vaisseaux, c'est ridiculement faible


    A prendre en considération tout de même :

    C'est un énorme buff de la RIP. Colossal même. La RIP avait un rapid fire très élevé pour compenser le fait qu'elle OS un seul et unique vaisseau par tir. Avec cette mécanique, une RIP (0/0/0) défonce 500 clé (0/0/0) par tir. Si on rajoute le rapidfire par dessus, ça va piquer :D


    Globalement, ça nécessiterait quelques ajustement des RF mais permettrait de résoudre d'énormes combats en une fraction de seconde

  • Si je ne m'abuse, ta proposition retire les chances incrémentales de détruire un vaisseau au fur et à mesure de la perte de sa structure ?
    Et donc, l'avantage des flottes d'attaque avec nombreux vaisseaux légers ?


    Le calcul actuel ne fait qu'appliquer un pourcentage brut, une fois le bouclier et les 70% passés. L'attaque des vaisseaux considérés ne fait que varier la vitesse à laquelle tu vas atteindre et augmenter ce % de chance de destruction. Et même si un clé ne fait qu'égratiner une structure, 10k clés à 30% de chance, il y en a forcément un qui passe.

    Bref, ça devient un pur stat check. Je me demande même s'il reste un intérêt à diversifier la flotte, au lieu de produire le vaisseau au meilleur ratio ressources/stats en masse.

  • Non mais Nyda, tu sais très bien ce qu'il en est de l'algo de "base", tes dans le métier aussi donc tu sais comment ca marche.


    Les mecs, il y a 20 ans ont sorti un jeu => Ogame.

    Ils ont fait un code "propre" pour l'epoque, mais avec du code en "dur" sur la partie Back-end.

    Dans ce code, il y a des variables potentiellement modifiables, mais il y a d'autres parties avec surement des fonctions "batardes" dégueulasses qui explosent si jamais tu tentes de modifier une variable...

    Le tout a été testé, en prenant en compte seulement les capacités de l'epoque (uni x1 eco, vitesse etc) et pas avec le modeèle actuel ou quand tu sors ta CB tu peux chier 1M de rip sur la semaine.

    A partir de la, au fur et a mesure des années, ils ont empilés les briques comme un Aveugle qui joue a Tetris en se disant "au pire pour ce que je fais en plus, je le met dans un nouveau fichier, ca fera plus propre" :D.


    20 ans plus tard, ils sont entrain de se rendre compte de la robustesse de leur code :D, et c'est la panique.. Le dilemme c'est "on refait tout" ou "on change les quelques variables qui trainent"...

    Le tout avec un CP digne des meilleurs vendeur de casseroles de toute l'Allemagne, qui tends au pauvre dev stagiaire une feuille avec une roadmap cheatée, une fourchette, une assiette et de la ficelle en lui disant "tiens, voila tes outils, tu peux le faire" :D.


    Je suis certain que le testing a la GF c'est le PTS et rien d'autre....


    Les tests de charge ? On s'en fout c'est une page internet voyons :D.

    Les TNR ? Meuuu non nos majs bougent rien, pas de risques :D.

    L'optimisation ? Ba non, sur le PTS ca tourne bien donc c'est good :D.

  • La mécanique même du RF est le problème principal sur les gros combat, ça augmente de plusieurs ordres de grandeurs le nombre de tirs à calculer, la défense n'en a pas (sauf l'Artillerie à ions - 2 contre les Faucheurs - mais qui utilise ce truc ? :D) donc je doute de l'impact de l'augmentation des défenses, si tant est qu'il y en ait en réponse au nerf, ou alors marginalement dans de rares cas.


    D'un point de vu purement computationnel diminuer les valeurs de RF des RIP est très rentable et diminuera significativement le temps nécessaire au calcul des combats impliquant les RIP, c'est d'ailleurs uniquement pour ça qu'ils y ont touché à mon avis.

    Ils ont certainement regardé ce que ça donne au niveau des combats et pensé que ce n'était pas si grave. Je pense qu'ils se trompent, mais dans l'absolu je n'en sais rien, j'ai quelques tests en cours pour en avoir le cœur net et appuyer (ou pas) mon argumentaire en interne, j'en partagerai les résultats ici si on m'y autorise.


    Fais le calcule des RF sur une AG,


    Tu te rendra très vite compte que le nombre de vaisseau dans l'AG est bien plus significatif niveau RF que même un gars avec 50k rip.

    Donc non, si tu t'attends a une baisse ' significative ' des temps nécessaire, tu te trompe :)

    banniere2-2-jpg.png

    Europa [GODS] : OFF

    Izar [Eclipse] : OFF

    Janice [Beurette] : OFF

    Quaoar [Hostile] : OFF

    Plus de 200 HOF postés

  • Si je ne m'abuse, ta proposition retire les chances incrémentales de détruire un vaisseau au fur et à mesure de la perte de sa structure ?
    Et donc, l'avantage des flottes d'attaque avec nombreux vaisseaux légers ?


    Le calcul actuel ne fait qu'appliquer un pourcentage brut, une fois le bouclier et les 70% passés. L'attaque des vaisseaux considérés ne fait que varier la vitesse à laquelle tu vas atteindre et augmenter ce % de chance de destruction. Et même si un clé ne fait qu'égratiner une structure, 10k clés à 30% de chance, il y en a forcément un qui passe.

    Bref, ça devient un pur stat check. Je me demande même s'il reste un intérêt à diversifier la flotte, au lieu de produire le vaisseau au meilleur ratio ressources/stats en masse.

    Effectivement, la mécanique que je propose retire ce système d'aléatoire sur la suppression ou non d'un vaisseau. Je trouve que ça alourdit inutilement le process :D

    Pour ce qui est du "pur stat check", globalement, je dirai que non :

    Les vaisseaux ont une structure dépendante du métal + cristal investis mais ce n'est pas le cas du bouclier et de l'attaque. Les vaisseaux garde quand même un aspect situationnel et surtout, je n'enlève pas le rapidfire qui reste quand même le principal atout dans le choix de la composition :)


    J'suis quand même d'ac que ça colle un gros nerf aux flottes de tampon, j'suis déçu d'être passé à côté :D


    Pennywise laisse moi rêver un peu encore stp :D

  • Comme l'a dit Sanglar ton système change totalement la façon dont sont calculé les combats.


    Et je doute fortement que tout le process de combat actuel soit optimisé. Je pense qu'il y a forcément moyen d'améliorer l'algo et le temps de calcul de ce qu'il se passe pour chaque tir.