Git Product home page Git Product logo

gameanalysis-iut's People

Contributors

alexandre714 avatar pontcl avatar rayouu42 avatar theelectronwill avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

gameanalysis-iut's Issues

Réaliser un diagramme PERT et GANTT

  • Définir plus de tâches et leur attribuer une durée
  • Si possible automatiquement => trouver un logiciel
  • Sinon, trouver au moins un bon éditeur de graphes

Connecter le plugin à la base de données

  • Récuperer un objet Connection
  • Créer les tables si elles n'existent pas déjà
  • Régler la connection (autocommit, autosave, etc.)
  • Expliquer les PreparedStatements
  • Fermer la connexion lors de la désactivation du plugin

Enregistrer les blocs cassés par les joueurs

Quand un joueur casse un bloc, récuperer l'ID du bloc et le temps de jeu du joueur avec

long ticks = player.getStatistic(Statistic.PLAY_ONE_TICK);

L'évènement bukkit est BlockBreakEvent

Faire une capture d'écran des tables d'une BDD

En exécutant le fichier h2.jar on a une interface graphique qui permet d'executer des requêtes SQL.
Faire un SELECT * FROM table sur chaque table et mettre les copies d'écran dans le rapport final.

Trouver comment associer les IDs des blocs et items à leur nom dans R

En effet, on n'enregistre dans la base de données que les IDs.
On pourrait utiliser factor mais il y a plus de 200 blocs différents donc cherchons plutôt un autre moyen ^^

Par exemple si on pouvait avoir les blocs avec leur nom dans une table SQL on pourrait faire un SELECT sur les deux tables et récupérer le nom.

Finir la page d'accueil du site web

  • Barre de navigation
  • Image de fond et overlay
    Update:
  • Changer la couleur des liens
  • Mettre en forme le pied de page
  • Mettre en forme les paragraphes et h2, h3
  • Ajouter un logo et nos photos ?
  • Transitions/animations sympas ?

Rédaction du cahier des charges

  • Trouver un modèle
  • Trouver un plan
  • Logos/Photos et présentation des parties prenantes
  • Contexte du projet
  • Objectifs du projet
  • Solution technique
  • Outils utilisés

Jouer et tester quelques analyses statistiques

  • Compiler et exporter la dernière version du plugin
  • Installer le plugin sur le serveur
  • Jouer
  • Vérifier que les analyses avec R fonctionnent, ou au moins qu'on arrive tous à connecter R à la base de données et que l'on arrive à élaborer des analyses statistiques pertinentes pour chaque évènement.

Rédiger le rapport intermédiaire

  • Bref rappel du projet
  • Travail réalisé jusqu'à présent:
    • Apprendre à utiliser Java, Bukkit, Git, Github, Gitkraken, Eclipse
    • Mise en place d'un projet sur github
    • Programmation d'un plugin bukkit pour enregistrer les évènements
    • Programmation de l'enregistrement des données dans une BDD
    • Installation du plugin sur un serveur, récolte pendant les vacances -> combien de données récoltées ?
    • Résultats des analyses statistiques
  • Gestion de projet
  • Conclusion ??

Enregistrer les blocs posés par le joueur

Dès qu'un joueur pose un bloc, récupérer l'ID du bloc et le temps de jeu du joueur en minutes.
Pour récupérer le temps de jeu du joueur en ticks (1 tick = 50 millisecondes) :

long ticks = player.getStatistic(Statistic.PLAY_ONE_TICK);

Se familiariser avec RJDBC : comprendre comment utiliser R avec la base de données

Que chacun comprenne comment utiliser R pour analyser les données.
-> Voir le fichier test.R pour un exemple de connexion à une base de données. Le développement R se fera dans le dossier analysis.

Connecter R à la base de données nécessite

  1. D'installer le package RJDBC dans RStudio. Pour cela:
    • Dans RStudio, utiliser le menu Tools > Install packages...
    • Choisir Install from: Repository (CRAN) et entrer RJDBC dans le champ "Packages"
    • Cocher Install dependencies et valider
  2. De télécharger le fichier h2.jar et de spécifier son chemin dans le fichier R.
  3. La base de données de l'itération 4 est sur le drive.

Initialisation d'un projet Gradle

Pour gérer les dépendances (bukkit, H2) et créer un fichier .jar facilement, nous utiliserons un projet Gradle au lieu d'un simple projet Eclipse/Ant.
Sous-tâches :

  • Créer fichier settings.gradle
  • Ecrire un build.gradle avec H2 et Bukkit
  • Faire une fonction fatJar pour exporter le plugin en y incluant la base de données H2 mais pas les fichiers de Bukkit, qui seront fournis par le serveur de jeu.
  • Installer le plugin Gradle sur Eclipse, pour tous les membres du groupe
  • Ajouter le wrapper gradle

Mettre les apps shiny sur le site web

Applis à terminer :

  • Taille des messages
  • Utilisation des blocs et items
  • Types d'entités
  • PRÉPARATION/TEST : afficher les déplacements avec rgl (3D avec cube3d et shade3d) et ggplot2 (2D avec geom_raster et scale_fill_gradient).
  • PRÉPARATION/TEST : trouver les échelles les plus appropriées pour comprendre les données.
  • PRÉPARATION/TEST : pouvoir filtrer les couches Y par joueur
  • Déplacement des joueurs, par couche Y
  • Déplacement des joueurs, par couche Y, de façon individuelle
  • Déplacement des joueurs, visualisation 3D

Applis à mettre sur le site web :

  • PRÉPARATION/TEST : trouver comment on peut charger le contenu des TABS Bootstrap quand ils sont activés et non au chargement de la page.
  • PRÉPARATION/TEST : vérifier que rgl fonctionne avec Shiny, et si c'est bien le cas, comprendre la méthode pour afficher un rendu 3D sur navigateur.
  • PRÉPARATION/TEST : réfléchir à l'optimisation du rendu 3D qui prend entre 20 et 30 secondes à être calculé. => stocker les rendus déjà calculés dans une liste qui fera office de cache.
  • PRÉPARATION/UPLOAD : mettre les applis sur le serveur et installer les packages requis
  • Taille des messages
  • Utilisation des blocs et items
  • Types d'entités
  • Déplacement des joueurs, par couche Y
  • Déplacement des joueurs, par couche Y, de façon individuelle
  • Déplacement des joueurs, visualisation 3D

Rédiger le rapport final

  • Page de garde
  • Remerciements
  • Sommaire automatique qui fonctionne correctement sans casser tous les annexes
  • Introduction
  • Récolte des données : plugin
  • Récolte des données : BDD
  • Récolte des données : informations ajoutées après coup dans la BDD
  • Méthode de travail : Git, Gitkraken
  • Méthode de travail : Itérations et Kanbans
  • Analyse utilisation : blocs
  • Analyse utilisation : items
  • Analyse utilisation : types d'entités
  • Analyse optimisation : taille messages
  • Analyse optimisation : déplacements joueurs par serveur
  • Analyse optimisation : déplacements joueurs individuels
  • Conclusion : résultats
  • Conclusion : prolongement de l'étude et aspects à améliorer
  • Annexes : CDC
  • Annexes : RACI
  • Annexes : CR Réunions
  • Annexes : Extraits des tables SQL
  • Annexes : Schémas des tables SQL
  • Annexes : JDB

Mieux commenter le code

Plus de commentaires, mais pas n'importe comment ! Le but est d'expliquer ce que fait le code et pourquoi il le fait, pas de recopier le programme en remplaçant les mots-clés anglais par du français.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.