Projet DeViNT : découverte de l'atelier DeViNT

Il s'agit dans cette première séance de découvrir les structures, principes et formats des applications DeViNT. Après quoi, vous serez capable d'utiliser les projets DeViNT existants afin de vous en inspirer, de les améliorer, et d'en inventer de nouveaux.

Création de votre répertoire de projet

Ce répertoire sera utilisé pour rendre le sujet proposé, dans sujet.html, d'ici la prochaine séance, puis les spécifications, le scénario de la présentation à Clément ADER, et enfin le bilan de cette présentation.

  1. déclarez votre groupe de projet (un groupe est composé de 3 à 4 élèves dans le même groupe de TD, par exemple 'G1')
  2. utilisez le numéro de projet qui vous est alloué, mettons '1', pour créer un répertoire nommé Projet1G1 dans le dossier :
  3. vérifiez que votre répertoire est bien présent dans la page des projets 2013 où un lien hypertexte Projet1G1/index.html est installé.

Remarque préliminaire

Les déficients visuels utilisent pour la plupart Windows. Cette première séance de prise en main doit être faite sous Windows. Par la suite, il est recommandé d'utiliser windows; si vous décidez de passer sous linux, vous devrez vous assurer que tout fonctionne correctement sous windows avant la livraison de votre projet.

CD DeViNT

Chaque année, les projets les plus aboutis sont intégrés au CD DeViNT. Ce CD est distribué aux enfants déficients visuels; ils l'attendent avec impatience. Pour que votre projet puisse être intégré au CD, il faut impérativement suivre la structure que vous allez découvrir en manipulant l'atelier DeViNT.

 

Site des projets DeViNT : http://prdevint.polytech.unice.fr

Vous pouvez y télécharger les projets qui vous intéressent un par un, l'installeur du CD, et constituer ainsi votre CD personnalisé

Prise en main de l'atelier DeViNT

Le projet Modele_de_jeu se conforme au format qui permet l'intégration des projets dans le CD DeViNT, et montre comment créer des menus, utiliser la synthèse vocale, utiliser le clavier etc ... Ce projet vide peut servir de gabarit pour créer un nouveau projet DeViNT.

  1. AtelierDeViNT : copier le répertoire atelierDeViNT sur votre machine.

  2. Structure d'un projet DeViNT : Allez dans le répertoire Modele_de_jeu,

    1. bin : contient les exécutables et le fichier « execution.bat ». C'est ce fichier qui est lancé via le CD DeViNT. Notez que la variable « path » pointe sur le répertoire jre qui contient l'exécutable java distribué sur le CD.
    2. src : contient les sources, le fichier « compilation.bat » permet de recompiler les sources.
    3. ressources : contient les ressources propres à votre jeu, comme les sons et les images, ainsi que les données nécessaires à SI_VOX, la synthèse vocale qui permet de faire « parler » les projets DeViNT. Le fichier si_vox_ihm.conf contient la configuration de cette synthèse, par exemple, le paramètre RAPIDITE fixe la rapidité d'élocution.
    4. doc : contient les fichiers qui décrivent votre projet ainsi que des squelettes des différents éléments que vous aurez à rendre (le sujet, la spécification, ...).
    5. lib : il contient les librairies utiles. Si vous utilisez une librairie spécifique, vous pourrez le déposer dans ce répertoire.
  3. Créer votre propre projet :
    1. copier le répertoire Modele_de_jeu dans un nouveau répertoire, nommé "MonJeu" (ou tout autre nom de votre choix).
    2. modifier la classe LancementJeu pour modifier le titre de la fenêtre, et vérifier en compilant (clic sur src/compilation.bat) et en exécutant (clic sur bin/execution.bat).

Nota : si la commande « javac » n'a pas été trouvée, vous pouvez vérifier si vous avez un jdk installé et mettre à jour votre path (cf partie « Plus de détails sur l'utilisation de java ci- dessous). Si vous n'avez pas de javac, vous pouvez en installer un en cliquant sur jdk-6u1- windows-i586-p.exe.

  1. Menus : ouvrez la classe « src/jeu/MenuJeu.java » et ajouter un choix "Coucou" dans le menu de votre jeu, en lui associant l'action d'afficher « coucou » sur la console (Indice: modifier la méthode nomOptions() en ajoutant l'option « coucou » et modifier la méthode "lancerOption" en ajoutant un System.out.println). Lancer le jeu pour voir si cela a marché.

  2. Synthèse vocale : utilisation de la ligne de commande :
    1. Aller dans le dossier VocalyzeSIVOX/bin et créer un fichier mot.txt qui contient la phrase que vous voulez entendre quand on lance votre jeu :
    2. Modifier execution.bat pour qu'il exécute: java -jar SI_VOX.jar -f mot.txt accueil , pour créer un fichier accueil.pho et un fichier accueil.wav à partir de mot.txt
    3. Récupérer le fichier accueil.wav pour le mettre dans MonJeu/ressources (en remplacement du fichier existant). Aller dans MonJeu/bin et lancer votre jeu.
  3. Dlistor : Pour vérifier que votre jeu respecte bien les formats de livraison prévus, c'est simple : il doit être vu et lancé par Dlistor, l'interface commune de lancement des jeux (sur le CD DeViNT), ce sera notre test final d'intégration pour votre projet. C'est le cas puisque nous avons recopié la structure de Modele_de_jeu (bin avec execution.bat, src avec compilation.bat, ressources avec si_vox.conf, doc avec manuel.html). Lancer Listor (en allant dans le répertoire Listor/bin et en lançant execution.bat) et vérifier que votre jeu apparaît et fonctionne correctement.

Pour aller plus loin

  1. Accessibilité de votre page de projet : afin de vous assurer que votre page web du projet est accessible aux utilisateurs DV (Déficients Visuels) appliquez à vos productions un validateur d'accessibilité (celui du W3C, ou un autre, inspirez vous des projets 2011 et 2010).

  2. Niveau de jeu : copier le fichier "Jeu.java" dans le fichier "MonJeu.java" à modifier à votre guise (exemple: changer le fichier wave d'accueil, afficher un autre message dans le champ de texte, changer les couleurs, ...). Associer le lancement de "MonJeu" à une option "MonJeu" que vous ajouterez dans la classe "MenuJeu". (Indice: modifier la méthode "lancerOption").

  3. Gestion des préférences: modifier la classe « UneImage.java » pour pouvoir gérer les préférences: le label qui contient Théo doit prendre ses couleurs dans la classe Preferences. Pour cela, inspirez-vous de la classe « Option.java », et regardez la méthode « changeColor »

  4. Utilisation du clavier : Modifier Option.java pour que le message "Jennifer est membre de l'APEDV" soit lu par la synthèse vocale lorsqu'on enfonce la touche 'F3' du clavier. Deux indices :
    1. on surchargera la méthode keyPressed(KeyEvent e) héritée de DevintFrame.
    2. on fait lire un texte court à SI_VOX en faisant v.playShortText(t) où v est une instance de SIVOXDevint et t est le texte,
    3. on peut utiliser v.playText(t) aussi, et v.stop() arrête la lecture.
  5. Règles de prononciation : vous avez dû constater que le message lu par SI_VOX est quasi incompréhensible. Vous pouvez améliorer les règles de prononciation en ajoutant des règles spécifiques pour votre projet.
    1. Allez dans ressources/donneesMbrola/rules.
    2. Modifiez le fichier "accronymes.txt" pour lui faire prononcer correctement APEDV (accronyme pour Association des Parents d'Enfants Déficients Visuels).
    3. Modifiez le fichier "exception.txt" pour lui faire prononcer correctement "Jennifer".
    4. Lancez votre jeu et vérifiez si c'est mieux.
  6. Synthèse Acapela : une autre solution pour faire lire un texte court, est d'utiliser la synthèse commerciale Acapela, via un serveur de l'école. Cela n'est possible que si vous êtes à l'EPU, nous avons une licence.
    1. Télécharger acapela.zip sur le site des projets.
    2. Aller dans acapela, modifier le fichier acapela.bat pour lui faire lire votre message et le générer dans jennifer.wav. Ecouter la différence.
    3. Modifier la classe MonChoixInterface.java pour lui faire lire jennifer.wav.
  1. Utilisation de slick: slick est une API de développement de jeux en java utilisé dans plusieurs jeux DeViNT : DeViNT Party, Invaders, ... Vous trouverez des informations sur slick sur la page http://users.polytech.unice.fr/~strombon/DEVINT2013/LiensUtiles.html

Autres projets DeViNT

En connaissant maintenant les grands principes de format et de structure des projets DeViNT, vous êtes à même d'exécuter d'autres jeux DeViNT, tels Vertigo dans l'AtelierDeViNT ou d'autres, beaucoup d'autres, qui sont accessibles dans le répertoire SourcesProjetsDeViNT, ou depuis le CD DeViNT.

Plus de détails sur l'utilisation de java

  1. Vous devez vous assurer que vous avec un jdk complet qui contient la commande "jar" (il se peut que vous ayiez seulement un jre sous windows). Il vous suffit pour cela d'aller sur le site de Sun http://java.sun.com/javase/downloads/widget/jdk6.jsp et de télécharger un jdk. Ensuite il faut mettre à jour votre path pour que le répertoire des exécutables java soit connu. Pour cela, clic droit sur "poste de travail" > proprietes > onglet "avancé" > bouton "variable d'environnement" en bas. Vous complétez le path avec le chemin vers les exécutables java.

  2. Pour ceux qui travaillent sous eclipse, quelques points à savoir. Le modèle de jeu DeViNT, comme votre futur projet, sera lancé à partir d'une interface commune à tous les projets. L'exécution est lancée depuis le sous-répertoire "bin". Sous eclipse, il vous faudra créer une configuration pour lancer votre projet, et dans l'onglet "arguments", en bas, "working directory" sélectionner le répertoire "bin". Il vous faut aussi avoir accès à SI_VOX (la synthèse vocale qui sait parler!). Pour cela, "configure build path", onglet "librairies", "add external jar" et aller chercher SI_VOX.jar dans le répertoire VocalyzeSIVox/bin.

  3. Les classes du modèle de jeu que vous avez manipulées dans ce TP sont des exemples d'utilisation de composants Swing. Une description de ces classes est ici. Pour en savoir plus sur les composants graphiques, il est recommandé d'utiliser le tutorial de Sun qui est très bien fait http://java.sun.com/docs/books/tutorial/uiswing/components/index.html

Nota: pour les textes lus par la synthèse vocale, privilégiez les textes courts, interrompus par les actions de l'utilisateur (v.stop();)