Christophe Viau christophe.viau.1@ens.etsmtl.ca 17 février 2011 Cours: LOG745 Local: A-3326 Labo: A-3446 Heures: 13h30-15h30 et 15h30-17h30 Site du cours: http://profs.etsmtl.ca/mmcguffin/log745-2011h/ Url de ce document: http://bit.ly/dJHCNv TP3: DESIGN D'INTERACTION MULTITACTILE ************************************** /////////// //Objectif: /////////// Développez une interface démontrant les réels avantages du multitactile. /////// Projet: /////// En utilisant la base de code fournie, développez une interface multitactile qui pourrait être: -une modification du jeu fourni -une application différente utilisant la base de code du jeu fourni L'objectif principal est de convaincre de la pertinence du multitactile pour votre projet. Vous aurez donc d'abord à faire valider votre projet par votre chargé de laboratoire, puis à en écrire un court résumé incluant une courte description du projet et une courte justification de la pertinence du multitactile. Ensuite, vous aurez à produire une maquette graphique du concept, puis à l'implémenter en utilisant la base de code. Les équipes intéressées seront invitées à prendre une documentation vidéo por leurs archives personnelles et pour celles de l'ÉTS. ////////// Technique: ////////// -Vous avez à votre disposition des écrans tactiles 3M [ref] supportant 20 points de contact. -Vous devez utiliser la base de code Java fournie à la résolution utilisée dans l'exemple de jeu. -Vous devez autant que possible garder intact le code qui n'a pas a être modifié pour vos besoin (ex.: ne pas changer les noms de toutes les variables) pour faciliter la correction par "diff" et éventuellement pour permettre aux gens intéressés de fusionner les différents codes pour combiner les différentes fonctionnalités. -Vous pouvez, si vous le préférez, travailler sur votre plateforme (OS, laptop, IDE) mais seuls le matériel (écrans 3M, ordis des labos) et les logiciels (Eclipse, base de code, librairies) fournis par l'ÉTS sont garanties de fonctionner. /////////////////// Compilation du code /////////////////// Le code source se retrouve à cette adresse: -Fichier .zip: http://profs.etsmtl.ca/mmcguffin/code/java/SimpleRealTimeStrategyGame-2D-Multitouch_JavaApplication-JOGL-OpenGL.zip -Fichiers individuels: http://profs.etsmtl.ca/mmcguffin/code/java/SimpleRealTimeStrategyGame-2D-Multitouch_JavaApplication-JOGL-OpenGL/ -Détails: http://profs.etsmtl.ca/mmcguffin/code/java/SimpleRealTimeStrategyGame-2D-Multitouch_JavaApplication-JOGL-OpenGL/src/CLASSES.html Pour compiler le code, vous allez avoir besoin de la librarie JOGL disponible ici: http://profs.etsmtl.ca/mmcguffin/code/java/lib/JOGL/ . Pour ceux qui utilisent Eclipse sur Windows, vouz pouvez essayer les étapes suivantes: - créer un nouveau projet Eclipse et rajouter les fichiers .java au projet - rajouter les fichiers .jar (jogl.jar et gluegen-rt.jar) au projet: * clic-droit sur la racine de l'arborescence dans le panneau à gauche en Eclipse * properties * java build path * onglet: libraries * bouton: add external JARs - rajouter les fichiers .DLL au projet: * clic-droit sur chacun des .jars dans l'arborescence dans le panneau à gauche en Eclipse * properties * native library * bouton: external folder (ensuite rajouter le dossier qui contient les .DLL) Dans le code qu'on vous donne, "MultitouchFramework.java" est une copie de "doNotCompile/MultitouchFramework-MOUSE.java", et permet de simuler des événements multitactiles avec la souris. Cela vous permet de tester et modifier le code sans dispositif multitactile. Plus tard, quand vous serez en laboratoire et que vous allez tester votre code avec les écrans 3M, il va falloir copier "doNotCompile/MultitouchFramework-WM_TOUCH.java" par dessus "MultitouchFramework.java", et il va falloir aussi aller chercher des fichiers de la librarie MT4j qui se trouvent au http://profs.etsmtl.ca/mmcguffin/code/java/lib/MT4j/ . Pour votre travail pratique, les seuls fichiers que vous aurez probablement besoin de modifier sont "Constant.java" et "SimpleMultitouchRealTimeStrategyGame.java". Vous pouvez toutefois modifier les autres fichiers au besoin, mais ne modifiez pas "MultitouchFramework.java" (copiée, à l'origine, de "MultitouchFramework-MOUSE.java"), car plus tard, quand vous allez tester avec la version "MultitouchFramework-WM_TOUCH.java" et un écran 3M, votre code pourrait ne plus fonctionner. ////////// Livrables: ////////// 1) Un résumé du projet incluant un résumé et une justification de la pertinence de l'emploi du multitactile. Moins d'une demi-page. 2) Une maquette graphique du projet composée d'une ou de plusieurs images. Au format jpg à une résolution de 1024X768. 3) Une implémentation du projet utilisant la base de code fournie. L'implémentation n'a pas à être complète mais fonctionnelle et présentant la technique d'interaction /////////// Échéancier: /////////// -Cours 1: Explication du projet, identification et validation du projet. À faire avant le cours suivant: projet écrit (livrable 1) -Cours 2: Travail sur la maquette graphique À faire avant le cours suivant: maquette graphique (livrable 2) -Implémentation et essais sur les écrans 3M À me remettre le cours suivant: projet écrit, maquette graphique et implémentation (les trois livrables) //////////////////// Protocole de remise: //////////////////// -Respectez cette structure de fichier: tp3_(no d'équipe) |__projet.txt |__maquette(1).jpg [...] |__code |__Main.java [...] -Je ramasserai les projets sur ma clef usb le jeudi suivant le dernier labo du tp3, c.a.d. le premier labo du tp4 -Je ne ramasserai les projets qu'à ce moment. Ne m'envoyez pas ces documents par courriel. //////////// Évaluation: /////////// L'évaluation se fait selon deux pôles: la créativité et la technique. Les critères académiques évaluent la qualité de l'implication dans le projet. Grille d'évaluation: *Critères créatifs: 10 -originalité de la création ou de la modification -qualité de la maquette graphique *Critères techniques: 10 -ampleur du défi technique -qualité de l'implémentation *Critères académiques: 10 -respect du sujet (pertinence du multitactile) -respect des consignes (protocole de remise) -qualité de l'implication (effort, travail d'équipe) Ce TP vaut pour 12% de la note finale. /////////////////////// Détails supplémentaires /////////////////////// -Votre carte ne sera pas activée pour le local A-3446 contenant les écrans 3M. Vous n'y aurez donc accès qu'en ma présence pendant les périodes de laboratoire, à moins d'arrangement spécial. -Sur les ordinateurs du laboratoire, n'oubliez pas d'employer votre nom d'utilisateur complet (XX12345@ens.etsmtl.ca) -Nous dresserons au début du prochain laboratoire la liste des équipes en donnant à chacune un numéro, pour faciliter certaines transactions. Nous déterminerons aussi l'horaire de travail pour répartir toutes les équipes sur les quatre ordinateurs dédiés au projet. -Il est spécifié dans l'énoncé de projet qu'il faut utiliser la base de code Java fournie. Mais j'accepterai pour les projets qui le justifient l'utilisation d'autres librairies Java et même du framework Processing. Je vous laisse juger si l'avantage d'utiliser une librairie graphique ou autres (physique, AI) ne vous enlève pas la facilité d'intégration des événements multitactiles fournis par le code de Michael. L'important est que votre prototype démontre le mieux possible le design d'interaction multitactile.