Puisque ça a l'air d'interesser tout le monde !

Publié le par DigitalGuru

BlindTest : The Squad quiz
Par Digital Guru

Part 1
Présentation du projet

Le projet est un jeu de BlindTest, c'est à dire un jeux de quiz musical où les différents participants, écoutent des musiques les unes après les autres et doivent dans le temps le plus court possible répondre à la question posée. Le premier des participants qui donnera la bonne réponse remportera un point.
Les questions peuvent être :
  • Quel est le titre de cette chanson ?
  • L'auteur ?
  • L'album dans lequel elle est apparue ?
  • L'année de sortie ?
  • et bien d'autre...

Part 2
Fonctionnalités requises

Voici les fonctionnalités obligatoires du jeu :
  1. Un code un minimum commenté.
  2. L'application doit pouvoir lire différents formats : Wav, MP3, Wma.
  3. Elle doit gérer les évènements clavier ( pour l'intervention des différents joueurs ).
  4. Elle doit avoir une interface graphique, même minimum.
  5. Elle doit pouvoir charger une liste de musiques.
  6. La conception d'un générateur de playlists est donc obligatoire.
  7. Un menu principale pour naviguer entres les choix suivants :
    1. Nouvelle partie
    2. HighScore
    3. Option
    4. Quitter
  8. Nouvelle partie : Où l'utilisateur aura la possibilité d'ajouter jusqu'à 4 nouveaux joueurs, avec chacun un pseudo libre,où il pourra définir le score à atteindre pour terminer la manche, et où il pourra choisir la playlist à utiliser.
  9. HighScore : Où seront affichés les plus gros scores réalisés et le pseudo des joueurs correspondants (pour la notation, une formule du genre simple division du nombre de bonnes réponses par rapport au nombre de questions posées suffira).
  10. Option : Pour choisir notamment le dossier de playlists à utiliser, le niveau du difficulté (c'est à dire les questions qui peuvent être posées), le redéfinition des contrôles claviers et le volume sonore.
  11. Quitter : Quitte le jeu
Vous commencez à comprendre que même un petit jeu, s'il est bien fait peut prendre très rapidement de l'ampleur ! Vous devrez affronter pas mal de difficultés et je pense que nombreux seront ceux qui se décourageront vite, mais, rassurez vous, je vais poster de nombreux tutoriaux, qui traiteront chacun un point particulier du projet, et qui vous aiderons à avancer efficacement.

Part 3
Contraintes

Je ne vais pas vous imposer beaucoup de contraintes vu le nombre de points à respecter, cependant il est obligatoire de réaliser le projet en C# et d'utiliser le moteur XNA pour tout ce qui est graphique. Le choix de la librairie audio est libre, même si je conseil vivement FMOD à XACT, notamment à cause du chargement de fichier audio dynamique !

Part 4
Bonus

Voici différents points du projets qui pourront vous faire remporter des bonus afin d'améliorer la note finale :
  • Pouvoir charger des playlists Winamp en plus des playlists dans le format personnalisé.
  • Afficher le spectre audio.
  • Des animations entres la menus
Je précise que l'aspect graphique ne sera pas trop jugé car ce n'est pas un contest de graphiques, et je sais pour l'avoir vécu, que faire du beau en partant de rien est assez délicat.

Part 5
Méthode de programmation

La bible ne contient normalement pas ce genre d'information, mais comme c'est sûrement votre premier véritable projet, je vais vous donner ma marche a suivre pour coder correctement (en tout cas pour ce genre de projet).

1  Etape 1 : Faire son storyboard

Je commence toujours par faire ce que j'appel mon storyboard pendant la phase de prédéveloppement. En gros, je dessine l'aspet de chaque menu visible, avec les possibilités, ce qu'il y a dedans, sur quoi ça m'amène (Þélaboration de liens logiques).
Ca permet de voir le projet dans son ensemble, et de bien visualiser la charge de travail.

2  Etape 2 : Etudier chaque planche

J'étudie chaque planche de mon storyboard et en tire plusieurs choses :
  1. Qu'est ce que c'est ? Un menu ? Un écran de présentation ? Un video ?
  2. Que va pouvoir faire l'utilisateur dans ce menu ?
  3. Qu'est ce que je vais devoir coder en conséquence ?
  4. De quelles ressources aurait-je besoin ? Image ? Musique ? Modèle 3D ?

3  Etape 3 : Je déduis les points communs

Si j'ai bien étudié mes planches, je peux les liers les unes aux autres selon différents critères, par exemple, tous les menus ensemble, pour créer une seulle classe menu qui les gérera tous...

4  Etape 4 : Je répartis les tâches

Je sais désormais ce qu'il me reste à faire, je les répartie donc aux développeurs, dans un ordre bien particulier ! Ne jamais faire le code Highscore avance même d'avoir afficher le premier menu.
Ici par exemple, un codeur pourra s'attaquer à l'affichage des menu, pendant que l'autre codera la gestion clavier...
Attention cependant à ne pas négliger les tâches graphistes, genre élaboration des ressources graphiques etc... Et oui, jvous n'avez surement pas d'artiste sous la main, alors va falloir vous débrouiller tout seul de ce côté là...

5  Ensuite...

Ensuite, c'est simple, on recommence l'étape 4 jusqu'à ce qu'on ai quelque chose d'exploitable, ici par exemple la gestion des menu, avec les clavier. On test, pour dénicher le moindre bug. Puis, une fois que tout ça est terminé, on jette un petit coup d'oeil sur notre code (le refactoring) pour optimiser, ou ne serait-ce que ranger ça et là.
Enfin, on reprend l'étape 4 en éliminant les tâches une à une.



File translated from TEX by TTH, version 3.77.
On 16 Apr 2007, 20:01.

Publié dans Rien de space'

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
K
Hummmm .........Je ne pense pas que votre site soit assez populaire pour un tel projet !Les codeurs s'occupent sur leurs projets déjà en cours, tout comme les graphistes. Je pense donc que peu de gens vont faire ce projet ...(Y aura-t-il une récompense pour les premiers ? Cela pourrait encourager les internautes à venir vers votre site et à participer au projet !)
Répondre