Le Potager
Il s'agit de mon projet tutoré de deuxième année de BUT informatique : un jeu vidéo conçu à 4, se devant d'être accessible, inclusif et éco-responsable.
Réalisé sous Unreal Engine 5 en environ 650h cumulées, il place le joueur dans la peau d'un petit chat devant gérer son restaurant aussi écologiquement que possible !
Il devra satisfaire les clients, s'occuper de son potager, de ses stocks, tout en protégeant sa planète.
Étapes du projet
- Création du Gitlab et configuration du projet UE5
- Suivi de projet
- Fichier excel
- Issues sur Gitlab
- Conception 3D
- Modélisation, unwrapping
- Texturation
- Animation
- Implémentation des mécaniques
- Intéractions, déplacements, comportements des personnages
- Cuisine, gestion du potager, gestion des stocks, de la vaisselle, des déchets, etc
- Évolution de l'environnement, passage du temps
- Optimisation
- Des matériaux, des shaders, des modèles 3D
- Du code
- Des lumières
- Accessibilité
- Des textes
- Des couleurs
- Du matériel (OS, gamme...)
Compétences techniques mobilisées
- C++
- Blueprint
- Modélisation 3D
- Texturation / Baking de normals maps
Compétences humaines et transversales
- Veille concurrentielle
- Respect du cahier des charges
- Travail en équipe, travail collaboratif
- Gestion du temps
- Allocation des ressources en fonction des besoins
Outils et technologies
- Unreal Engine 5
- Construction du monde
- Physique, lumières
- Association du code, intégration du Blueprint et de bibliothèques
- Outils de profiling pour identifier les besoins d'optimisation
- Gitlab
- Versioning
- Mise en commun
- Suivi des issues
- JetBrains Rider
- Écriture et compilation de code C++ pour Unreal Engine
- Blender
- Modélisation 3D
- Autodesk 3DsMax
- Unwrapping des modèles
- Adobe Substance 3D Painter
- Texturation
- Baking de normal maps à partir de high-poly
Numérique responsable
- Ciblage des besoins
- Direction artistique "cartoon" ➝ faible réalisme
- Vue du dessus ➝ détails peu ou pas visibles
- Volonté d'être cohérent avec le propos du jeu
- Modélisation
- Complexité des modèles 3D, niveau de détail
- Résolution des textures
- Conversion de reliefs en normal map
- Éclairage
- Limitation du rayon d'action des sources et de leurs intersections
- Passage d'un maximum d'entre elles en "statique"
- Baking de celles-ci
- Code
- Écriture des classes de base en C++
- Usage minimal des "cast" d'objets Unreal en d'autres
- Chargements d'assets asynchrones
- Partitionnement du monde du jeu
Accessibilité et inclusion
- Troubles visuels, cognitifs, auditifs
- Police adaptée à la dyslexie en option
- Contraste et taille suffisants
- Mise en valeur des objets interactifs
- Rappels contextuels des commandes
- Difficulté
- Tutoriels
- Absence d'ennemi
- Impossibilité de "perdre"
- Possibilité future de régler/supprimer les timers sur certaines actions
- Représentativité, diversité
- Les personnages sont des animaux divers et stylisés
- Possibilité future de choisir l'apparence de notre personnage
Compétences académiques impliquées
-
Réaliser un développement d’application
Développer, c'est-à-dire concevoir, coder, tester et intégrer une solution informatique pour un client :
– en respectant les besoins décrits par le client
– en appliquant les principes algorithmiques
– en veillant à la qualité du code et à sa documentation
– en choisissant les ressources techniques appropriées -
Optimiser des applications
Proposer des applications informatiques optimisées en fonction de critères spécifiques : temps d'exécution, précision, consommation de ressources…
– en formalisant et modélisant des situations complexes
– en recensant les algorithmes et les structures de données usuels
– en s'appuyant sur des schémas de raisonnement
– en justifiant les choix et validant les résultats -
Conduire un projet
Satisfaire les besoins des utilisateurs au regard de la chaîne de valeur du client, organiser et piloter un projet informatique avec des méthodes classiques ou agiles :
– en communiquant efficacement avec les différents acteurs d'un projet
– en respectant les règles juridiques et les normes en vigueur
– en sensibilisant à une gestion éthique, responsable, durable et interculturelle
– en adoptant une démarche proactive, créative et critique -
Collaborer au sein d’une équipe informatique
Acquérir, développer et exploiter les aptitudes nécessaires pour travailler efficacement dans une équipe informatique :
– en inscrivant sa démarche au sein d'une équipe pluridisciplinaire
– en accompagnant la mise en œuvre des évolutions informatiques
– en veillant au respect des contraintes juridiques
– en développant une communication efficace et collaborative
Un jeu fini (et diffusé ?) encore sujet à améliorations
Réponse aux attentes :
En matière d'accessibilité, le jeu est paramétrable de manière à répondre à la plupart des besoins les plus courants chez les joueurs
(troubles visuels, auditifs, attentionnels, etc), ainsi qu'au plus grand nombre de configurations matérielles possible.
Et pour cause, un accent particulier a été mis sur l'optimisation du code et des graphismes du jeu, afin de répondre dans le même temps aux
contraintes écologiques.
Retour académique :
Note : 17/20 (pour l'instant)
La soutenance de mi-projet que mon groupe et moi-même avons réalisée s'est très bien déroulée, nous valant les compliments de nos enseignants
quant à la clarté de nos explications et les résultats déjà probants pour la précocité du projet.
La soutenance finale aura bientôt lieu !
L'avenir du jeu :
Je m'attends à pouvoir diffuser le jeu, une fois la soutenance finale passée. Il nous reste à voir quelles améliorations apporter au jeu d'ici là. En attendant, il est toujours disponible sur GameJolt !
Autres projets
Vous pouvez accéder d'ici à mes autres projets !




