%% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Développement d'Applications/Modélisation Jeu Vidéo/Modélisation Jeu Vidéo|Accueil · Modélisation Jeu Vidéo]] %% nav-fin %% # 🕹️ **Évaluation — Modélisation UML d’un Projet (Jeu Vidéo ou Jeu de Société)** > _Objectif : analyser, modéliser et concevoir un mini-jeu complet, en respectant les principes de la programmation orientée objet._ Dans cette évaluation, vous allez choisir un **jeu vidéo rétro** ou un **jeu de société** dans la liste fournie, ou bien proposer votre propre idée (à faire valider auprès de [[Julien DUQUENNOY]]). Vous devrez produire : 1. un **diagramme de classes UML** de votre jeu 2. un **plan de jeu en grille** (coordonnées en pixels) 3. un **dessin de la fenêtre de jeu initiale** avec positions et tailles 4. une **liste d’objectifs fonctionnels** (les fonctionnalités du jeu) # 🎮 1. Choisir un projet Vous choisissez **un jeu** parmi la liste ci-dessous. ## 🕹️ Jeux vidéo rétro, arcade et classiques - Super Mario Bros - Pac-Man - Space Invaders - Bomberman - Breakout / Casse-briques - Snake - Street Fighter - Bejeweled - Agar.io ## 🧱 Jeux d’action / plateforme / aventure - Terraria - Super Metroid - Legend of Zelda ## 🧠 Jeux de réflexion et tower-defense - Tower Defense (genre général) - Plants vs Zombies - Tetris ## 👾 Roguelike / Rogue-lite - Rogue Legacy - The Binding of Isaac ## 🎮 RPG et jeux d’aventure - Pokémon ## ⚔️ Jeux de stratégie / gestion - Age of Empires - Kingdom ## 🃏 Jeux de cartes - Magic : The Gathering - Hearthstone ## 🌲 Jeux de survie - Don’t Starve ### 💡 Projet personnel Toute autre idée de jeu vidéo rétro ou jeu de société **peut être proposée**, mais **doit être validée** avant de commencer. # 🎯 2. Objectifs fonctionnels Votre jeu est décrit par une **liste d’objectifs**, où chaque objectif correspond à une **fonctionnalité claire et testable**. ### Exemple : _Super Mario Bros_ # 🟧 Base — Évaluation des objectifs | Objectifs | NF | PF | F | Note | |-----------|----|----|----|------| | Déplacements de Mario au clavier | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Animation de Mario | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Sauts de Mario à l’arrêt | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Sauts de Mario en mouvement | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Gestion des blocs « ? » — pièces | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Gestion des blocs « ? » — champignon magique | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Ramassage du champignon — agrandissement — se baisser | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Destruction des blocs | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Présence de Goombas | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Déplacement des Goombas | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Goombas écrasés par Mario | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Mario touché par un Goombas | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Interactions avec le décor | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Scrolling du décor | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Chutes dans le vide | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Fin de la partie | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | # 🟩 Améliorations | Objectifs | NF | PF | F | Note | |-----------|----|----|----|------| | Passages secrets | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Boss de fin | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Gestion des vies de Mario | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Plusieurs niveaux | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Musique | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Sons | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Bloc « ? » — fleur de feu | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Bloc « ? » — starman | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Bloc « ? » — champignon vert | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | | Sauvegarde de la partie | ☐ | ☐ | ☐ | | | *Commentaires :* | | | | | # 🏅 3. Barème (Bronze / Argent / Or) Si vous allez jusqu’à coder le jeu, la validation dépendra du nombre d’objectifs atteints dans votre fiche projet : |Niveau|Nombre d’objectifs fonctionnels| |---|---| |🥉 **Bronze**|10 objectifs| |🥈 **Argent**|15 objectifs| |🏅 **Or**|20 objectifs| ⚠️ _Un objectif = une fonctionnalité complète, testable, et décrite clairement._ # 📄 4. Livrables obligatoires Pour valider la compétence, vous devez fournir les **quatre éléments suivants**. ## 4.1. 📄 Fiche projet — Liste des objectifs Avant toute production de diagramme ou de plan de jeu, vous devez préparer **une fiche projet complète**, dans laquelle vous listez les objectifs fonctionnels de votre jeu. Ces objectifs correspondent aux fonctionnalités que vous prévoyez d’implémenter (ex. : afficher le joueur, gérer les collisions, mettre en place un ennemi, gérer le score, etc.). 👉 **La fiche projet de référence est disponible ici :** https://cloudlasalle.sharepoint.com/sites/apex/_layouts/15/guestaccess.aspx?share=IQDmajLNB8TjT7KfV_SsBz9FAWOZ6XTdFjCGpgH40ySmsbc&e=CqqnY7 Cette fiche contient : - une structure prête à remplir - est le support qui permettra de vous évaluer si vous allez jusqu’à développer le projet ## 4.2. 📘 Diagramme UML du projet Vous devez produire un **diagramme UML complet**, comprenant : - les **classes** - leurs **attributs essentiels** - les **relations entre classes** (associations, compositions, héritages…) - les **cardinalités** Inutile de représenter les **méthodes** à ce stade. Votre UML doit refléter l’ensemble des fonctionnalités prévues dans votre fiche d’objectifs. ## 4.3. 🗺️ Plan du jeu (grille en pixels) Vous devez représenter votre jeu sous la forme d’une **grille**, où : - chaque **case** possède une _taille en pixels_ (ex. : 32×32 px) - vous indiquez **pour chaque case** quel élément doit s’y trouver (mur, ennemi, joueur, obstacle, pièce…) - cette grille sert de **plan initial** du niveau Le but : organiser graphiquement votre scène et préparer la génération de la fenêtre de jeu. ## 4.4. 🖼️ Fenêtre de jeu initiale (dessin) Vous devez dessiner la **fenêtre de jeu dans sa situation de départ**, avec : - les **coordonnées exactes** des éléments (en pixels) - la **taille en pixels** de chaque élément - la **position initiale** du joueur - la **structure du niveau** (murs, obstacles, ennemis) Ce dessin doit être **propre, lisible, proportionné**, et cohérent avec votre grille du point précédent. # 🎦 5. Inspiration Pour vous donner des idées, voici une vidéo présentant plusieurs projets d’étudiants réalisés les années précédentes : ### ▶️ _“Projets étudiants Java – Portfolio”_ <iframe width="560" height="315" src="https://www.youtube.com/embed/Pz0-yIaw2-E?si=CyTwDQ-3It5bdeLL" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> > [!tip] > Prenez le temps de regarder la diversité des projets. > Chaque étudiant est parti d’un concept simple, puis a développé des objectifs progressivement. # 🧠 6. Conseils avant de commencer - ne choisissez pas un jeu trop complexe - définissez clairement vos objectifs fonctionnels (10 → 20) - commencez **par l’UML**, puis passez au plan de grille - utilisez une grille en pixels cohérente (ex. 10 px, 20 px…) - pensez “objets” : joueur, ennemi, mur, pièce, projectile… # 🚀 7. Validation finale > 🎯 Votre projet sera validé sur la base : > - de la qualité du diagramme UML > - de la rigueur du plan de grille (pixels) > - de la cohérence du dessin de la fenêtre > - du nombre d’objectifs déclarés dans votre fiche %% nav-debut : généré par gen_navigation.py, ne pas modifier à la main %% > [!nav] > ↩ [[Code et Développement/Développement d'Applications/Modélisation Jeu Vidéo/Modélisation Jeu Vidéo|Accueil · Modélisation Jeu Vidéo]] %% nav-fin %% --- 🗓️ Historique Dernière mise à jour : `22 novembre 2025` Rédigé par : [[Julien DUQUENNOY]]