Game Analytics
#1
Bonjour à tous,

En cours de création de jeux il y a pas longtemps, un de nos profs nous a parlé d'analyse de comportement en jeu.

Pour ceux qui se demanderaient "mais qu'est-ce que c'est ?", le but de ce truc est de tracer _toutes_ les actions des joueurs dans le jeu, du début à la fin. Pas dans le but de lui balancer de la pub ou quoi, mais dans celui de l'équilibrer.

Je donne un exemple : mettons que le jeu est sympa à lancer, mais qu'à partir du sixième jour de jeu il devient chiant. On pourra bien entendu le ressentir vaguement via le forum du jeu, mais... ça resterais limité.

Ou alors, on peut tout logger et analyser les joueurs, et voir que entre le sixième et le septième jour on a une baisse de 78% du traffic - et se poser des questions.

J'ai fait quelques recherches et j'ai trouvé sur internet Game Analytics qui a le bon goût, en plus, d'être gratuit. Mais je ne l'ai pas encore intégré à mon jeu (c'est dans la todo list pour l'autre dev 34).

Est-ce que quelqu'un l'a testé ? Ou un autre service du même genre ?

Merci de vos retours !
Répondre
#2
C'est un sujet qui m'intéresse pas mal (mais que regarde seulement de loin vu que je n'ai aucun jeu en production).

Je pensais faire ce genre d'outil à base d'outils plus simples comme Fnord Metric ou StatsD. Je pense que c'est le genre d'info que je ne confierais pas à un service tiers.

Cela dit, je serais ravi qu'on ai plus de discussion de ce style sur JeuWeb : discuter de ce qu'on peut grapher, et de ce qu'on peut comprendre de ces informations.
Répondre
#3
Le problème de ces deux solutions est que je n'ai qu'un serveur php, pas de node ni de rails à l'horizon...

Cela dit j'hésite entre coder from scratch (avec une lib ou deux, ça se trouve facilement) et utiliser gameanalytics. L'avantage du second est qu'il est très complet, et qu'il est pensé pour le jeu. L'inconvénient est que je perds la main sur mes données, du moins en partie... je manque de visibilité sur la criticité des données en question (je ne parle bien entendu pas des informations d'identification du joueur, ça ça reste chez moi, mais de données statistiques anonymisées)
Répondre
#4
Si on a assez de motivation et quelqu'un (pas moi :p) pour le gérer, pourquoi ne pas lancer un projet de chez JeuWeb, qui permettrait de faire l'analyse de nos jeux? Cela pourrait rendre service à tous... non?
Répondre
#5
Pourquoi pas, mais quel avantage par rapport à un service comme gameanalytics ? Au fond, ils le font déjà gratuitement, alors quitte à envoyer mes données dehors...
Répondre
#6
A mon sens, un jeu sérieux (même petit) devrait être hébergé sur un serveur dédié (même petit, encore une fois), sur lequel on peut installer ce dont on a besoin. La stack d'un serveur mutualisé est trop limitée et limitante pour prétendre utiliser ce genre d'outils avancés (à moins d'utiliser ce genre de services tiers et à condition d'en accepter les contraintes, bien sûr).

Je serais le premier ravi d'apprendre qu'un tel service existe dans une version auto-hébergée. 2
Répondre
#7
Mon jeu est sur un serveur dédié, mais afin d'éviter la surcharge (à la fois en temps de maintenance / patch et en process tournants) je tente de réduire au maximum le nombre d'applis installées. Faire tourner un node.js juste pour ça me semble un peu dommage :/

Cela dit du coup ça m'amène à passer par un service externe. Du coup, quels risques de prendre ça ? Je ne vois pour l'instant pas vraiment d'inconvénients à déporter ces données, qui sont simplement des données d'analyse de gameplay et pas des données publicitaires...
Répondre
#8
Déjà, si leur service tombe ou plante, tu vas perdre pas mal de données à analyser.

De plus, PHP étant synchrone, à chaque requête qu'un de tes joueurs fait à ton application et qui provoque un appel à l'API GameAnalytics (exemple : le joueur achète un objet pour son personnage), ton application ne répondra que quand elle aura fait ce qu'elle a à faire et qu'elle a reçu la réponse de GameAnalytics. Ça peut donc induire de grosse latences (et donc une mauvaise expérience utilisateur) dans ton jeu.
Répondre
#9
Sur le plantage de service, j'ai globalement plus confiance dans leurs capacité d'administrateur système (ils sont payés pour ça) que dans les miennes (bon, je suis peut-être un mauvais exemple vu que je suis aussi payé pour ça, mais disons que dans celle d'un créateur de jeu php moyen).

L'argument sur la requête est par contre tout à fait pertinent, et me rappelle d'ailleurs l'un des arguments d'un outil que tu avais linké et qui justifiait son utilisation d'UDP pour la même raison. Cela dit, je sais qu'il est possible de faire du pthread en php, même si je n'ai jamais fait le test. Ça permettrait de résoudre le problème... Cela étant dit, la version PHP de leur API n'intègre pas cette fonctionnalité.

À noter également qu'ils ont une version intégrée à Unity qui est supposée être utilisée également dans des jeux hors-ligne ; il est donc probable qu'ils aient fait de gros efforts sur la vitesse de leur application.

Je vais me pencher sur la question cela dit, quand j'aurais fini mon jeu je ferais peut-être un outil d'analyse. Si c'est le cas je le libérerais.

[EDIT] Concernant curl, une autre solution intéressante que je viens de lire sur un blog est de mettre le timeout à 1ms. Étant donné qu'on se fiche pas mal de la réponse (au pire on perd un enregistrement, et un seul, d'une donnée et une seule de jeu), et que les données sont envoyées avant le début du timeout, ça permet de ne pas ralentir la page, ou presque pas, tout en bénéficiant du service en externe.
Répondre
#10
Notez qu'il est possible d'éviter les latences des services tiers en PHP, en procédant ainsi:
  • Phase controleur: calculs et traitements internes au serveur
  • Phase émission: envoie de la page web au client
  • Phase post-traitement: le client déconnecté (manuellement le plus souvent), le script PHP continue son exécution pour faire du abck-office.

Les services tiers sont alors à appeler dans la phase de post-traitement.
Des détails dans le manuel PHP, section gérer les connexions.
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Google Analytics MadMass 33 10 223 04-15-2016, 09:56 AM
Dernier message: niahoo



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)