
Objectifs du Projet
Dans l’objectif d’évaluer notre montée en compétence dans la programmation orientée objet, il nous a été demandé de développer un jeu vidéo avec le langage de programmation Python.
Déroulement d’une partie :
- Jeu de chance s’apparentant aux combats de pokémon.
- 1 vs 1 contre l’ordinateur.
- Le joueur et l’ordinateur possède chacun 3 guerriers qu’ils peuvent invoquer sur le champ de bataille pour se combattre.
- Des lancés de dés déterminent le nombre de dégâts infligé par un guerrier au guerrier adverse.
- Une fois que le joueur ou l’ordinateur n’a plus de guerrier la partie est terminée.
Technologies utilisée :
Pour ce projet nous avons décidé de réaliser notre avec la bibliothèque Python « Pyxel » qui nous permet de créer des jeux avec une interface graphique rétro.
Ce projet m’a permis de regrouper toutes les normes de programmation orienté objets tel que :
- Les constructeurs
- Les instances
- Les classes abstraites
- Les interfaces
- L’héritage
De plus, à travers ce jeu j’ai pu pratiquer une fois de plus cette structure de programmation dans un environnement autre que le Web.
Je me suis appliqué afin d’avoir un code clair et organisé.
Application Canva : Maquette de Projet

La formation continue autour de logiciel de design dans le cadre de la réalisation d’un jeu vidéo inclut la capacité à structurer son approche pour mener à bien des projets créatifs tout en restant efficace et méthodique. Dans le cadre de la création d’un cahier des charges pour un jeu vidéo de Duel de Guerrier, j’ai su combiner créativité et organisation pour répondre aux exigences du projet. Ce cahier des charges définissait les règles du jeu, mais me laissait une liberté totale quant au design.
Pour matérialiser mes idées de manière rapide et visuelle, j’ai utilisé Canva, une solution en ligne puissante permettant de créer des maquettes d’aspect professionnel en un minimum de temps.
Cet outil m’a permis de transformer mes idées en visuels concrets, facilitant ainsi la présentation et la validation de mon projet créatif.
En intégrant des outils comme Canva à mon processus de travail, j’ai organisé mon développement professionnel en me donnant les moyens de visualiser mes idées et de répondre aux attentes de projets tout en développant mes compétences en design et en présentation graphique.
Analyse des tâches principales du développement d'un jeu vidéo

Dans le cadre de la réalisation d’un jeu en Python, j’ai utilisé Trello pour organiser et planifier les tâches avec les membres de mon équipe. Cet outil m’a permis de suivre les étapes clés du projet, d’attribuer des responsabilités spécifiques et d’assurer la communication entre les participants, facilitant ainsi le respect des délais et des objectifs.
En analysant le cahier des charges, j’ai su identifier les tâches principales nécessaires à la conception du jeu, comme la création des fonctionnalités de base, la définition des interactions, et l’implémentation de la programmation orientée objets. Grâce à cette approche, j’ai pu structurer le développement en modules indépendants, ce qui a simplifié la répartition du travail et a permis à chaque membre de contribuer efficacement.
En organisant le projet de cette manière, j’ai renforcé ma capacité à travailler en mode projet, en structurant les étapes de manière collaborative et en veillant à l’avancement continu des travaux.
Héritage de classe & Classes Abstraites

Développer des produits informatiques implique de se former et de s’améliorer continuellement en vue de devenir plus performant et adaptable dans son domaine. En approfondissant les concepts essentiels de la programmation orientée objet (POO), j’ai renforcé ma maîtrise de techniques comme l’héritage de classes. Ce concept m’a permis d’améliorer la structure de mon code, en rendant la création et la gestion de sprites pour mon jeu vidéo plus efficace et organisée.
J’ai également exploré l’utilisation des classes abstraites, qui sont des modèles de base pour des objets génériques et qui m’offrent une grande flexibilité dans la création d’éléments du jeu.
L’ajout d’interface/classe abstraite m’a permis de réutiliser du code plusieurs fois pour des objets différents de mon jeu mais aux caractéristiques similaires. Ces apprentissages ont élargi mes compétences en programmation et m’ont permis de structurer mes projets de manière plus réfléchie et pérenne.