Cesi RILA 2014 – Projet Java Julian Mauborgne

Slides:



Advertisements
Présentations similaires
Sommaire Présentation du projet Déroulement du projet Partie technique
Advertisements

L’éducation du corps à l’école maternelle
Sujet BL1 : Simulateur de comportements réactifs
Prototype de plate-forme de Tribus Instantanées :
Gestionnaires de contenu en ligne TER BN1 Mario Di Miceli, Maxime Lamure, Damien Mandrioli, Romain Raugi.
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
- TUTORIAL MCIE - Méthode de Conception d’Interfaces Ergonomiques
Conception d’une application de gestion de fiches études
BTS SIO : Stage première année – Création d’un site web interactif
MiniProjet Electronique - Robot Radiocommandé
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
TER Simulation Spatiale
Simulation 3D d’un dispositif de fourchette électronique
1. Introduction: Vous avez dit MMORTS ? contexte de notre TER 2. Survol du projet: Les différentes composantes du projet Le jeu Organisation du travail.
Pinage Of Empire.
جامعــــــة محمد خيضــــــــــــر بــســكــــــــــــرة
GWT UML Un modeleur UML en GWT
Modèle, Méthode et Conception
1. Introduction: Vous avez dit MMORTS ? contexte de notre TER 2. Survol du projet: Les différentes composantes du projet Le jeu Organisation du travail.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Analyse des besoins en informatique du SRI
Les graphiques pour la vélocité. Les variables: Indépendante - Dépendante - Une révision des graphiques:
TILLARD Baptiste MANDYEV Andriy PESSION Julien MIRA Yoann
Découverte des possibilités d’un moteur 3D
Réalisation du jeu du pendu
Projet Java : Echiquier électronique
Projet de programmation
PROJET DE GENIE LOGICIEL 2005
Christian Aebischer Michel Gendre Jean-Pierre Lambelet
Projet Programmation Orientée Objet
LA SEANCE 1. Qu ’est-ce que je veux faire? (choisir ses objectifs)
Création d’une communauté web scénarisée : le projet Crealys
V ISUALISATION TUBULAIRE EN RÉALITÉ VIRTUELLE Projet de Langage Orienté Objet 2007/2008 Jonathan Courtois et Lulu Zhong.
JavaScript.
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Méthodologie de recherche 1ère partie
Réalisation Roll Through the Ages 1 Rémy MATHIEU Morgan MONTES Jean-Michel RONDY Benjamin SIRIGU.
ARMAND François – AUDRAS Jean-Baptiste – BROCHIER Mickaël
Projet d’Année Lecteur MP3 pour musiciens sous Android
Bridge Chinois Par Mathieu ROGER, Mamadou DIABY, Bilal TRAORE, Soufiane DIABI, Bilal CHAARI et Benjamin REBATET. 1.
Et enfin! La rédaction du rapport final. Vue d’ensemble  Pourquoi rédiger un rapport final?  Quels sont les éléments principaux à inclure?  Les manières.
« Validation Formelle de Systèmes Interactifs »
LEMKE LaurentBITSCH José TERRIER VincentLAALA Yoann MONTAVONT GuillaumeBRIBI Mohamed 1.
La programmation système
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
DESIGN MULTIMÉDIA Initiation aux bases de La scénarisation multimédia
PPE GASPAR Gestion de l’Aviation Sur
Le Taquin Mathieu Bernou Laurent Robin.
Projet d’Année Lecteur MP3 pour musiciens sous Android
Programmation Réactive
page 1 39 BAG LUXIE 43 AFR BSN SAB BSN80 39 SVA TRA 39 AIH BSN 39 BAW RLP EPOQUES: Conception participative.
Toolkit WEB de contrôle en SVG Equipe Koala d’ILOG Encadré par Colas Nahaboo Isabelle LAFAYE.
Plan de la présentation
Poly Defense Soutenance de Projet de programmation oriEntee objet
Groupe McastM Magali CAPUSMagali CAPUS Caroline COSTECaroline COSTE Arnau COSTA BEALArnau COSTA BEAL Sébastien CRESPINSébastien CRESPIN Thierry FORTUNOThierry.
TIJARIATE Méthodes Orientées Objets Unified Process (UP) - Groupe A
IMFELD Stanley. I. Contexte II. Evolution du diagramme de GANTT III. Cahier des Charges IV. Evolution du projet V. Logiciel Utilisés ou abandonnés VI.
Mathieu Martin Thomas Rovayaz Natacha Laborde Nathanaël Couret
La programmation créative Scratch
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Revue projet Final : Session 2006
SOMMAIRE  Intro et cahier des charges 2 Présentation Projets Étude et recherche Développement Doc. et manuels Conclusion J.
Online School L’éducation pour tous 1 Mathieu Martin Thomas Rovayaz Natacha Laborde Nathanaël Couret Anthony Lamboy.
Amine Benabdennbi - Omar Berrada Rekhami Flash 2 – Interactivité Avancée Flash 2 Séance de Flash n°2 TD SI28 du 16/04/2007 Amine Benabdennbi Omar Berrada.
Réalisation d’un Framework pour la création de jeux d'arcades Groupe MUS-D : FHAL Jonathan KÖNIG Mélanie MAILLET Laurent MANESCHI Romain NOVAK Audrey Encadrant.
 Ludovic : gestion des obstacles  Loïc : gestion du personnage  Antoine : gestion des collisions (sol et obstacles), du score, des sons et du « Game.
Production de ressources pour le cycle 3 Lycée Diderot le 8 mars 2016
Transcription de la présentation:

Cesi RILA 2014 – Projet Java Julian Mauborgne Projet Frogger Cesi RILA 2014 – Projet Java Julian Mauborgne

Introduction Conception Développement Conclusion Plan 03 juin 2015

Frogger (1/3) Jeu d’arcade 1981 Konami Diriger des grenouilles Atteindre les maisons Eviter les obstacles Jeu original Introduction Conception Développement Conclusion 03 juin 2015

Objectifs (2/3) Reprise du jeu classique Langage JAVA Introduction Quatre grenouilles Deux espaces Chronomètre Niveau de difficulté Score Langage JAVA Introduction Conception Développement Conclusion 03 juin 2015

Environnement technique (3/3) Langage : JAVA 8 IDE : eclipse Système de gestion de version : git Librairie graphique : JavaFX Outil de mise en page : Scene builder Outil de build : Ant Introduction Conception Développement Conclusion 03 juin 2015

Introduction Conception Développement Conclusion Plan 03 juin 2015

Gestion de projet (1/5) Introduction Conception Développement IHM Prototype Conception globale Développement d’un prototype Moteur de jeu Boucle de jeu Déplacements Intégration des règles de jeu Score Vie Chronomètre Collisions Gameplay Introduction Conception Développement Conclusion 03 juin 2015

IHM (2/5) Quatre actions utilisateur : Introduction Conception Jouer Consulter les scores Modifier les options Quitter l’application IHM répondant aux cas d’utilisation demandées: Quitter l’application…. Consulter les high scores Modifier la difficulté Jouer au jeu IHM de l’application Introduction Conception Développement Conclusion 03 juin 2015

Cas d’utilisation principal : jouer une partie (p6) Lancer une partie (3/5) Début Déroulement Fin Une partie, ou tout jeu nécessite : Un début : déclenché par une action utilisateur <= qd il clique sur « lancer la partie » La partie proprement dit : dépends essentiellement des déplacements du joueur Une fin : qd le nombre de vie arrive à son terme Cas d’utilisation principal : jouer une partie (p6) Introduction Conception Développement Conclusion 03 juin 2015

Eléments du jeu (4/5) Obstacles (2) Joueur (2) Fin de partie (3) Chronomètre (3) Vies restantes (3) Boucle de jeu (1) 3 éléments principaux dans la partie : - La boucle de jeu : entité principale du jeu => met en relations les différents acteurs : les déplacements, les collisions, les règles du jeu… Le joueur et obstacles : objets graphiques soumis à des déplacements => par le joueur, ou moteur (constants, rectilignes, linéaires) <= sensibles aux collisions Les règles de jeu => nbre de vie, timer, zone d’arrivée (conditions qui vont impacter le déroulement du jeu, et selon lesquelles le joueur va devoir adapter son jeu) Introduction Conception Développement Conclusion 03 juin 2015

Déroulement d’une partie (5/5) :IHM :Game loop Joueur Déplacements Mouvement = true :Collisions :Règles Collisions ? Conséquence ? Mise à jour IHM :Gestion des déplacements Déplacements ? Diagramme de séquence mettant en exergue : Le joueur Le moteur de jeu Le moteur de collisions Le moteur de règles Interactions des entités principales d’un cycle de jeu (p8) Introduction Conception Développement Conclusion 03 juin 2015

Introduction Conception Développement Conclusion Plan 03 juin 2015

Les nœuds graphiques de JavaFX Librairie graphique (JAVA 8) Multi-plateforme CSS FXML Scene Builder Stage Scene Node Multiplateforme : desktop Linux, Mac OS X, Windows FXML : possibilité de décrire l’IHM dans des fichiers FXML, en XML… - Possibilité de binder directement le fichier à un contrôleur - Possibilité de créer ses propres composants graphiques (java) et de les utiliser (import) => définir des propriétés, directement renseignées dans le xml Scene builder = mise en forme graphique, accès aux composants personnalisés, y compris aux propriétés Les nœuds graphiques de JavaFX Introduction Conception Développement Conclusion 03 juin 2015

Principe des timelines Animations (2/5) Classes animations natives Effets Déplacements KeyFrames / KeyValues Timeline opacity 0% opacity 100% opacity 50% 500 1000 ms 90° 45° 0° Translation, Rotation, Fade, Blur… Principe : définir un état initial, un état final, et la durée en milli-secondes pour passer de l’un à l’autre - KeyFrames : étapes clés => les différents états transitoires (propriétés à un moment donné) - keyValues : la valeur des propriétés à ce moment Principe des timelines Introduction Conception Développement Conclusion 03 juin 2015

Boucle de jeu avec une timeline Game loop (3/5) Timeline(keyFrames) Ligne de temps répétable Accepte un liste d’étapes-clés KeyFrame(duration, event listener) Durée Gestionnaire d’événements Boucle de jeu avec une timeline MAJ Chronomètre Déplacer objets Déplacer joueur Vérifier les règles 30ms Introduction Conception Développement Conclusion 03 juin 2015

Objets graphiques : tuiles d’environnement et obstacles Collisions (4/5)     Objets graphiques : tuiles d’environnement et obstacles Deux niveaux de collisions : Grenouille vs Environnement Grenouille vs Obstacles Trois(+) types de collisions : Négative Positive Nulle A chaque nœuds graphiques (node javafx) correspond un nœud manipulable par le code, et chacun de ces nœuds est pourvu d’une propriété spécifiant le type de collisions auquel il appartient. - 1 = mort !!! => ok - 2 = objets statiques => ok - 3 = objets flottant => ok - 4 = accès interdit => no - 6 = maison => ok, puis no Introduction Conception Développement Conclusion 03 juin 2015

Processus du médiateur (p16) Collisions (5/5) Un déplacement = une notification des nœuds inscrits Une notification = un test entre le nœud émetteur et le receveur Au niveau du code : - calculs de collisions : cf developpez.com… (premier test sur les rectangle bounds, second avec des cercles. Plus le cas particulier obstacles : circle/rectangle). - détection de collisions : plus intéressant Première méthode : parcourir la liste de nodes et tester un à un.. A chaque tour de boucle… (long… risques de rater des collisions, différence entre les collisions effectives du début du test et celles de la fin (boucle de 33ms… pour >100 nodes)) Deuxième méthode : gérer différemment la détection selon le type d’objet et tester uniquement lors d’un déplacement ! -> la grenouille bouge > on teste la position qu’elle aura en testant la liste de node statiques > selon le retour, on autorise ou non, pour une mort ou non. -> oui mais la grenouille ne se jette pas forcément sous les roues des voitures… Pour les objets en mouvement : installer une discussion entre eux, et tester s’il y a déplacements = pattern mediator Processus du médiateur (p16) Introduction Conception Développement Conclusion 03 juin 2015

Introduction Conception Développement Conclusion Plan 03 juin 2015

Perspectives (1/4) Introduction Conception Développement Conclusion Revisiter les animations Déplacements Collisions améliorées Radar Objets autonomes Machine à état Collisions Règles Introduction Conception Développement Conclusion 03 juin 2015

Technique (2/4) Java Java 8 JavaFX POO UML Introduction Conception Développement Conclusion 03 juin 2015

Expérience (3/4) Gestion de projet Conception Technique Introduction Estimation du temps Gestion du temps Conception Cahier des charges Méthodologie Technique Introduction Conception Développement Conclusion 03 juin 2015

Bilan personnel (4/4) Logique de jeu Conception selon l’expérience et les connaissances (constante évo) 1er projet Pas une logique d’appli de gestion Je ne ferais pas aujourd’hui ce que j’ai fait au début du projet Introduction Conception Développement Conclusion 03 juin 2015

Merci. Questions ?