Rendu final et bonus
Gameboj – Étape 12

1 Introduction

Le rendu final du projet, qui concerne les étapes 1 à 11 uniquement, peut se faire à deux moments :

  1. soit de manière anticipée, avant le vendredi 25 mai à 16h30, pour les groupes qui désirent tenter d'obtenir un bonus,
  2. soit de manière normale, avant le vendredi 1 juin à 16h30, pour les autres groupes.

Dans tous les cas, le rendu se fait comme d'habitude via le formulaire prévu à cet effet, en utilisant les jetons se trouvant sur la page personnelle.

À noter que les groupes qui décident de faire un rendu final anticipé ne peuvent pas revenir sur leur décision dès que l'un de leur rendu a été accepté par notre système.

De plus, il est très important que l'archive Zip envoyée pour le rendu final ne contienne aucun code lié à l'éventuel bonus, afin de ne pas compliquer inutilement l'évaluation des projets. Nous nous réservons le droit de supprimer des points aux groupes ne respectant pas cette règle.

2 Bonus

Les groupes ayant effectué un rendu anticipé ont la possibilité d'essayer d'obtenir un bonus en améliorant librement leur programme. Pour cela, ils doivent effectuer, en plus du rendu anticipé, un rendu bonus avant le vendredi 1 juin à 16h30.

2.1 Travail à réaliser

L'obtention d'un bonus implique l'ajout d'une ou plusieurs améliorations non triviales au programme. Le choix de ces améliorations est libre mais la liste suivante donne quelques idées :

  • offrir la possibilité de redémarrer (reset) la simulation et de sauvegarder son état complet dans un fichier pour pouvoir le restaurer ultérieurement,
  • offrir la possibilité de changer la vitesse de simulation, soit pour l'arrêter, soit pour l'accélérer temporairement (mode « turbo », utile pour passer les parties ennuyantes de certains jeux),
  • offrir la possibilité de faire des copies d'écran en cours de jeu, et/ou d'enregistrer des vidéos,
  • offrir des fonctionnalités de visualisation des données graphiques du système : images des 384 tuiles, des deux images de fond/fenêtre de 256 pixels de côté, des sprites, etc.
  • offrir des fonctionnalités de déboguage utiles aux personnes développant des programmes Game Boy : exécution pas à pas du programme, désassemblage, visualisation du contenu de la mémoire, etc.
  • sauvegarder dans un fichier les données de la mémoire non volatile se trouvant sur certaines cartouches,
  • simuler le synthétiseur sonore du Game Boy (probablement très difficile),
  • optimiser considérablement la vitesse de la simulation en déterminant les problèmes de performance existants et en les résolvant,
  • etc.

Notez que ce ne sont là que des suggestions d'améliorations, et que le simple ajout de l'une ou l'autre d'entre elles ne garantit pas l'obtention d'un bonus.

Ces améliorations doivent se faire sans utilisation de bibliothèques autres que la bibliothèque standard Java.

En plus du code mettant en œuvre l'amélioration, un rapport la décrivant doit être rendu. Ce rapport, au format PDF et d'une longueur comprise entre 400 et 800 mots, décrit d'une part l'amélioration elle-même du point de vue de l'utilisateur et d'autre part sa mise en œuvre en Java.

2.2 Modalités de rendu

L'archive Zip du rendu bonus doit non seulement contenir le code du projet amélioré mais également le rapport. Celui-ci doit être au format PDF, porter le nom rapport.pdf et être placé directement à la racine de l'archive.

Pour ajouter un fichier à votre l'archive Zip créée par Eclipse, vous pouvez soit utiliser un outil graphique (p.ex. WinZip sur Windows et sur Mac) ou alors faire l'ajout depuis la ligne de commande (p.ex. sur Mac avec le programme Terminal, sur Linux dans un terminal quelconque). En admettant que vous vous trouviez dans un répertoire contenant l'archive Zip exportée par Eclipse dans le fichier gameboj.zip et votre rapport au format PDF dans le fichier rapport.pdf, il vous suffit d'entrer la commande suivante pour ajouter le second à la première :

zip gameboj.zip rapport.pdf

2.3 Adaptation des points

Les rendus bonus sont évalués et se voient attribués l'une des trois évaluations suivantes :

Inexistant / Insuffisant
Attribué aux groupes n'ayant pas fait de rendu bonus ou dont le travail est jugé indigne d'un bonus.
Bon
Attribué aux groupes ayant fait un rendu bonus et dont le résultat est jugé bon (mais sans plus).
Excellent
Attribué aux groupes ayant fait un rendu bonus et dont le résultat est jugé excellent.

En fonction de ce bonus, le nombre de points de la seconde partie du projet est ajusté au moyen de la formule suivante : \[ p_2^\prime = m_2\left(\frac{p_2}{m_2}\right)^{1/b} \] où \(p_2\) et \(p_2^\prime\) sont le nombre de points obtenus pour le rendu final avant et après ajustement, \(m_2\) est le nombre de points maximum du rendu final et \(b\) est le facteur lié au bonus, valant 1 pour Inexistant, 1.4 pour Bon et 1.8 pour Excellent. La figure ci-dessous montre les courbes d'adaptation en supposant que \(m_2\) vaut 1. La courbe bleue correspond à la valeur 1, la verte à 1.4 et la rouge à 1.8.

bonus.png

Figure 1 : Courbes d'adaptation des points en fonction du bonus obtenu