Forums de Grospixels
Bienvenue sur le forum de Grospixels : [ S'Enregistrer ]
Déjà inscrit ? [ Connexion ]
 
retour sur le site
rechercher
Index du Forum » » Vie du site » » Système de Leaderboard intégré au forum Arena
35 messages • page
12
Auteur Système de Leaderboard intégré au forum Arena
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-07-26 18:10
J'ai commencé à bidouiller un petit truc pour afficher et mettre à jour automatiquement le tableau des scores de chaque topic contenant la mention HIGH SCORE. Ce n'est pas encore tout-à-fait au point, mais vous pouvez déjà me donner quelques retours sur l'affichage, avec le tableau de test plus haut :
- En haut de chaque page du topic s'affiche un leaderboard récapitulant tous les scores du jeu.
- Pour mettre à jour son score, il faut le faire au moment de poster une nouvelle réponse; sous le cadre où vous tapez votre réponse, il y a deux nouvelles cases. La première correspond au score (n'accepte que des chiffres, sans espace), la seconde, facultative, permet d'ajouter un détail, comme par exemple ALL CLEAR, niveau 12, etc. Si vous n'avez aucun nouveau record à taper, il suffit de laisser les deux champs vides lorsque vous postez une réponse.

Je suis en train de coder une interface de modération qui permettra d'accéder à tous les scores de tous les jeux, et de les ajouter, modifier, supprimer... Lyle et J étant les membres les plus actifs de la rubrique, je vais les catapulter modérateurs de cette rubrique .

Si vous avez des remarques, d'ordre esthétique ou/et pratique, n'hésitez pas !

  Voir le site web de JC
Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-07-26 19:37
Tout bonnement excellent. Et cela résout instantanément deux problèmes, celui de devoir copier-coller puis mettre à jour le classement et celui de ne pas avoir le classement en début de thread. Avec cette interface, il est en haut de chaque page.

Aucune remarque au niveau esthétique, ça me paraît très bien. Juste un truc : quelle est la quantité maximale de caractères dans le deuxième champ ? Si on met juste la mention "ALL CLEAR", aucun problème, mais s'il y a plus d'informations ? Du même coup, la mise en page pourrait être déséquilibrée compte tenu de la position centrale du classement.

Pour la modération de scores, aucun problème en ce qui me concerne. Je suis curieux de voir ce que tu as concocté.

  Voir le site web de Lyle
J
Pixel monstrueux


Joue à 8-Bit Adventures 2 (PC), Tetris (Game Boy)

Inscrit : Jan 20, 2004
Messages : 3578

Hors ligne
Posté le: 2013-07-26 22:46
Très intéressant, JC !

Une petite remarque d'ordre technique : comment gères-tu l'"ordre" du classement ? C'est-à-dire le fait que le classement doive être réalisé en allant du score le plus élevé au plus faible (comme dans Manic Miner) ou au contraire du plus faible au plus élevé (comme sur un jeu de course, où c'est le temps le plus faible qui est le meilleur).
Il te suffit a priori de permettre la saisie d'un paramètre pour chaque topic indiquant dans quel sens le classement doit être réalisé. Ca pourrait être l'auteur du topic qui saisirait ce paramètre dans le premier post.

  Voir le site web de J
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-07-27 20:04
Citation :
quelle est la quantité maximale de caractères dans le deuxième champ ? Si on met juste la mention "ALL CLEAR", aucun problème, mais s'il y a plus d'informations ? Du même coup, la mise en page pourrait être déséquilibrée compte tenu de la position centrale du classement.

Je crois que j'ai mis une limite à 16 caractères. Concernant l'éventuel déséquilibre, c'est surtout vrai pour le thème par défaut du forum qui à comme défaut (haha) de se baser sur seulement 2 couleurs (gris et noir) là où le thème que j'utilise en propose 4. J'essayerai sans doute d'améliorer la présentation au fur et à mesure, même si avec deux couleurs ça va être délicat...

Citation :
comment gères-tu l'"ordre" du classement ? C'est-à-dire le fait que le classement doive être réalisé en allant du score le plus élevé au plus faible (comme dans Manic Miner) ou au contraire du plus faible au plus élevé (comme sur un jeu de course, où c'est le temps le plus faible qui est le meilleur).

C'est simple, pour l'instant je ne le gère pas
Bon, plus sérieusement, je n'y avais pas pensé. Pour l'instant j'ai fait au plus simple... Mais je vais implémenter une option de classement, bonne idée !

J'ai aussi d'autres idées, comme l'implémentation de leaderboards multiples au sein d'un même topic. Ca servira sans doute peu pour les HISCORES, qui se basent sur un seul mode de jeu (à l'exception de Shinobi et Three Wonders), mais de façon générale ça permettra de créer plusieurs "modes" si le créateur du topic décide de ne pas imposer certaines options. Par exemple "facile/normal/difficile", ou "personnage1/personnage2" si le choix du personnage de départ influence significativement le score, ou "circuit1/circuit2" pour du time attack sur Mario Kart, ou "ZXSpectrum/C64" si des différences entre machines sont significatives... Bien entendu, le but n'est pas de faire autant de leaderboards qu'il y a d'options dans un jeu... Il faut que les modes soient pertinents, que le créateur du topic impose certaines choses, et je pense que la plupart du temps, un seul mode "par défaut" conviendra très bien...
Pour l'instant le moteur semble fonctionnel; la création/édition des scores a l'air de marcher. Il faut que j'ajoute un mode création/édition de topics, et ensuite on devrait pouvoir mettre à jour les défis déjà existants...

  Voir le site web de JC
Youpla
Pixel monstrueux

Score au grosquiz
0002030 pts.

Inscrit : May 13, 2009
Messages : 3452
De : Villeurbanne

Hors ligne
Posté le: 2013-07-28 00:13
Petit retour : dans le topic manic miner j'ai un lien vers le panneau de modération sous le classement. A priori je ne suis pas modérateur

JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-07-28 10:51
En fait c'est normal, c'est juste le mot "modération" qui n'est pas très bien choisi ^^.
Sous chaque tableau, il y a donc effectivement un lien qui mène à des options supplémentaires selon les cas. J'ai mis ce lien sous chaque tableau plutôt que dans un message à part ou/et en entête de l'actuel topic, car ça évitera aux personnes intéressées de le chercher partout à chaque fois. Voilà comment ça marche :

- si vous n'êtes pas connecté au forum, vous n'avez accès à rien.

- si vous êtes connecté, vous avez accès à un menu déroulant qui vous permet de consulter tous les leaderboards de tous les défis lancés dans le forum Arena ayant fait l'objet d'un classement. C'est un accès en lecture seule, identique au(x) classement(s) que vous pourrez voir en haut de page de chaque topic dédié. En l'état ça fait un peu office de mini moteur de recherche... Au début, j'avais ajouté une option pour que chacun puisse éditer ses propres scores, mais après coup je l'ai supprimée, pour deux raisons : 1- L'idée de l'Arena étant aussi de participer à un topic tournant autour d'un jeu, il est préférable de mettre son score à jour au moment de poster un nouveau message, plutôt que de le faire "en douce". par extension, je voulais éviter que des lurkeurs puissent mettre un score sans participer au topic. (Balancer un score sans un minimum d'interaction avec le reste des forumeurs n'a aucun intérêt --ce n'est que mon avis). 2- La participation étant ouverte à toute personne inscrite au forum, je voulais minimiser le risque de vandalisme, où un bot (ou un crétin) s'inscrirait pour mettre un score/spam dans tous les tableaux, sans forcément qu'on s'en aperçoive aussitôt...

- si vous êtes modérateur ou/et membre de l'équipe de Grospixels, pour chaque tableau vous avez en plus un petit formulaire de type "Nom / Score / etc." qui vous permet de changer le classement. Si vous entrez un nom d'utilisateur déjà dans le classement, vous mettez à jour le score en question. Si vous entrez un nouveau nom, vous ajoutez une ligne au classement. (Attention à entrer le nom exact de la personne).

- si vous n'êtes pas modérateur MAIS que vous êtes l'initiateur d'un topic, vous aurez, pour le leaderboard correspondant, les mêmes droits d'accès que les modérateurs. (cette option n'est pas encore en place). En outre, en tant que modérateur/initiateur, plusieurs options (qui restent à définir) s'offriront à vous pour, disons, personnaliser le défi que vous proposez aux grospixéliens. Pour l'instant ça se résumera à deux choses : le choix d'un classement croissant ou décroissant, et la possibilité de créer plusieurs classements au sein d'un même topic (les "modes" dont je parlais plus haut).

Vous noterez que pour l'instant, vu que l'Arena n'est pas très fréquentée, et qu'en plus on est entre gens bien élevés, j'ai tout fait pour éviter les options restrictives/punitives (pas d'inscription obligatoire à tel ou tel défi, pas de score en attente de validation pour apparaitre dans le classement, pas d'option de disqualification, ni de bannissement des concours... Bref, si les modo peuvent modifier/supprimer les scores des autres, c'est surtout dans l'optique de corriger une erreur, et d'ajouter les scores des topics déjà existants... Si demain l'Arena devient très populaire (et j'ose espérer que ce concept de leaderboard y contribuera un tout petit peu ^^), on avisera...

  Voir le site web de JC
Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-07-28 13:59
Très bonne idée, le menu déroulant. Et je suis d'accord qu'il faut limiter la possibilité d'édition. Non pas que les risques de fraude ou de hack soient très élevés, mais on sait jamais.

Dans le panneau de modération, ne faudrait-il pas mettre une option pour effacer une entrée ? Je propose ça au cas où l'on se trompe en tapant le nom du participant. En l'état, il est impossible d'effacer cette erreur, si ?

J'ai voulu commencer à intégrer des classements dans le leaderboard. Si j'ai bien compris, par défaut les scores sont classés par ordre décroissant (en attendant ton option qui donne le choix entre croissant et décroissant). Le problème, c'est que sur Bank Panic, j'ai obtenu ce classement :

maxxxxxx :: 95 100
Lyle :: 305 300
François :: 301 300
JPB :: 173 900
J :: 1 367 550

Je crois que je sais pourquoi c'est présenté comme ça. Ca me fait penser à la façon dont Windows me classe les pistes d'une oeuvre musicale si je ne mets pas des "0" devant les pistes à un seul chiffre (je pense que ça doit être paramétrable dans Windows, mais j'ai jamais pris la peine de chercher).

Ca donne quelque chose comme ça :

1. Piste n°1
10. Piste n°10
11. Piste n°11
2. Piste n°2
3. Piste n°3
...

Je crois qu'il se passe le même phénomène avec les classements. Il faut que tu rectifie quelque chose dans ton code pour qu'il classe bien les scores selon leur valeur absolue.

Je crois aussi savoir pourquoi tu n'as pas vu ce problème : dans Manic Miner, tous les scores enregistrés font le même nombre de chiffres. Le problème ci-dessus ne s'est donc pas posé.

  Voir le site web de Lyle
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-07-28 16:39
Ha flute... Oui au début la colonne score était "numérique". C'était très bien pour le classement mais ça avait le défaut d'interdire tout ce qui n'est pas un chiffre, et ça allait poser un problème évident pour les time attack (exemple: 11'52"974). Du coup j'ai changé la propriété de la colonne pour un truc plus permissif... et là c'est le drame, le classement se fait caractère par caractère. Donc en gros, disons que 2 > 17 > 099999 . Bon, je vais donc devoir récupérer les résultats de la requête autrement et bidouiller une fonction de tri a posteriori...

Bon par contre, dans tous les cas de figure je crois qu'il va falloir poster des scores sans espace, sinon, lors du tri, le score sera interprété comme des groupes de chiffres, et pour Bank Panic ça risque de donner quelque chose comme ça :

305 300
301 300
173 900
95 100
1 367 550

En contrepartie, je pourrais ajouter, dans les réglages de chaque topic, une option de formatage parmi deux ou trois au choix (score, timeattack...), ce qui permettra de recréer les scores "à la française" (donc avec des espaces) au moment de l'affichage du leaderboard.
J'envisage aussi d'ajouter une option de "choix de l'unité" (pts, $, vies, km, etc.) Ça permettra d'avoir un affichage uniforme (sinon, si chacun écrit ce qu'il veut avec son score, d'une ligne à l'autre on risque de trouver points, pts, point, rien ^^)

Ha oui, j'ai oublié de préciser : pour créer un défi, il suffira, lors de la création d'un topic (ou de l'édition du 1er post d'un topic) de cocher une petite case prévue à cet effet. Les options les plus fréquentes seront choisies par défaut (ordre décroissant, affichage "à la française", etc.), et il suffira de passer par le panneau de modération pour éventuellement personnaliser l'affichage...

EDIT: Exact, je n'ai pas encore mis d'option pour supprimer une entrée (j'avais oublié ^^...)

  Voir le site web de JC
Youpla
Pixel monstrueux

Score au grosquiz
0002030 pts.

Inscrit : May 13, 2009
Messages : 3452
De : Villeurbanne

Hors ligne
Posté le: 2013-07-28 20:42
Citation :
Le 2013-07-28 16:39, JC a écrit :
et là c'est le drame, le classement se fait caractère par caractère. En gros, disons que 2 > 17 > 099999 .

Il s'agit d'une généralisation de l'ordre alphabétique que l'on appelle ordre lexicographique et qui repose généralement sur le numéro ascii des caractères, l'espace étant un caractère comme les autres.

Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-07-29 20:34
Problème de classement réglé apparemment.

Quelle réactivité ce JC !

  Voir le site web de Lyle
J
Pixel monstrueux


Joue à 8-Bit Adventures 2 (PC), Tetris (Game Boy)

Inscrit : Jan 20, 2004
Messages : 3578

Hors ligne
Posté le: 2013-07-30 00:03
Merci pour tout ça, JC !

  Voir le site web de J
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-07-30 02:35
Pas de quoi ^^. Donc oui, normalement le système est opérationnel.

Pour rappel, lorsque vous postez un nouveau message dans un topic faisant l'objet d'un concours, vous devriez avoir quelques champs supplémentaires :
- Le score. Si c'est un nombre (ce qui sera le cas 99% du temps ^^), celui-ci doit être écrit sans espace ni virgule. En cas de nombre décimal comme dans Crazy Taxi, il faut mettre un point (ex: 64127.86)
- Un détail (facultatif) comme par exemple ALL CLEAR si vous parvenez à one-créditer le jeu.
- Si le topic propose plusieurs modes, il y aura un petit menu déroulant pour choisir le mode dans lequel vous voulez entrer un nouveau score. Voir par exemple Three Wonders.
- Pour poster un nouveau message sans mettre à jour votre score, il suffit de laisser ces champs vides.

Pour créer un nouveau topic avec un leaderboard intégré, rien de plus simple. En créant votre nouveau topic, vous aurez une petite case "créer un hiscore oui/non". Cela fonctionne aussi si on édite le 1er message d'un topic déjà existant. Je n'ai pas encore eu le temps de créer d'interface de personnalisation des détails, j'essaye de faire ça dans la semaine. En attendant, les options par défaut sont les suivantes :
- 1 seul mode de jeu, sans nom
- classement par ordre décroissant
- score exprimé en points (pts)
- affichage du score à la française (64 127,86).

Ça correspond à la plupart des défis déjà existants. Et côté mise à jour, j'ai déjà entré les scores pour un certain nombre de topics. Si vous regardez le menu déroulant du panneau de config, qui classe les jeux par ordre alphabétique, en gros j'ai commencé par la fin (Wonderboy) et je suis remonté jusqu'à Forgotten Worlds.

  Voir le site web de JC
Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-07-31 20:57
Encore une fois, superbe boulot. J'ai parcouru plusieurs threads mis à jour, tout est nickel et l'interface est judicieusement conçue. J'espère que ça incitera plus de monde à participer à cette section qui reste nettement sous utilisée comparée aux autres.

Je mettrai le reste des threads à jour avec le leaderboard (à moins que tu veuilles t'en charger).

  Voir le site web de Lyle
Shenron
Pixel visible depuis la Lune

Score au grosquiz
0028032 pts.

Joue à Lost Judgment

Inscrit : Jan 17, 2008
Messages : 9737
De : Massy

Hors ligne
Posté le: 2013-07-31 22:24
Effectivement, ça tue !!!

Je n'ai vraiment pas le temps de participer (avec le Grosblog, et tout), mais chapeau pour la nouvelle interface, et pour vos échanges, c'est extrêmement impressionnant !
_________________

Image
Ils sont tous méchants (sauf Sega, qui est juste con).


  Voir le site web de Shenron
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-08-02 03:06
Merci

Lyle, si tu veux mettre des topics à jour, y'a pas de soucis ! Et sinon je m'en occuperai d'ici ce week-end...

  Voir le site web de JC
J
Pixel monstrueux


Joue à 8-Bit Adventures 2 (PC), Tetris (Game Boy)

Inscrit : Jan 20, 2004
Messages : 3578

Hors ligne
Posté le: 2013-08-02 13:02   [ Edité le: 2013-08-02 13:03 ]
Outre les louanges bien méritées qui te reviennent, JC, quelques remarques après m'être essayé à ton système :
- sans pour autant déformer le tableau de scores, serait-il possible de prévoir quelques caractères de plus pour la zone de commentaire (on est un peu à l'étroit pour Crazy Taxi) ?
- lorsqu'on n'est pas connecté, on n'a pas accès à la liste déroulante permettant de choisir son "mode" de jeu (comme dans Three Wonders). On n'a en fait même pas conscience qu'il existe plusieurs modes de jeu pour ledit topic. Peut-être est-ce volontaire, mais je dois dire que je trouve ça un peu dommage.
- en termes de lisibilité, l'idéal serait que les scores soient alignés à droite... mais j'ai bien conscience que ça ficherait un peu la mise en page par terre.

Ce ne sont que des détails bien sûr, à étudier lorsque tu en auras le temps

  Voir le site web de J
Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-08-02 22:37
Je vois que tu t'es chargé des MAJ des HS restant JC, merci.

  Voir le site web de Lyle
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-08-05 20:12
Citation :
Le 2013-08-02 13:02, J a écrit :
- lorsqu'on n'est pas connecté, on n'a pas accès à la liste déroulante permettant de choisir son "mode" de jeu (comme dans Three Wonders). On n'a en fait même pas conscience qu'il existe plusieurs modes de jeu pour ledit topic. Peut-être est-ce volontaire, mais je dois dire que je trouve ça un peu dommage.

Exact. C'est une restriction que j'ai incluse pour des raisons purement techniques (sans rentrer dans les détails inutiles, c'était vis-a-vis des moteurs de recherche et autres bots). Mais le gain obtenu pour le forum est peut-être négligeable par rapport au préjudice subit par les utilisateurs non inscrits... De toute façon ce n'est qu'un défaut temporaire en attendant de me décider --ou pas-- pour une alternative avec du javascript .

A part ça, je vois ce que tu veux dire pour l'alignement des scores à droite, mais effectivement ça va poser un soucis de mise en page, tout comme la taille maxi de la case "détails"... Mais là ce sont surtout des considérations esthétiques. La difficulté étant de trouver une présentation qui soit adaptée à tous les cas de figure, y compris les couleurs incluses selon les thèmes du forum. Par exemple, chez moi le tableau apparaît comme ça :



... alors que le thème par défaut, avant que je ne gruge pour faire apparaître les bordures, devait s'afficher comme ça :



Et encore, là ce sont deux thèmes qui utilisent la même police de caractères. Certains thèmes sont plus gros, et effectuent sans doute un retour à la ligne pour le premier score...

  Voir le site web de JC
Lyle
Camarade grospixelien



Inscrit : Mar 12, 2002
Messages : 3722

Hors ligne
Posté le: 2013-08-05 20:49
Ca fait classe chez toi. Ca hightlight le leaderboard au dessus du thread. Tu devrais mettre ce genre d'affichage pas défaut je trouve.

  Voir le site web de Lyle
JC
Camarade grospixelien


Joue à Blacksad

Inscrit : Apr 15, 2002
Messages : 8592
De : la contrée de la demi-fibre

Hors ligne
Posté le: 2013-08-06 03:19
Le soucis, c'est que c'est l'affichage par défaut ^^. Pour chaque thème du forum, on a plusieurs couleurs : le fond, les bordures, les posts (2 couleurs), les citations, le texte, les liens, les liens visités, les spoilers. Ces 9 valeurs sont automatiquement chargées en fonction du thème que l'on a décidé d'utiliser (pour rappel, on peut changer de thème via le lien "éditer vos préférences" en haut de page). Or, tel que la plupart des thèmes sont réglés, beaucoup de ces valeurs sont identiques. Par exemple, le thème par défaut est réglé de sorte que le fond, les bordures, et l'une des cases du forum, sont en noir. C'est ce qui donne un côté très sobre au résultat, mais du coup voilà, ça empêche de mettre en valeur d'autres choses spéciales, comme ce tableau des scores placé "en dehors" du topic...

Donc je dois composer avec ces différences pour trouver un truc qui va être correct chez tout le monde. Pour cette histoire de couleurs, c'est un peu insoluble car :
- Si je "force" une couleur de mon choix, donc hors-thème, ce sera la même sur tous les thèmes et ça risque d'être très laid selon les cas.
- Si je modifie directement les couleurs des thèmes dans le panneau d'admin du forum, ça veut dire que l'affichage des topics sera aussi affecté, et ça ne va pas plaire à tout le monde.
- Si je veux ajouter de nouvelles couleurs à chaque thème, ça va être long et compliqué, vue la manière dont fonctionne notre vieux forum datant de l'époque précambrienne pré-CSS.
Ceci dit, c'est la 3ème solution la meilleure (par contre je manque un peu de temps (et de motivation ^^)) pour convertir le forum en CSS pour le moment. Mais c'est en projet...

  Voir le site web de JC

Index du Forum » » Vie du site » » Système de Leaderboard intégré au forum Arena

35 messages • page
12




Forum www.grospixels.com (© 2011-2019 Grospixels)