Expe'Detector (P16 Statistics) | www.expedetector.eu

  • ban.png


    Salut la compagnie,


    Aujourd'hui, je vous présente un projet sur lequel j'ai travaillé ces derniers temps (merci le confinement) : L'Expe'Detector. Il s'agit d'un site web ayant pour vocation d'établir des statistiques liées à la V7 d'OGame, et plus particulièrement au sujet des expéditions militaires et du marché V7. Pour la ptite histoire, tout est partit d'un simple script pour calculer les rentas des expées des tops sur Izar. Puis, avec le confinement, le projet a prit de l'ampleur.

    Spoiler alert : je ne suis pas du tout développer web, donc les technos utilisées sont relativement archaïques (attention les yeux pour les puristes ^^). On peut voir ça comme un POC (Proof Of Concept) avancé, disons.


    TL;DR : Les liens utiles

    Le Concept

    Les statistiques établies sont basées sur les données fournies par l'API de la GameForge (aucun interaction avec l'IG). Etant donné qu'il n'y a pas de statistiques uniquement liés aux expéditions, il faut interpréter les données afin de déterminer ce qui relève des combats entre joueurs / vente / ferraillage et ce qui relève des expéditions en elles-mêmes. Une fois cette interprétation faite, le site tente de déterminer diverses rentabilités (en fonction des compositions d'expéditions les plus classiques). Cette double interprétation fait que les rentabilités proposées sont à titre indicatives (l'API ne fournit pas ces données-là). Dans le cas pratique, il s'avère que ça fonctionne plutôt bien avec les compositions Full Traqueur / Clés+PT / Clés+GT (s'il n'y a pas trop de "bruit" au niveau des points économiques).

    Comme l'API ne fournit des données que toutes les heures, il n'est pas possible de discriminer les expéditions unes à unes : tous les évènements proposés sont en fait des regroupements d'évènements du joueur sur une même heure. Et finalement ça tombe plutôt bien étant donné que les joueurs lancent leurs expéditions par vague (et qu'en générale, elles "impactent" toutes au même instant ou au moins dans la même heure, disons). Pour plus de détails, vous pouvez consulter la page d'aide du site.

    Note : tout ceci fait que le modèle (et donc le site) ne sera pas pertinent pour des univers récents et/ou pour les expéditions civiles (trop de "bruits").


    Les Evènements détectés

    Les différents évènements détectés et proposés sont :

    • combat(s) d'expédition militaire (sans TN)
    • combat(s) d'expédition militaire + au moins un TN (dans la même vague)
    • TN uniquement (sans combat)
    • combats entre joueurs 1V1, 2V1, 3V1, 1V2, 1V3 (les autres types ne sont pas encore automatiquement détectés, une MAJ proposera que les joueurs puissent les déclarer, voir la ci-dessous)
    • Vente / ferraillage (difficile de dissocier les deux tant qu'on a pas détecté un achat correspondant, voir la partie marché)


    screen_event_list.png

    Exemple de Liste d'évènements


    screen_expee_3_prop.png

    Expédition avec multiples propositions


    screen_expee_tr.png

    Expédition Full Traqueurs

    Le Market detector

    Ce module propose d'effectuer des corrélations entre les ventes et les achats réalisés via le marché V7. Comme pour les expéditions, on ne dispose pas directement de ces informations via l'API, mais on peut effectuer des corrélations / propositions (qui se trouvent souvent être correctes en pratique).


    screen_market.png

    Détection de transactions au marché

    World Top

    Le World Top propose un classement inter-univers et inter-pays. Enfin, disons une ébauche d'un tel classement car... Actuellement seuls 4 univers hors-France ont été ajoutés au site, donc ça n'a rien d'exhaustif (et il n'y a pas non plus tous les univers FR, Liste des univers de l'Expe'Detector). Cependant les 4 univers hors-France choisis sont ceux où on retrouve les expéditions les plus abusées. On peut notamment retrouver le joueur Russe NERF EXPO FIX BUGS (univers Merkur Russe).

    Signalements

    Étant donné que les évènements sont liés à diverses interprétations, il y a et il aura des erreurs. Par exemple, dans le cas d'une grosse AG (plus de 4 joueurs), les données fournies par le site seront incorrectes (il y a plusieurs corner cases de ce type, combat mal détecté, etc). C'est là qu’intervient la fonctionnalité de signalement. Chaque évènement peut être signalé afin de remonter un soucis. Voici quelques exemples de signalements :

    • Ceci n'est pas une expédition.
    • Il s'agit d'une attaque (groupée) non/mal détectée.
    • L'explorateur a tapé un joueur au même moment que cette expédition.
    • Il ne s'agit pas d'une vente au marché, mais d'un trou noir.
    • Il ne s'agit pas d'une vente au marché, mais d'un ferraillage.
    • Il n'y a pas eu de combat entre ces joueurs.
    • Il y a bien eu un combat entre ces joueurs, mais c'était une AG/DG mal détectée.

    Une fois qu'un évènement est signalé, le signalement apparait ouvertement sur le site (et est visible de tout le monde). De plus, il est désormais possible pour l'équipe du site de :

    • désactiver l'évènement
    • supprimer l'évènement
    • supprimer les signalements
    • transformer l'évènement (transformer un TN en vente/ferraillage et vis et versa, il sera alors labelé évènement "custom")

    Annotations

    De la même façon que pour signaler un évènement, on peut aussi annoter un évènement afin d'apporter une information complémentaire telle que :

    • Il s'agit d'une composition Full TR.
    • Il s'agit d'une composition clés / pt.
    • Il s'agit d'une composition clés / GT.
    • Il y a eu au moins 2 combats avec des compositions différentes.
    • Il s'agit d'une composition exotique.

    Objectifs et suite

    Comme dit au dessus, le premier objectif était d’abord personnel (histoire de m'occuper pendant le chômage partiel du confinement ^^). Maintenant le but c'est de le présenter à la communauté histoire de partager les idées / retours (bon en vrai, le site a déjà bien bien leaké depuis début juillet ^^). Pour tout ce qui est debug au cas par cas, je vous invite à venir m'en parler sur le Discord Expe'Detector plutôt qu'ici ou ça ne sera pas pratique (de débuger).


    Niveau TODO-List :

    • Faire en sorte que les utilisateurs puissent ajouter eux-mêmes des évènements (combats massif en AG)
    • Ajouter la composition clo/gt dans les suppositions de composition (1clo/1GT ou 1clo/2GT, le choix n'est pas encore bien clair)
    • modifier la "renta par défaut" en fonction du choix / annotation
    • Améliorer la dashboard de signalement
    • Incorporer les alliances au site (peut-être)
    • De multiples petites améliorations dont je vous épargne les détails
    • Si le concept plait : ajouter d'autres univers, FR ou autre (la liste actuelle est ici : Liste des univers de l'Expe'Detector

    Remerciements

    Dernier point, je tiens à sincèrement remercier tous les joueurs qui m'ont aidé depuis le début du projet. Les potes d'unis, mais aussi ceux qui sont venus car le projet les intéressait. Une partie d'eux sont des joueurs avec qui je n'ai jamais eu de contact avant, et ils ont été d'une grande aide, tant au niveau technique (que faire et comment ?) qu'au niveau motivation. Merci pour les idées, la motivation et les 10aines de RC partagés ! :)

    Dans le désordre, merci à papi33   Izual   petitphoque   Lacey   dadawar   Vossing   tutoromus Lautruche Flo.

    Et merci à la seconde vague de renforts Life is Life   DoXa   Makarov   Saignor   Sanctu   Carpect   WaR_MaChInE

  • Merci Furieux .


    Bonjour,

    Si je ne me trompe pas je ne vois pas Kalyke ou Norma dans la liste des univers, il est possible de les rajouter ?

    Effectivement, ils ne sont pas dans la liste. C'est facile d'ajouter un univers, après faut voir si le modèle fonctionne bien dessus (ce qui est pas trop le cas pour les univers récents). Dans ton cas, je pense que ça peut le faire (qq doutes pour Kalyke, j'ai des tests en cours pour Sombrero qui est un unis récent, histoire de voir, justement).


    Je ferais probablement une vague d'ajouts demain.

  • sympa comme projet :)

    A quand pour Leda ? On peur faire qqch pour aider ?

    Salut,

    Merci bien. :]
    Pour le coup, Leda c'est vraiment jeune comme univers, c'est pas pour de suite. Niveau aide, me faudra des screenshots d'expées au clo/Gt pour ajouter le modèle (via le discord), mais plutôt sur des unis anciens ou les chiffres sont plus facilement exploitables, donc pas sur Leda. :ennuyed:


    O_Neill : J'ai ajouté Norma (et Octans, suite à une autre demande).

  • Salut,

    Merci bien. :]
    Pour le coup, Leda c'est vraiment jeune comme univers, c'est pas pour de suite. Niveau aide, me faudra des screenshots d'expées au clo/Gt pour ajouter le modèle (via le discord), mais plutôt sur des unis anciens ou les chiffres sont plus facilement exploitables, donc pas sur Leda. :ennuyed:


    O_Neill : J'ai ajouté Norma (et Octans, suite à une autre demande).

    Super merci :)

  • Salut Psychopathe   Thompouce1  

    Merci pour le retour ;)


    Je viens tout juste d'ajouter US-Yildun et FR-Zibal. Faudra attendre un peu avant les 1ières infos (et les 1er TN seront surement comptés comme des ventes/ferraillages le temps que ça se mette en route).

  • Hello,


    Merci pour les retours, que ce soit ici, sur Discord ou en PV. Cela a entrainé pas mal de petits ajouts, dont voici le détail :


    • Ajout d'une dizaine d'univers FR sur demande de joueurs
    • Ajout des univers des joueurs du TOP 20 militaire World
    • Ajout d'univers NL pour tester les fusions de comptes (ça a été demandé de pouvoir faire le lien entre le compte de l'uni d'exode avec le compte de l'uni cible)
    • Ajout de la composition "FULL EDLM"
    • Les annotations modifient désormais la rentabilité affichée en page timeline (et c'est rétro-actif)
    • Divers fixes liés au modèle
    • Ajout de la possibilité d'importer des combats entre joueurs (dans le cas ou ils n'ont pas été détectés correctement)
    • Reprise sur erreur de l'importation des API
    • Ajout d'infobulles explicatives
    • Ajout du détails de pertes (Mili / Eco) pour les TN / ventes de la vue timeline
  • Ya un pti problème on dirait... Plus rien se passe

    Yep, ptite coquille lors de l'ajout (à l'arrache) d'un univers sans prendre le temps de valider :(

    Merci pour le retour.

  • Si tu peux ajouter Xanthippe ce serait top également !

    Malheureusement, Xanthippe est un peu léger en terme de PMD et PMP pour que ça ait vraiment du sens (en terme de cohérence de résultats). Je ne préfère pas l'ajouter de suite. Mais je note la demande.

  • Salut,

    Je vous partage un pti outils que j'ai mis en place afin de voir ce qui se passe autour du cimetière. L'outils a pour but de détecter les comptes qui entrent et sortent du cimetière et d'essayer de faire des corrélations entre les entrées et sorties.


    Etant donné que l'API du cimetière ne fonctionne pas / est désactivée, seuls les comptes migrant depuis la mise en place de l'outils peuvent être vu (on peut pas remonter en arrière).


    Ça a été fait un peu sur un coup de tête en mode "quick and dirty", mais bon ça donne une idée de ce qui se passe...


    => OGame Graveyard Dashboard


    (Je poste ici car jme suis servis de la base de l'Expedetector pour le faire, mais y'a pas de lien direct.)


    Voilà...