\chapter{Organisation du projet} \section{Organisation du travail} Lors de la réunion initiale les tâches ont été réparties selon les capacités de chacun. En dehors des réunions, chaque membre du groupe a travaillé en autonomie, en communiquant son avancement au reste du groupe. Les réunions suivantes étaient consacrées au passage en revue des modifications effectuées par chacun, à l'analyse des tâches restant à effectuer et à leur distribution entre les membres du groupe, toujours selon leurs capacités et leur disponibilité. La répartition finale des tâches telles qu'elles sont été accomplies est présentée dans la figure \ref{fig:organisation-gantt}. Certaines parties du développement nécessitaient plusieurs personnes et étaient ainsi partagées entre certains membres du groupe. La conception et les tests des niveaux, le fond des menus ainsi que les décors furent réalisés par Rémi et Maëlle, et la gestion de projet par tout le groupe. \newgeometry{left=2cm,top=1.5cm,bottom=1.5cm,right=2cm} \begin{figure}[p!] \centering \input{figures/organisation-gantt.tex} \caption{ Diagramme de la répartition des tâches. En vert, les tâches affectées à Maëlle~; en bleu, les tâches affectées à Rémi~; en rouge, les tâches affectées à Mattéo~; en gris, les tâches résolues en groupe } \label{fig:organisation-gantt} \end{figure} \restoregeometry \section{Outils de développement} Tout le code du programme est centralisé sur un dépôt GitHub et les membres du groupe utilisent Git pour synchroniser leur travail, travailler indépendamment, vérifier le travail des autres ou récupérer d'anciennes versions. \cite{organisation-github-skizzle} Pour le développement du jeu, nous avons choisi le C++ car il s'agit du langage que nous apprenons cette année~: d'une part, nous possédons donc des acquis avec de langage, et d'autre part ce projet nous permet de fixer nos connaissances du C++. Une autre raison est la quantité importante de documentation sur le web, de nombreuses bibliothèques et d'une communauté importante. Nous avons fait le choix de la SFML comme librairie graphique et d'utiliser la spécification C++11 qui apporte des fonctionnalités non-négligeables (notamment concernant la gestion de la mémoire avec les pointeurs intelligents). \cite{organisation-smartptr} Pour écrire le code, nous avons utilisé différents éditeurs de texte (atom et gedit). Nous compilons notre programme avec le compilateur g++. Pour faciliter la compilation, nous avons utilisé CMake.