%% 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]]