[LGBB] Evolution de la Ligue

04 Nov 2015 14:52 #49862

Tiens une question Sylvain, tu jouais quoi déjà comme équipe c'était des nordiques?

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 14:58 #49863

J'ai eut des nordiques et des elfes noirs.


Ceci est une signature.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 15:00 #49864

Hache écrit: J'ai eut des nordiques et des elfes noirs.


Ha, il me semblait bien que tu jouais avec des Nordiques.

Laquelle des deux tu as préférè?

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 15:06 #49865

Les elfes noirs, plus durs mais plus gratifiants à jouer. Mais c'est un gout personnel, c'est une équipe qui me correspond.

Pour les nordiques c'était l'ancienne version, avec 4 berserkers, et ni yéti ni loup-garou. La nouvelle me semble mieux, avec plus de possibilités.


Ceci est une signature.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 15:13 #49866

Hache écrit: Tu ne veux pas savoir. Crois-moi, ça doit rester des mathématiques mystérieuses. L'article wikipedia générique devrait suffire à te faire peur, pour ne pas t'obliger à aller dans le code d'OBBLM pour essayer de comprendre.
fr.wikipedia.org/wiki/Classement_Elo#Mode_de_calcul


L'article Wikipedia m'a donné envie d'en savoir plus sur la façon dont OBBLM calcule le ELO :fou:
Pour de vrai :blink:

Peps écrit: - on trouve sur OBBLM 2 ELO différents : celui de la page d'accueil, et celui des stats par équipe. Et on n'a pas le même classement aux 2 endroits, donc...

Oui, il y a effectivement deux valeurs différentes en base de donnée, dans des tables différentes. Je ne sais pas dans quelle mesure l'un est différent de l'autre, si j'ai du temps entre deux installations je vais essayer de piger ça, mais je promets rien.[/quote]

Merci !

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 15:19 #49869

Si j'ai bien compris l'ELO c'est une sorte de classement qui a l'époque a été mis en place pour les échecs. Apparemment adapté pour Blood Bowl ou d'autre jeu en tête à tête.

En fait il faudrait surtout que tous on se disent on regarde ça pour savoir qui est le premier de la ligue, que ce soit l'Elo, le nombre de points etc...

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 16:17 #49872

Oui, en gros le classement ELO te fait gagner ou perdre des points en comparant tes chances de victoire (dépendant du classement des 2 joueurs avant le match) au résultat effectif. Exemple fictif : Olive a un ELO de 181.82 avec la Lothringe Mannschaaft, et il affronte Peps qui a un ELO de 219.56 avec ses Orc'n'Roll. Il gagne alors que ses chances de gagner (figées par calcul en fonction de la différence de ELO des adversaires) sont de 38% :arrow: son ELO fait un bond de 13 points, et le ELO des Orc'n'Roll perd 13 points.
Exemple réel : Olive a un ELO de 181.82 avec la Lothringe Mannschaaft, et il affronte Peps qui a un ELO de 219.56 avec ses Orc'n'Roll. Il perd, conformément à ses probabilités de gain de 38% :arrow: son ELO chute de 4 petits points, et le ELO des Orc'n'Roll gagne 4 points.

Le tout est pondéré par un facteur K qui peut varier en fonction de ton classement ELO (plus tu es haut, plus il est faible, afin d'accélérer la montée à leur classement ELO "normal" des nouveaux joueurs).

En tout cas c'est comme ça que c'est géré pour les échecs. Si c'est la même chose sur OBBLM ça veut dire que le nombre de TD, de blessures et autres spécificités de notre sport ( :pinch: ) ne sont pas pris en compte.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 16:38 #49873

Est-ce que dans les matchs que vous rentrez il y a une notion de tournoi ou de match ? Parce que c'est ça qui semble déterminer si c'est la valeur de la page d'accueil ou la valeur de la page statistique qui est mise à jour.

Sachant qu'il y a apparemment une fonction de synchronisation des résultats des matchs dans la ligue, qui doit être caché dans la console d'admin, si j'ai bien compris le bouzin. En fouillant dans la console d'admin, y a peut-être un truc qui détermine comment fonctionne la MAJ des valeurs ELO de la ligue. Je suspecte un truc genre "mise à jour par journée de tournoi" ou peut-être un autre truc dans le genre. Cependant, vu que j'ai pas accès à la console d'admin OBBLM, je ne peux que supposer.






Pour toi Peps, enjoy le code de calcul du nouvel ELO :

'CREATE FUNCTION syncELOMatch(trid '.$CT_cols[T_NODE_TOURNAMENT].', mid '.$CT_cols[T_NODE_MATCH].')
            RETURNS BOOLEAN
            NOT DETERMINISTIC
            CONTAINS SQL
        BEGIN
            DECLARE Rt1_0, Rt2_0, Rc1_0, Rc2_0, Rt1, Rt2, Rc1, Rc2 '.$CT_cols['elo'].';
            DECLARE Et1, Et2, Ec1, Ec2 FLOAT;
            DECLARE S1, S2 FLOAT;
            DECLARE tid1, tid2 '.$CT_cols[T_OBJ_TEAM].';
            DECLARE cid1, cid2 '.$CT_cols[T_OBJ_COACH].';

            SELECT
                team1_id, team2_id, t1.owned_by_coach_id, t2.owned_by_coach_id,
                IF(team1_score = team2_score, '.T_ELO_PTS_DRAW.', IF(team1_score > team2_score,'.T_ELO_PTS_WON.','.T_ELO_PTS_LOST.')),
                IF(team1_score = team2_score, '.T_ELO_PTS_DRAW.', IF(team1_score < team2_score,'.T_ELO_PTS_WON.','.T_ELO_PTS_LOST.'))
            INTO tid1, tid2, cid1, cid2, S1, S2
            FROM matches, teams AS t1, teams AS t2 WHERE match_id = mid AND team1_id = t1.team_id AND team2_id = t2.team_id;

            IF trid IS NULL THEN '.$elo_matchsync_R0_alltime.'
            ELSE '.$elo_matchsync_R0_tour.'
            END IF;

            SET Et1 = ELO_E(Rt1_0, Rt2_0);
            SET Et2 = ELO_E(Rt2_0, Rt1_0);
            SET Ec1 = ELO_E(Rc1_0, Rc2_0);
            SET Ec2 = ELO_E(Rc2_0, Rc1_0);

            SET Rt1 = ELO_R(Rt1_0, S1, Et1);
            SET Rt2 = ELO_R(Rt2_0, S2, Et2);
            SET Rc1 = ELO_R(Rc1_0, S1, Ec1);
            SET Rc2 = ELO_R(Rc2_0, S2, Ec2);

            IF trid IS NULL THEN
                UPDATE teams   SET elo = Rt1 WHERE team_id = tid1;
                UPDATE teams   SET elo = Rt2 WHERE team_id = tid2;
                UPDATE coaches SET elo = Rc1 WHERE coach_id = cid1;
                UPDATE coaches SET elo = Rc2 WHERE coach_id = cid2;
            ELSE
                UPDATE mv_teams   SET elo = Rt1 WHERE f_trid = trid AND f_tid = tid1;
                UPDATE mv_teams   SET elo = Rt2 WHERE f_trid = trid AND f_tid = tid2;
                UPDATE mv_coaches SET elo = Rc1 WHERE f_trid = trid AND f_cid = cid1;
                UPDATE mv_coaches SET elo = Rc2 WHERE f_trid = trid AND f_cid = cid2;
            END IF;

            RETURN TRUE;
        END',

        'CREATE FUNCTION ELO_E(R1 '.$CT_cols['elo'].', R2 '.$CT_cols['elo'].')
            RETURNS FLOAT
            DETERMINISTIC
            NO SQL
        BEGIN
            RETURN 1/(1+POW(10,(R2-R1)/'.T_ELO_D.'));
        END',

        'CREATE FUNCTION ELO_R(R_0 '.$CT_cols['elo'].', S FLOAT, E FLOAT)
            RETURNS '.$CT_cols['elo'].'
            DETERMINISTIC
            NO SQL
        BEGIN
            RETURN (R_0 + '.T_ELO_K.'*(S-E));
        END'

Du coup ça semble correspondre à ce qui est décrit sur wikipedia, avec la fonction p(D) qui est une fonction en 1+10^((R1-R2)/Constante). La constante est peut-être définie selon la ligue, ou alors c'est la valeur par défaut actuellement.

Je peux pas t'assurer que R1 et R2 sont les rating ELO avant match, par contre. Je suis trop rouillé en SQL.


Ceci est une signature.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 16:41 #49874

Ben ce qui veut dire aussi que si on a un équart de 100 en Elo ça représente bien un écart de TV d'où les pourcentages de chance de gagner.

En gros mes chaotiques avec 113 contre tes elfes j'ai quelques chose comme 20% de chance de gagner :-( , pour le coup ça me refroidit un peu. Même si du coup la prime de match permet de faire un peu l'équilibre.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 16:47 #49878

Oui mais JR, l'intérêt du ELO, c'est que si tu perds contre quelqu'un de beaucoup plus fort, tu ne perds quasiment rien. Alors que si tu gagnes contre quelqu'un de beaucoup plus fort, tu gagnes beaucoup.

Guillaume

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 16:57 #49880

Guillaume écrit: Oui mais JR, l'intérêt du ELO, c'est que si tu perds contre quelqu'un de beaucoup plus fort, tu ne perds quasiment rien. Alors que si tu gagnes contre quelqu'un de beaucoup plus fort, tu gagnes beaucoup.

Guillaume


Ouai ok mais je perds aussi le match :-(, même si pour les Chaotiques on s'en fou de la gagner on s'en fou de la balle, Nous on veux taper. D'ailleurs pour le Nordiques aussi ça marche :P

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 17:11 #49881

Merci Sylvain !

J'entrave que pouic au SQL et autres barbaries de codeurs fous, mais ça semble être vraiment un calcul du ELO comme aux échecs.
Si je compare à l'article de Wikipedia :

- "1/(1+POW(10,(R2-R1)/'.T_ELO_D.'))" : correspond au calcul de la proba de victoire. Ca doit donner en langage mathématique normal : 1/(1+10^((R2-R1)/constante)). Et la constante doit être fixée quelque part sous le petit nom de '.T_ELO_D.' (elle vaut 400 pour le calcul du ELO aux échecs).
R2 et R1 sont les ELO des 2 équipes qui s'affrontent.

- "R_0 + '.T_ELO_K.'*(S-E)" : correspond au calcul du nouvel ELO. Avec :
R_0 : le ELO avant la rencontre de l'équipe pour laquelle on calcule le nouvel ELO
'.T_ELO_K.' : la constante K évoquée précédemment, et qui doit être renseignée quelque part dans le code
S : le résultat de la partie, soit un nombre attribué en cas de victoire, de nul ou de défaite (aux échecs c'est 1 / 0.5 / 0, ici ça doit être fixé par .T_ELO_PTS_WON. / .T_ELO_PTS_DRAW. / .T_ELO_PTS_LOST.)
E : le résultat du calcul précédent (1/(1+10^((R2-R1)/constante)))


Tout le reste je comprends pas mais ça doit être le bordel pour déterminer les variables et les constantes, je suppose.


Sylvain, tu as aussi éclairci (ou au moins donné une piste) le truc des 2 calculs de ELO différents :

Hache écrit: Est-ce que dans les matchs que vous rentrez il y a une notion de tournoi ou de match ? Parce que c'est ça qui semble déterminer si c'est la valeur de la page d'accueil ou la valeur de la page statistique qui est mise à jour.


Oui, il y a une notion de tournoi, donc on peut penser que l'un des ELO correspond à l'ensemble des matchs de la Ligue tandis que l'autre correspond à une partie de ces matchs.


Il n'y a que cette feignasse d'Olive qui peut nous éclairer là-dessus, mais je pense qu'il est en train de prier :whistle: :orc:

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 17:12 #49882

En fait le ELO sert à classer le succès des coaches indépendamment de l'état de leur équipe. Tu peux donc avoir une TV faible avec un ELO très fort.

Après tout dépend de ce qu'on veut.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 17:13 #49883

Corwin écrit: même si pour les Chaotiques on s'en fou de la gagner on s'en fou de la balle, Nous on veux taper. D'ailleurs pour le Nordiques aussi ça marche :P


Ben du coup tu t'en fous du ELO, vu que ça ne prend en compte que la victoire, pas la castagne ;-)

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 17:21 #49884

Ben c'est quand même fun de gagner, mais ouai le chaos on est des méchants.

Connexion ou Créer un compte pour participer à la conversation.

04 Nov 2015 22:58 #49889

Je rajoute que le code semble calculer l'ELO de l'équipe et l'ELO du coach. Est-ce que les deux stats sont présentes ?


Ceci est une signature.

Connexion ou Créer un compte pour participer à la conversation.

05 Nov 2015 08:53 #49892

J'ai jamais trouvé de ELO du coach, moi.

Connexion ou Créer un compte pour participer à la conversation.

05 Nov 2015 09:44 #49897

Pourtant il y a les stats en base de donnée. Avec deux stats différentes, une dans la table coaches, une dans la table mv_coaches (comme pour les équipes). Peut-être qu'Olive peut activer leur affichage ?

EDIT : il est présent dans les statistiques de chaque coach : www.bb.lgdj.org/index.php?section=objhan...bj_id=4&subsec=stats


Ceci est une signature.

Connexion ou Créer un compte pour participer à la conversation.

05 Nov 2015 09:58 #49898

Ah ben cool !

J'avais jamais vu cette page :P

Connexion ou Créer un compte pour participer à la conversation.

05 Nov 2015 10:27 #49900

Peps écrit: Ah ben cool !

J'avais jamais vu cette page :P


Ouai ça serait cool en plus on a les moyennes

Connexion ou Créer un compte pour participer à la conversation.

Modérateurs: Anoldorlaraldie
Propulsé par Kunena