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

  • Merci pour la précision :)

    Toujours autant de sel sur ce board, on adore :D

    Nous n'avons pas actuellement la date de sortie sur les univers.

    L'annonce de cette nouvelle version, fait référence , uniquement, de sa mise en application sur le serveur test.


    Dès que l'information sera délivrée par la GameForge l'annonce sera faite ici : ANNONCES JEU

    y8brk7.jpg

    -------------------------------------------------------------------------------------------------------------------------------
    Administrateur Forum

    SGO

    Saros - Wurren - Delphinus & Grus







  • En effet j'ai mal estimé la complexité


    Je dois avoir mal compris leur nouveau rapidfire alors. mais selon moi l'ancien était a coup de

    6 vagues ou chaque vaisseau tire, puis chaque vaisseau a une chance de tirer à nouveau, ce tir pouvant entrainer un nouveaut tir, puis un nouveau... ce qui entrainanait des logneurus monumentales à cause des RIP et de leur rapidfire élevé qui entrainait quasiment une boucle inf dans certains cas

    -> 6 vagues de x*n (sachant que chaque tir semble être calculé indépendement)


    Le changement vient juste apporter une "limite" à n. Mais les temps de calculs pour des grosses flottes resteront longs. Seuls les calculs des flottes de rip seront réellement impactés, le calcul semblant inchangé pour tout le reste (à moins qu'ils aient également changé la façon dont le RF est calculé).


    Le problème reste que l'algo de calcul ne semblait pas optimisé dès le début (l'ajout des fdv n'aurait pas du avoir autant d'impact a partir du moment ou elles ne sont sensées être calculées qu'une fois avec les technos armes / bouclier et pourtant...). Si chaque vaisseau a son propre calcul de tir, alors il semble logique que des flottes de 900K clé 10k rip prennent deja trop de temps a se calculer (hors RF). La formule de calcul de base était bonne a l'époque (et technique) mais ne prennait pas en compte des tailles de flotte élevées ainsi que le système d'AG / DG.


    il y a un besoin énorme de simplifier tout le système de résolution de combat plutôt que de le "brider" en nerfant aléatoirement.


    Ton système est intéressant (le fait de regrouper les tirs déjà plutôt que de calculer 1 par 1), le calcul des techs avant (enfin ça j'espère que c'était déjà le cas sinon c'est vraiment moche). Après il faudrait surement le tester pour rééquilibrer les vaisseaux en fonction.

    Ozone -> ON

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

  • du monde qui teste?

    le probléme des construction qui ce coince a était résolu? idem pour les flotte qui mouline 10 mn avant de rentré?

    si la v10 sert qu'a corrigé les bug, autant avoir des info ^^'

  • Merci pour la précision :)

    Toujours autant de sel sur ce board, on adore :D

    Quand on en est à deux fois la question dans le thread et qu'en plus il y a une annonce jeu qui dit clairement que le déploiement se fait actuellement exclusivement sur le PTS, ouais, on a un peu la flemme de répondre en boucle à des gens qui font aucun effort pour chercher avant de demander.


    Désolé ça tombe sur toi, mais c'est valable pour tout le monde : lisez et cherchez, avant de poser une question.

    6 vagues ou chaque vaisseau tire, puis chaque vaisseau a une chance de tirer à nouveau, ce tir pouvant entrainer un nouveaut tir, puis un nouveau... ce qui entrainanait des logneurus monumentales à cause des RIP et de leur rapidfire élevé qui entrainait quasiment une boucle inf dans certains cas

    En fait chaque vaisseau tire, et selon sa cible, il a une chance de tirer à nouveau ou pas.


    D'ailleurs ça ne change pas vraiment, c'est juste que plutôt que de calculer p entre 0 et 1 et de vérifier si p > 1/RF (et le cas échéant, tirer à nouveau, ce qui oblige au calcul d'une division à chaque étape, en PHP, qui n'a aucune optimisation de ce genre de choses), ils vont tirer p entre 0 et 1 et vérifier si p < p_RF (et si oui, tirer à nouveau) avec p_RF le pourcentage déduit du RF.


    La grosse diff, c'est juste qu'il est cappé à une valeur max qui réduit la proba de tir supplémentaire, et que c'est un pourcentage fixe qui n'a pas à être recalculé, ce qui évite une division par tir (et quand tu as 1G tirs par vague sur des grosses flottes ça peut changer des choses).


    Pour donner une idée du coût au pire de cette simple division, en Python3 ça donne ça sur un i7 :

    Code
    1. In [13]: import random
    2. ...: RF=200
    3. ...: s = time.time()
    4. ...: for i in range(1000000000):
    5. ...: x = 1/RF
    6. ...: r = random.random()
    7. ...: if r > x:
    8. ...: _ = 0
    9. ...: print(time.time() - s)
    10. 243.0050823688507

    Et si le RF est déjà calculé et ne résulte pas d'une division :

    Code
    1. In [15]: import random
    2. ...: x=0.005
    3. ...: s = time.time()
    4. ...: for i in range(1000000000):
    5. ...: r = random.random()
    6. ...: if r > x:
    7. ...: _ = 0
    8. ...: print(time.time() - s)
    9. 193.63365650177002

    Alors normalement la question se pose pas, GF devrait depuis 15 ans avoir fait en sorte que la division se fasse pas à chaque fois, mais je fais le pari qu'ils n'ont jamais réglé ça.


    Du coup si tu utilises un pourcentage déjà calculé et qui plus est cappé (ce qui réduit le nombre de tirs par itération de boucle), ben c'est good.

  • Alors il y a totalement débat.


    Oui mettre des serveurs de qualité est parfois une bonne réponse. Mais si ton code est pourri, et que tu gâches 75% de ta ressource de calcul, tu peux mettre un serveur deux fois plus puissant, tu seras toujours plus lent que si tu corriges ton code.

  • Alors il y a totalement débat.


    Oui mettre des serveurs de qualité est parfois une bonne réponse. Mais si ton code est pourri, et que tu gâches 75% de ta ressource de calcul, tu peux mettre un serveur deux fois plus puissant, tu seras toujours plus lent que si tu corriges ton code.

    Tout à fait. Professionnellement parlant, tu auras beau avoir le serveur de meilleure "qualité", si ton code ne suit pas (en terme d'optimisation etc...), c'est peine perdue.

  • Alors il y a totalement débat.


    Oui mettre des serveurs de qualité est parfois une bonne réponse. Mais si ton code est pourri, et que tu gâches 75% de ta ressource de calcul, tu peux mettre un serveur deux fois plus puissant, tu seras toujours plus lent que si tu corriges ton code.


    Il y a débat quand tu as la possibilité de faire l'un ou l'autre.

    La dernière fois qu'il y a eu un dev convenable sur OGame ça doit être ... 2007 ? Du coup là, ils vont toucher a un truc historique, le RF, mais avec les capacités qu'on leur connait. Je suis sans doute médisant mais, j'aurais plus visé sur une amélioration structurelle :D

  • Bon en fait ça corrige rien du tout cette version x)

    Les mine/fdv continue de bugué comme avant, ça fini mes tourne en boucle

    je veut bien que les rf soit important, mais le reste devrais étre corrigé aussi non?


    Ou c'est moi qui espérè trop un jeux fluide, sans galérè 10mn pour monté un lvl de mine?

  • Tu as des attentes trop élevées. =)

    Il y a débat quand tu as la possibilité de faire l'un ou l'autre.

    La dernière fois qu'il y a eu un dev convenable sur OGame ça doit être ... 2007 ? Du coup là, ils vont toucher a un truc historique, le RF, mais avec les capacités qu'on leur connait. Je suis sans doute médisant mais, j'aurais plus visé sur une amélioration structurelle

    Dans leur cas spécifique je partage ton avis. Mais c'est important de noter qu'en général, le refactoring reste la clef.

  • Les mine/fdv continue de bugué comme avant, ça fini mes tourne en boucle

    je veut bien que les rf soit important, mais le reste devrais étre corrigé aussi non?

    Pour information, pour corriger cela, il faut annuler la construction en cours et construire un autre bâtiment.