Calcul des points : la faille
726 messaggio/i normal
Visualizzazione da 681 a 700 di 726 elementi
25/08/2011 00:57
#681
Bonjour,
Avec quelques années de retard (!), je découvre ce topic.
Je vais essayer d'y contribuer de façon constructive.
Soit n le nombre de posts sur un record
Soit i le classement du joueur sur ce record (i=1,...,n). Pour l'instant, je ne considère pas les cas d'égalités (j'en parlerai à la fin).
Le problème consiste à trouver une fonction f(i,n) qui donne le nombre de points du joueur i lorsqu'il y a n joueurs.
L'algorithme historique était défini par la formule de récurrence suivante :
f(1,n) = 100*n
f(i,n) = g(i)*f(i-1,n) pour i=2,...,n
où la fonction g(.) est définie ainsi :
g(2) = 0.80
g(3) = 0.80
g(4) = 0.81
g(5) = 0.81
...
g(36) = 0.97
g(37) = 0.97
g(38) = 0.98
g(39) = 0.98
g(40) = 0.99
...
g(n) = 0.99
Toute nouvelle formule doit être comparée à cet algorithme de référence. Ce qui rend les comparaisons difficiles est que cette formule n'est pas explicite en fonction de i et n, mais est définie par récurrence. La première chose à faire est donc de trouver une formule explicite approchée, ce que je vais faire ci-dessous.
Premièrement, une approximation continue de la fonction g(.) ci-dessus est donnée par:
g(x) = 0.79+x*0.005 , pour 2<=x<=40
g(x) = 0.99 , pour x>40
plus généralement, notons a=0.79, b=0.005 et c=0.99
à n fixé, f(.) vérifie donc :
f(x) = g(x)*f(x-1)
donc :
( f(x)-f(x-1) )/( x- (x-1) ) = (g(x)-1)*f(x-1)
après une approximation de Taylor:
f'(x-1)/f(x-1) = g(x)-1
puis, en intégrant :
f(x-1) = exp(G(x))
où G(x) est la primitive de g(x)-1 telle que f(1)=100*N
Après intégration de g(.), calcul des constantes et décalages d'indices, on obtient :
f(i,n) = 100*n*exp( (a-1)*(i-1) + 0.5*b*(i-1)^2 ) si 1<=i< 1+(c-a)/b
f(i,n) = 100*n*exp( (c-1)*(i-1) –((c-a)^2)/(2*b) ) si i>= 1+(c-a)/b
En prenant a=0.79, b=0.005 et c=0.99, cela donne la formule (approchée) de points VGR V5 :
f(i,n) = 100*n*exp( -0.21*(i-1) + 0.0025*(i-1)^2 ) si 1<=i<40
f(i,n) = 100*n*exp( -0.01*(i-1) –4 ) si i>= 40
Cette formule est très proche de l'algorithme initial rappelé au début (testez-la). Rapidement, on a donc une décroissance exponentielle des points attribués, avec une décroissance un peu plus rapide sur les 40 premiers du classement.
Maintenant, avec cette formule sous les yeux, qui mimique l'algorithme auquel nous sommes habitués, il est plus facile de voir les propriétés intéressantes qu'elle présente, et qu'il faudrait donc conserver dans une version améliorée :
1) À n fixé, f(i,n) décroît avec i :
C'est le minimum : mieux je suis classé, plus j'ai de points.
2) À n fixé, f(i+1,n)-f(i,n) décroît avec i (convexité) :
Plus je me rapproche de la première place, plus le gain d'une seule place rapporte de points.
3) À i fixé, f(i,n) croît avec n :
Si un nouveau participant arrive et que son score est inférieur au mien, je gagne des points.
4) Plus subtil : à i et n fixés, comment varie f(i+k,n+k) quand k croît ? Autrement dit, si un nouveau participant arrive et que son score est meilleur que le mien, comment varie mon score ? En fait, cela dépend de n. Si n>=5, alors le score décroît, mais si n<5, le score croît légèrement, le gain maximum étant atteint lors du passage de premier avec un seul post (n=1, i=1, 100 points) à second avec deux posts (n=2, i=2, 160 points, gain=60).
Il s'agit d'un équilibre entre gain de participation (croissance linéaire en n) et perte de performance (décroissance exponentielle en i). Le plus naturel est que f(i+k,n+k) décroisse avec k, ce qui est le cas la grande majorité du temps.
Cependant, il semble défendable aussi que l'inverse soit vrai quand n est très petit. Sans cela, par exemple, le passage de n=1, i=1 (100 points) à n=2, i=2 ferait que le nouveau premier (200 points) aurait plus du double de points que l'ex-premier.
Un tel équilibre pour le comportement de f(i+k,n+k) devra probablement être vérifié par toute formule alternative de calcul de points.
5) Pour n>=40, f(n,n) = 100*n*exp( -0.01*(n-1) –4 )
Autrement dit, le nombre de points du dernier tend vers 0 exponentiellement vite, ce quel que soit les constantes a, b et c choisies. Une astuce pour garantir au minimum 1 point serait d'arrondir à l'entier supérieur toutes ces valeurs réelles. Mais ça ne changerait rien à la vitesse de décroissance.
Une décroissance exponentielle a ses avantages et ses inconvénients. Elle permet d'encourager vivement l'amélioration de records et donc la compétition, mais ne laisse que des miettes aux mal classés (avec risque éventuel de décourager la participation).
Pour un site de records, un tel choix peut se défendre. Néanmoins, si besoin, il est possible d'adoucir la décroissance exponentielle. En effet, on a :
exp(-x) = limite( 1/(1+x/p)^p ) quand p tend vers l'infini
Ainsi, pour chaque p>=1, la fonction h(x)=1/(1+x/p)^p décroît plus lentement que exp(-x), et plus p est grand, plus h(x) se rapproche de exp(-x).
En substituant h(.) dans l'algo VGR V5, on obtient la nouvelle formule suivante :
f(i,n) = 100*n*h( 0.21*(i-1) - 0.0025*(i-1)^2 ) si 1<=i<40
f(i,n) = 100*n*h( 0.01*(i-1) +4 ) si i>= 40
Il y a un paramètre supplémentaire à choisir, p. Un p grand favorise les premières places (compétition), un p faible \"favorise\" les dernières places (participation). Pour le choisir, on peut s'aider du score du dernier :
f(n,n) = 100*n/(1+( 0.01*(n-1) +4 )/p)^p (n>=40)
et fixer un seul \"acceptable\" pour un n \"raisonnable\". Exemple : pour p=10 et n=1000, le dernier joueur reçoit 16 points (contre 0 avec la formule initiale), alors que le 500ème reçoit 164 points (contre 11 points avec la formule initiale). Si c'est trop ou pas assez, p peut se régler en conséquence.
Les égalités :
Jusqu'ici, je n'ai pas parlé des égalités. En effet, la solution déjà retenue me paraît excellente, ce que je vais argumenter :
Fixons n. Supposons que les joueurs i, i+1, i+k soient ex-aequo.
Effectivement, il paraît raisonnable de leur attribuer un même nombre de points qui soit fonction des points normalement attribués pour ces places :
u( f(i,n),f(i+1,n),...,f(i+k,n) )
où u(x1,x2,...,xk) est une fonction à choisir. Cela permet de séparer la définition de l'algorithme de points sans égalités de la gestion des égalités.
Je crois que dans l'algo initial, on attribuait le nombre de points f(i,n) à tous les k joueurs ex-aequo :
u(x1,x2,...,xk) = x1
Avec les problèmes que l'on sait. En revanche, attribuer la moyenne :
u(x1,x2,...,xk) = (x1+x2+...+xk)/k
paraît beaucoup plus naturel. Tout en garantissant la cohérence des points entre eux, ce choix permet de vérifier la propriété fondamentale suivante :
f(1,n)+f(2,n)+...+f(n,n) ne dépend que de n (quel que soit les égalités éventuelles). Autrement dit, le poids d'un jeu dans VGR (la somme des points que le jeu distribue) ne dépend que du nombre de joueurs à ce jeu. Cela permet d'empêcher définitivement toute \"bulle spéculative\" de points à la Smash Bros Training.
Pour conclure, mes recommandations sont :
- Conserver la gestion des égalités par moyenne (comme actuellement implémenté).
- Éventuellement, utiliser la formule fermée décrite plus haut, où l'exponentielle est remplacée par la fonction h(.) qui décroît moins vite (le choix du paramètre p étant ouvert à discussion).
- De manière générale, comparer toute suggestion de nouvelle formule à l'ancienne formule de points (en s'aidant de la formule approchée pour f(i,n) mise en place plus haut) et à ses propriétés (au moins les quelques-unes que j'ai listées).
Je félicite ceux qui auront eu le courage de tout lire.
J'espère avoir pu vous aider dans votre quête de la formule de points \"ultime\".
Maintenant c'est à vous de jouer !
Avec quelques années de retard (!), je découvre ce topic.
Je vais essayer d'y contribuer de façon constructive.
Soit n le nombre de posts sur un record
Soit i le classement du joueur sur ce record (i=1,...,n). Pour l'instant, je ne considère pas les cas d'égalités (j'en parlerai à la fin).
Le problème consiste à trouver une fonction f(i,n) qui donne le nombre de points du joueur i lorsqu'il y a n joueurs.
L'algorithme historique était défini par la formule de récurrence suivante :
f(1,n) = 100*n
f(i,n) = g(i)*f(i-1,n) pour i=2,...,n
où la fonction g(.) est définie ainsi :
g(2) = 0.80
g(3) = 0.80
g(4) = 0.81
g(5) = 0.81
...
g(36) = 0.97
g(37) = 0.97
g(38) = 0.98
g(39) = 0.98
g(40) = 0.99
...
g(n) = 0.99
Toute nouvelle formule doit être comparée à cet algorithme de référence. Ce qui rend les comparaisons difficiles est que cette formule n'est pas explicite en fonction de i et n, mais est définie par récurrence. La première chose à faire est donc de trouver une formule explicite approchée, ce que je vais faire ci-dessous.
Premièrement, une approximation continue de la fonction g(.) ci-dessus est donnée par:
g(x) = 0.79+x*0.005 , pour 2<=x<=40
g(x) = 0.99 , pour x>40
plus généralement, notons a=0.79, b=0.005 et c=0.99
à n fixé, f(.) vérifie donc :
f(x) = g(x)*f(x-1)
donc :
( f(x)-f(x-1) )/( x- (x-1) ) = (g(x)-1)*f(x-1)
après une approximation de Taylor:
f'(x-1)/f(x-1) = g(x)-1
puis, en intégrant :
f(x-1) = exp(G(x))
où G(x) est la primitive de g(x)-1 telle que f(1)=100*N
Après intégration de g(.), calcul des constantes et décalages d'indices, on obtient :
f(i,n) = 100*n*exp( (a-1)*(i-1) + 0.5*b*(i-1)^2 ) si 1<=i< 1+(c-a)/b
f(i,n) = 100*n*exp( (c-1)*(i-1) –((c-a)^2)/(2*b) ) si i>= 1+(c-a)/b
En prenant a=0.79, b=0.005 et c=0.99, cela donne la formule (approchée) de points VGR V5 :
f(i,n) = 100*n*exp( -0.21*(i-1) + 0.0025*(i-1)^2 ) si 1<=i<40
f(i,n) = 100*n*exp( -0.01*(i-1) –4 ) si i>= 40
Cette formule est très proche de l'algorithme initial rappelé au début (testez-la). Rapidement, on a donc une décroissance exponentielle des points attribués, avec une décroissance un peu plus rapide sur les 40 premiers du classement.
Maintenant, avec cette formule sous les yeux, qui mimique l'algorithme auquel nous sommes habitués, il est plus facile de voir les propriétés intéressantes qu'elle présente, et qu'il faudrait donc conserver dans une version améliorée :
1) À n fixé, f(i,n) décroît avec i :
C'est le minimum : mieux je suis classé, plus j'ai de points.
2) À n fixé, f(i+1,n)-f(i,n) décroît avec i (convexité) :
Plus je me rapproche de la première place, plus le gain d'une seule place rapporte de points.
3) À i fixé, f(i,n) croît avec n :
Si un nouveau participant arrive et que son score est inférieur au mien, je gagne des points.
4) Plus subtil : à i et n fixés, comment varie f(i+k,n+k) quand k croît ? Autrement dit, si un nouveau participant arrive et que son score est meilleur que le mien, comment varie mon score ? En fait, cela dépend de n. Si n>=5, alors le score décroît, mais si n<5, le score croît légèrement, le gain maximum étant atteint lors du passage de premier avec un seul post (n=1, i=1, 100 points) à second avec deux posts (n=2, i=2, 160 points, gain=60).
Il s'agit d'un équilibre entre gain de participation (croissance linéaire en n) et perte de performance (décroissance exponentielle en i). Le plus naturel est que f(i+k,n+k) décroisse avec k, ce qui est le cas la grande majorité du temps.
Cependant, il semble défendable aussi que l'inverse soit vrai quand n est très petit. Sans cela, par exemple, le passage de n=1, i=1 (100 points) à n=2, i=2 ferait que le nouveau premier (200 points) aurait plus du double de points que l'ex-premier.
Un tel équilibre pour le comportement de f(i+k,n+k) devra probablement être vérifié par toute formule alternative de calcul de points.
5) Pour n>=40, f(n,n) = 100*n*exp( -0.01*(n-1) –4 )
Autrement dit, le nombre de points du dernier tend vers 0 exponentiellement vite, ce quel que soit les constantes a, b et c choisies. Une astuce pour garantir au minimum 1 point serait d'arrondir à l'entier supérieur toutes ces valeurs réelles. Mais ça ne changerait rien à la vitesse de décroissance.
Une décroissance exponentielle a ses avantages et ses inconvénients. Elle permet d'encourager vivement l'amélioration de records et donc la compétition, mais ne laisse que des miettes aux mal classés (avec risque éventuel de décourager la participation).
Pour un site de records, un tel choix peut se défendre. Néanmoins, si besoin, il est possible d'adoucir la décroissance exponentielle. En effet, on a :
exp(-x) = limite( 1/(1+x/p)^p ) quand p tend vers l'infini
Ainsi, pour chaque p>=1, la fonction h(x)=1/(1+x/p)^p décroît plus lentement que exp(-x), et plus p est grand, plus h(x) se rapproche de exp(-x).
En substituant h(.) dans l'algo VGR V5, on obtient la nouvelle formule suivante :
f(i,n) = 100*n*h( 0.21*(i-1) - 0.0025*(i-1)^2 ) si 1<=i<40
f(i,n) = 100*n*h( 0.01*(i-1) +4 ) si i>= 40
Il y a un paramètre supplémentaire à choisir, p. Un p grand favorise les premières places (compétition), un p faible \"favorise\" les dernières places (participation). Pour le choisir, on peut s'aider du score du dernier :
f(n,n) = 100*n/(1+( 0.01*(n-1) +4 )/p)^p (n>=40)
et fixer un seul \"acceptable\" pour un n \"raisonnable\". Exemple : pour p=10 et n=1000, le dernier joueur reçoit 16 points (contre 0 avec la formule initiale), alors que le 500ème reçoit 164 points (contre 11 points avec la formule initiale). Si c'est trop ou pas assez, p peut se régler en conséquence.
Les égalités :
Jusqu'ici, je n'ai pas parlé des égalités. En effet, la solution déjà retenue me paraît excellente, ce que je vais argumenter :
Fixons n. Supposons que les joueurs i, i+1, i+k soient ex-aequo.
Effectivement, il paraît raisonnable de leur attribuer un même nombre de points qui soit fonction des points normalement attribués pour ces places :
u( f(i,n),f(i+1,n),...,f(i+k,n) )
où u(x1,x2,...,xk) est une fonction à choisir. Cela permet de séparer la définition de l'algorithme de points sans égalités de la gestion des égalités.
Je crois que dans l'algo initial, on attribuait le nombre de points f(i,n) à tous les k joueurs ex-aequo :
u(x1,x2,...,xk) = x1
Avec les problèmes que l'on sait. En revanche, attribuer la moyenne :
u(x1,x2,...,xk) = (x1+x2+...+xk)/k
paraît beaucoup plus naturel. Tout en garantissant la cohérence des points entre eux, ce choix permet de vérifier la propriété fondamentale suivante :
f(1,n)+f(2,n)+...+f(n,n) ne dépend que de n (quel que soit les égalités éventuelles). Autrement dit, le poids d'un jeu dans VGR (la somme des points que le jeu distribue) ne dépend que du nombre de joueurs à ce jeu. Cela permet d'empêcher définitivement toute \"bulle spéculative\" de points à la Smash Bros Training.
Pour conclure, mes recommandations sont :
- Conserver la gestion des égalités par moyenne (comme actuellement implémenté).
- Éventuellement, utiliser la formule fermée décrite plus haut, où l'exponentielle est remplacée par la fonction h(.) qui décroît moins vite (le choix du paramètre p étant ouvert à discussion).
- De manière générale, comparer toute suggestion de nouvelle formule à l'ancienne formule de points (en s'aidant de la formule approchée pour f(i,n) mise en place plus haut) et à ses propriétés (au moins les quelques-unes que j'ai listées).
Je félicite ceux qui auront eu le courage de tout lire.
J'espère avoir pu vous aider dans votre quête de la formule de points \"ultime\".
Maintenant c'est à vous de jouer !
25/08/2011 01:09
#682
Juste... wow...
J'ai quand même une question, qui me trottait dans la tête depuis un moment, et comme je vois que tu n'en as pas parlé dans ton message, je me permets de te poser la question
Pour les égalités, VGR les traîte via un moyenne arithmétique non pondérée, comme tu l'as toi-même rappelé dans ton message.
Utiliser un autre type de moyenne (géométrique, harmonique ou autre) ne serait-il pas plus judicieux? Comme je vois que les records SSBB donnent encore beaucoup trop de points à mes yeux...
Merci pour ton message, riche en informations
J'ai quand même une question, qui me trottait dans la tête depuis un moment, et comme je vois que tu n'en as pas parlé dans ton message, je me permets de te poser la question

Pour les égalités, VGR les traîte via un moyenne arithmétique non pondérée, comme tu l'as toi-même rappelé dans ton message.
Utiliser un autre type de moyenne (géométrique, harmonique ou autre) ne serait-il pas plus judicieux? Comme je vois que les records SSBB donnent encore beaucoup trop de points à mes yeux...
Merci pour ton message, riche en informations
02/09/2011 00:44
#683
Pour TigrN et ceux qui réfléchissent à une nouvelle formule, j'ai quelques reproches à la formule actuelle : notamment sur les records avec beaucoup de joueurs.
Record Exemple
128 joueurs sur ce record
-Regardons la répartition des points des 20 premiers:
12k
10k
8k
6k
5k
4k
3k
2k
2k
2k
1k
1k
1k
1k
900
800
700
700
600
600
-Prenons mon record 4e et celui de Flo 1er
6k soit la moitié du 1er qui a 12k
-Prenons une personne à la moitié du classement :
300 soit 2 fois moins à peine que le 20.
-Prenons une personne dans le dernier quart du classement
250 soit moins de 3 fois les points données au 20
-Bilan :
Il y a trop d'écarts entre les points accordés sur de gros records en tête de classement : surtout dans les 20 premiers. Certes ce système encourage à faire de super record mais récompense très mal les joueurs qui arrive dans le top 20 sur 120 joueurs ce qui est un très très bon score. Je pense donc qu'avec cette formule cela décourage surtout les joueurs qui se contente souvent d'un score au milieu du classement qui finalement ne donne pas tellement moins de score qu'un score du 1er quart .
Ce serait bien que les personnes compétentes pour l'élaboration d'une formule prennent ces nouveaux éléments en compte.
J'attends vos avis
Record Exemple
128 joueurs sur ce record
-Regardons la répartition des points des 20 premiers:
12k
10k
8k
6k
5k
4k
3k
2k
2k
2k
1k
1k
1k
1k
900
800
700
700
600
600
-Prenons mon record 4e et celui de Flo 1er
6k soit la moitié du 1er qui a 12k
-Prenons une personne à la moitié du classement :
300 soit 2 fois moins à peine que le 20.
-Prenons une personne dans le dernier quart du classement
250 soit moins de 3 fois les points données au 20
-Bilan :
Il y a trop d'écarts entre les points accordés sur de gros records en tête de classement : surtout dans les 20 premiers. Certes ce système encourage à faire de super record mais récompense très mal les joueurs qui arrive dans le top 20 sur 120 joueurs ce qui est un très très bon score. Je pense donc qu'avec cette formule cela décourage surtout les joueurs qui se contente souvent d'un score au milieu du classement qui finalement ne donne pas tellement moins de score qu'un score du 1er quart .
Ce serait bien que les personnes compétentes pour l'élaboration d'une formule prennent ces nouveaux éléments en compte.
J'attends vos avis

02/09/2011 01:08
#684
Tu n'as pas tout à fait tort Djon, mais si l'écart des points n'est pas volontairement élevé pour le top 20, alors justement, les joueurs iront se contenter d'une place moyenne sur tous les records plutôt que la 1ere place, ce qui valorise une fois de plus l'envoi massif de scores et non la compétition...
Je suis en train de réfléchir à tous les points cités par TigrN, car ils sont très bons et à fortement prendre en compte. Mais j'essaye d'élaborer un système de \"points bonus\" ou \"points malus\" en fonction de notre score et celui des autres, et non plus un simple classement...Ces points en + ou en - (je ne sais pas encore) iront s'ajouter ou se retrancher selon un système de pourcentage afin d'éviter qu'un membre 2ème ne gagne pas plus de point que le 1er car il a un écart faramineux entre lui et le 3ème (par exemple)...
Mais mon souci majeur se pose sur les scores qui peuvent être négatifs (golf, etc..) ou les scores à plusieurs critères (Score + Temps par exemple)
Je continue à réfléchir à la question et dès que j'ai un truc qui tient à peut prêt la route, j'essayerai de vous faire une page sur le site pouvant simuler des distributions de point comportant formule actuelle et formule à mettre en place ;)
Je suis en train de réfléchir à tous les points cités par TigrN, car ils sont très bons et à fortement prendre en compte. Mais j'essaye d'élaborer un système de \"points bonus\" ou \"points malus\" en fonction de notre score et celui des autres, et non plus un simple classement...Ces points en + ou en - (je ne sais pas encore) iront s'ajouter ou se retrancher selon un système de pourcentage afin d'éviter qu'un membre 2ème ne gagne pas plus de point que le 1er car il a un écart faramineux entre lui et le 3ème (par exemple)...
Mais mon souci majeur se pose sur les scores qui peuvent être négatifs (golf, etc..) ou les scores à plusieurs critères (Score + Temps par exemple)
Je continue à réfléchir à la question et dès que j'ai un truc qui tient à peut prêt la route, j'essayerai de vous faire une page sur le site pouvant simuler des distributions de point comportant formule actuelle et formule à mettre en place ;)
04/09/2011 00:35
#685
niconoe :
j'essaye d'élaborer un système de \"points bonus\" ou \"points malus\" en fonction de notre score et celui des autres, et non plus un simple classement...Ces points en + ou en - (je ne sais pas encore) iront s'ajouter ou se retrancher selon un système de pourcentage afin d'éviter qu'un membre 2ème ne gagne pas plus de point que le 1er car il a un écart faramineux entre lui et le 3ème (par exemple)...
il me semble qu'un tel système n'a pas sa place sur VGR...
bart l'a dit sur ce forum mais je ne sais plus sur quelle page, le nombre de points distribué à un membre ne doit dépendre que de sa position dans le classement et absolument pas de l'écart qu'il a pu creuser ou subir envers un autre concurent.
j'avoue être d'accord avec ce concept; pour calculer les points, on regarde le classement et non pas les performances!
EDIT: premier post de la page 61:
09/06/2011 14:01
magicbart :
Regle d'or, on ne regarde pas le score pour l'atttribution des points.
Je veux donc une conclusion apres mon message, pour mise en place semaine prochaine.
Merci.
je suis d'accord avec bart.
04/09/2011 23:50
#686
J'en discuterai en détail avec bart si je trouve un point concret et valable. L'intérêt d'un tel système de calcul est qu'il permettrai aux premiers de continuer à jouer pour augmenter leur score et donc augmenter leurs points ou faire baisser ceux des autres... Ainsi, pour n joueurs sur un records visant la 1ere place, on a plus n-1 joueurs actifs mais n, car même le 1er voudra augmenter son nombre de point.
Et puis, le fait de battre son score sans monter dans le classement devrait pour moi être récompensé.
Et puis, le fait de battre son score sans monter dans le classement devrait pour moi être récompensé.
04/09/2011 23:57
#687
05/09/2011 00:37
#688
05/09/2011 14:31
#689
Au sujet du fait de gagner des points en améliorant simplement ses scores sans gagner de place dans le classement :
Vous comptez faire comment pour mettre ce système en place ? Parce que j'y ai réfléchi un instant, et franchement j'ai du mal à voir comment on pourrait procéder.
>> Cela signifierait que pour chaque jeu il faudrait configurer une échelle moyenne des scores moyens, pour que le programme (oui bon je sais, chut) qui calcule et octroie les points sache que ton amélioration sur tel niveau à tel jeu veut autant de points, etc..
Genre exemple : \"J'ai amélioré mon score en contre la montre sur F-Zero de 4 dixièmes !\"
>> Comment va t-on octroyer de nouveaux points ? \"4 centièmes ? C'est rien du tout, hop, 1 point\" (alors qu'on sait très bien que 4 dixièmes en contre la montre sur un jeu comme F-Zéro c'est énorme)
Exemple 2 : \"J'ai amélioré mon score de 12.000.000 de points à 3D Ultra Pinball !\"
>> \"12.000.000 de points ? Mais c'est énorme ! Allez, hop, 3.000 points pour toi !\"
(alors qu'en fait c'est pas si énorme que ça dans ce jeu)
La meilleure solution selon moi, si vous envisagiez d'intégrer ce système, serait la suivante :
>> Il faudrait déterminer le plafond maximum possible de chacun des scores sur VGR, et en fonction de ce plafond (objectif), on t'octroie plus ou moins de points si tu t'en rapproches ? Mais comment choisir le plafond max pour chaque jeu ? Ce serait laborieux en plus.
Le mieux serait de considérer comme plafond le temps minimum possible dans un contre la montre (soit 00:00:00), et le score maximum possible pour le score (soit 9999999999), pour TOUS les jeux, et qu'en fonction de la moyenne des joueurs le programme adapterait son octroi de \"bonus\".
Exemple : Si un joueur améliore son temps de 3 centième, et que le programme voit que tout le monde se dispute les scores pour quelques centièmes, le bonus sera plus important que si les joueurs se disputaient la place pour des dixièmes voire des secondes.
Le problème dans ce truc, c'est que si il y a énormément de joueurs, avec des scores très différents (genre les derniers), ça va fausser la moyenne et si le premier augmente son score de très peu (mais ce qui serait un exploit un soi et mériterait d'être récompensé), il ne se verrait pas octroyer beaucoup de points, pas autant que ce qu'il en mériterait.
Enfin voilà ça me parait chaud à mettre un place un truc dans le genre, qui ne soit pas démesuré et qui soit équitable.
Je ne sais pas si j'ai été clair. Je ne sais même pas si j'ai dit des trucs intelligents ou complètement cons xD Mais j'avais juste envie de réagir :D
Vous comptez faire comment pour mettre ce système en place ? Parce que j'y ai réfléchi un instant, et franchement j'ai du mal à voir comment on pourrait procéder.
>> Cela signifierait que pour chaque jeu il faudrait configurer une échelle moyenne des scores moyens, pour que le programme (oui bon je sais, chut) qui calcule et octroie les points sache que ton amélioration sur tel niveau à tel jeu veut autant de points, etc..
Genre exemple : \"J'ai amélioré mon score en contre la montre sur F-Zero de 4 dixièmes !\"
>> Comment va t-on octroyer de nouveaux points ? \"4 centièmes ? C'est rien du tout, hop, 1 point\" (alors qu'on sait très bien que 4 dixièmes en contre la montre sur un jeu comme F-Zéro c'est énorme)
Exemple 2 : \"J'ai amélioré mon score de 12.000.000 de points à 3D Ultra Pinball !\"
>> \"12.000.000 de points ? Mais c'est énorme ! Allez, hop, 3.000 points pour toi !\"
(alors qu'en fait c'est pas si énorme que ça dans ce jeu)
La meilleure solution selon moi, si vous envisagiez d'intégrer ce système, serait la suivante :
>> Il faudrait déterminer le plafond maximum possible de chacun des scores sur VGR, et en fonction de ce plafond (objectif), on t'octroie plus ou moins de points si tu t'en rapproches ? Mais comment choisir le plafond max pour chaque jeu ? Ce serait laborieux en plus.
Le mieux serait de considérer comme plafond le temps minimum possible dans un contre la montre (soit 00:00:00), et le score maximum possible pour le score (soit 9999999999), pour TOUS les jeux, et qu'en fonction de la moyenne des joueurs le programme adapterait son octroi de \"bonus\".
Exemple : Si un joueur améliore son temps de 3 centième, et que le programme voit que tout le monde se dispute les scores pour quelques centièmes, le bonus sera plus important que si les joueurs se disputaient la place pour des dixièmes voire des secondes.
Le problème dans ce truc, c'est que si il y a énormément de joueurs, avec des scores très différents (genre les derniers), ça va fausser la moyenne et si le premier augmente son score de très peu (mais ce qui serait un exploit un soi et mériterait d'être récompensé), il ne se verrait pas octroyer beaucoup de points, pas autant que ce qu'il en mériterait.
Enfin voilà ça me parait chaud à mettre un place un truc dans le genre, qui ne soit pas démesuré et qui soit équitable.
Je ne sais pas si j'ai été clair. Je ne sais même pas si j'ai dit des trucs intelligents ou complètement cons xD Mais j'avais juste envie de réagir :D
05/09/2011 14:52
#690
05/09/2011 17:26
#691
magicbart :
Je maintien ma position, seul la position doit compter, la performance ne doit pas intervenir dans le calcul.
je suis 100% d'accord avec ça, inutile de se fatiguer à trouver une telle formule alors que l'on arrive pas à en trouver une qui ne prendrait en compte que la position, qui pourtant doit être plus \"simple\".
05/09/2011 17:39
#692
05/09/2011 18:07
#693
06/09/2011 00:37
#694
NintendoPlayers :
Le problème évoqué par Darkabe a déjà été contré par niconoe, qui se base sur l'écart relatif.
Exactement,
Darkabe, je vais te donner un exemple
Prenons un classement de 3 personnes sans ex-aequo
Le premier a fait un score de 1.000.000 il a, avec la formule actuelle 300 ptsRecord
Le deuxième a fait un score de 500.000 il a, avec la formule actuelle 240 ptsRecord
Le troisième a fait un score de 250.000 il a, avec la formule actuelle 192 ptsRecord
entre le 1er et le deuxième, il y a un écart de 50%, et il y a 60 ptsRecord d'écart., le 1er va donc gagner 50% de 60ptsRecords en bonus
entre le 2ème et le 3ème, il y a un écart de 50% également, mais il n'y a que 48 ptsRecords d'écart, le 2ème aura donc 50% de 48ptsRecords de bonus
Le nouveau classement sera donc :
1er => 1.000.000 => 330pts
2ème => 500.000 => 264pts
3ème => 250.000 => 192pts
Si le 1er améliore sont score et monte alors à 2.000.000. Avec la forumle d'aujourd'hui, il resterai à 300 ptsRecord alors qu'ici, il va gagner des points :
1er => 2.000.000 => écart de 75% => +45pts => 345pts
2ème => 262pts
3ème => 192pts
Si cette fois-ci le 2ème tente de battre le 1er et fait 1.900.000 :
1er => 2.000.000 => écart de 5% => +3pts => 303pts
2ème => 1.900.000 => écart de 87% => +42pts => 282pts
3ème => 192pts
Ceci est un exemple et l'intérêt en pourcentage gagné n'est pas encore très bien exploité, mais on remarque qu'avec un tel système, le classement est prédominant pour l'attribution des points.
Avec cet exemple, on démontre facilement un problème sur les égalités qui rapporteraient moins que si on fait un score légèrement inférieur, mais je compte travailler la dessus ;)
yicestmoi :
je suis 100% d'accord avec ça, inutile de se fatiguer à trouver une telle formule alors que l'on arrive pas à en trouver une qui ne prendrait en compte que la position, qui pourtant doit être plus \"simple\".
En réalité, on veut une formule qui représente le plus le potentiel réalisé lors de l'aboutissement à un score. Et le score, et non le classement, permet d'aboutir plus facilement justement a une telle représentation. Le classement ne doit servir que d'assurance pour éviter qu'un 2ème gagne plus de points qu'un 1er. Du moins, mes recherches m'ont orienté de ce côté
06/09/2011 09:38
#695
magicbart :
Effectivement c'est très clair, il est très difficile de faire ce système car c'est au cas par cas sur 100.000 records
Comme Dieu a pu le dire, le problème est qu'il est difficile de généraliser cela à l'ensemble des records. Ce bonus ne devrait pas avoir autant d'importance sur un record où le nombre de point croît de plus en plus vite que sur un record où au contraire chaque point devient primordial.
Sur certains jeux tu peux creuser un écart important en terme de points en quelques secondes alors que pour d'autres tu peux jouer un temps monstrueux pour avoir un score un poil meilleur. Ce système de bonus pourrait au final dépendre plus du jeu que de la performance. :p
Sinon comment utiliser ce système dans le cas des records qui combinent un score et un temps ou qui combinent deux scores ?
Je ne suis pas contre l'idée de base, mais comme yicestmoi et Darkabe l'ont dit cela risque d'être extrêmement compliqué à mettre en place alors qu'on galère déjà avec le système \"basique\" de calcul de points. :p
06/09/2011 11:38
#696
06/09/2011 14:14
#697
Pour les scores qui combinent plusieurs score/temps, j'avais déjà répondu plus haut :P.
Mais je comprends la problématique que tu soulèves shark : mon idée prennait en compte les scores d'un point de vu relatif mais si l'on joue sur une accélération ou décélération de vitesse de croissance des points d'un jeu, la relativité ici n'est plus correctement respectée.
Je suis actuellement en train d'étudier la formule de TigrN :
f(i,n) = C*n*(1+(0,21*(i-1)-0,0025*(i-1)²)/k)^(-k) pour 1<=i<40
f(i,n) = C*n*(1+(0,01*(i-1)+4)/k)^(-k) pour i>=40
Avec:
f(), l'application qui donne le nombre de points à attribuer sans prendre en compte les égalités ;
i, la position du joueur ;
n, le nombre de joueur ;
C, la constante initiale (actuellement C=100 mais pour plus de précision lié aux divers élément de cette formule, on pourrait imaginer C=1000 ou C=10000)
De manière générale, un joueur seul sur un score gagne C ptsRecord
k, le paramètre de \"réduction de croissance d'écart\"
Plus k est grand, plus l'écart du nombre de points à distribuer entre les joueurs aux positions i et i-1 sera petit (d'après ce que j'ai compris, corrige moi TigrN si je me trompe)
Ainsi, comme je pense que le mieux serait d'avoir un écart relativement plus grands sur les premières places que sur les dernières, je propose l'utilisation de (i) comme valeur à k.
Malheureusement, mes compétence mathématiques m'empêche de savoir si le fait que k ne soit pas constant ne pose pas de problème logique à l'établissement du nombre de pointsRecords gagnés...
TigrN, peux-tu nous éclairer sur ce point ?
Mais je comprends la problématique que tu soulèves shark : mon idée prennait en compte les scores d'un point de vu relatif mais si l'on joue sur une accélération ou décélération de vitesse de croissance des points d'un jeu, la relativité ici n'est plus correctement respectée.
Je suis actuellement en train d'étudier la formule de TigrN :
f(i,n) = C*n*(1+(0,21*(i-1)-0,0025*(i-1)²)/k)^(-k) pour 1<=i<40
f(i,n) = C*n*(1+(0,01*(i-1)+4)/k)^(-k) pour i>=40
Avec:
f(), l'application qui donne le nombre de points à attribuer sans prendre en compte les égalités ;
i, la position du joueur ;
n, le nombre de joueur ;
C, la constante initiale (actuellement C=100 mais pour plus de précision lié aux divers élément de cette formule, on pourrait imaginer C=1000 ou C=10000)
De manière générale, un joueur seul sur un score gagne C ptsRecord
k, le paramètre de \"réduction de croissance d'écart\"
Plus k est grand, plus l'écart du nombre de points à distribuer entre les joueurs aux positions i et i-1 sera petit (d'après ce que j'ai compris, corrige moi TigrN si je me trompe)
Ainsi, comme je pense que le mieux serait d'avoir un écart relativement plus grands sur les premières places que sur les dernières, je propose l'utilisation de (i) comme valeur à k.
Malheureusement, mes compétence mathématiques m'empêche de savoir si le fait que k ne soit pas constant ne pose pas de problème logique à l'établissement du nombre de pointsRecords gagnés...
TigrN, peux-tu nous éclairer sur ce point ?
07/09/2011 01:34
#698
Bon, voici un post qui sera utile ! (Enfin)
Voici un lien megaupload où vous pourrez télécharger un classeur ods (un Excel version OpenOffice) qui contient 2 feuilles :
la 1ère donne le nombre de points distribués pour toutes les positions possibles sur des classement allant de 1 à 200 membres avec k=i
la 2ème donne la même chose sauf que vous pouvez paramétrer la constante k en toute première case du tableau (par défaut à 22 ici, valeur qui m'a plu par rapport aux nombres de points donnés)
Dans les deux cas, les cas de moyennes ne sont pas présentés, mais une simple moyenne arithmétique arrondie à l'inférieur entre les égalités sera parfait
Je précise que j'ai pris une base 1000 et non une base 100 afin d'avoir des scores raisonnables
La magie se trouve ici ;)
J'attends beaucoup de retour sur ce doc, afin qu'on puisse vraiment savoir si vous trouvez des incohérence, etc...
Si NP (ou autre) pouvait utiliser ceci pour nous faire un petit test en condition réelle avec des comparaisons entre les records qui fâchent à l'heure actuelle, ça serait du top du top ;)
Merci à tous !
PS : Bien que je ne soit pas écologiste, je vous recommande de ne pas imprimer ces tableaux... Paix à votre imprimante...
Voici un lien megaupload où vous pourrez télécharger un classeur ods (un Excel version OpenOffice) qui contient 2 feuilles :
la 1ère donne le nombre de points distribués pour toutes les positions possibles sur des classement allant de 1 à 200 membres avec k=i
la 2ème donne la même chose sauf que vous pouvez paramétrer la constante k en toute première case du tableau (par défaut à 22 ici, valeur qui m'a plu par rapport aux nombres de points donnés)
Dans les deux cas, les cas de moyennes ne sont pas présentés, mais une simple moyenne arithmétique arrondie à l'inférieur entre les égalités sera parfait
Je précise que j'ai pris une base 1000 et non une base 100 afin d'avoir des scores raisonnables
La magie se trouve ici ;)
J'attends beaucoup de retour sur ce doc, afin qu'on puisse vraiment savoir si vous trouvez des incohérence, etc...
Si NP (ou autre) pouvait utiliser ceci pour nous faire un petit test en condition réelle avec des comparaisons entre les records qui fâchent à l'heure actuelle, ça serait du top du top ;)
Merci à tous !
PS : Bien que je ne soit pas écologiste, je vous recommande de ne pas imprimer ces tableaux... Paix à votre imprimante...
07/09/2011 04:33
#699
07/09/2011 10:37
#700
Visualizzazione da 681 a 700 di 726 elementi
You must be logged in to reply to this topic.