Kass Brikerie
Jeu de casse-briques moderne développé en Java pour terminal
🎯 Aperçu du projet
Kass Brikerie est un jeu de casse-briques moderne inspiré du classique Arkanoid, développé entièrement en Java pour terminal dans le cadre de ma formation en BUT Informatique. Le projet combine un gameplay classique avec des fonctionnalités modernes : système de bonus, gestion multi-balles, et sauvegarde de scores en ligne. Développé en méthodologie Agile/Scrum sur 9 sprints par une équipe de 5 développeurs, ce projet m'a permis d'approfondir mes compétences en développement collaboratif et en gestion de projet.
Au sein de l'équipe, j'ai contribué à l'implémentation du système de collisions et de physique du jeu, au développement du système de bonus variés, ainsi qu'à l'optimisation du rendu dans le terminal pour assurer une expérience de jeu fluide. J'ai également participé activement aux cérémonies Scrum (daily stand-ups, sprint reviews, rétrospectives) et à la gestion du backlog produit.
📖 Contexte du projet
Projet universitaire réalisé dans le cadre du BUT Informatique à l'IUT de Lille. L'objectif était de créer un jeu complet en appliquant les méthodologies de développement agile, avec un focus sur le travail d'équipe, la gestion de projet, et les bonnes pratiques de développement.
✨ Fonctionnalités principales
- Gameplay classique amélioré Reprise du concept Arkanoid avec des mécaniques modernes et fluides
- Système de bonus variés Power-ups pour agrandir la raquette, ralentir la balle, obtenir des vies supplémentaires, etc.
- Gestion multi-balles Possibilité de jouer avec plusieurs balles simultanément pour maximiser les points
- Rendu terminal optimisé Rafraîchissement d'image fluide dans le terminal avec gestion des collisions précise
- Système de scores en ligne Sauvegarde et classement des meilleurs scores avec persistance des données
- Niveaux progressifs Difficulté croissante avec des patterns de briques variés
🛠️ Technologies utilisées
Java
Langage principal pour la logique de jeu et le moteur graphique
Terminal Graphics
Rendu graphique dans le terminal avec rafraîchissement optimisé
Game Loop
Boucle de jeu avec gestion du temps et des FPS constants
Méthodologie Agile
Développement en sprints Scrum avec rétrospectives et planning
🔄 Méthodologie Agile/Scrum
Le projet a été développé en suivant rigoureusement la méthodologie Scrum sur 9 sprints :
📋 Sprint Planning
Définition des user stories et estimation des tâches en début de sprint
🏃 Daily Standups
Points quotidiens pour synchroniser l'équipe et identifier les blocages
👀 Sprint Review
Démonstration des fonctionnalités développées aux parties prenantes
🔍 Retrospective
Analyse des points positifs et axes d'amélioration pour le sprint suivant
🚀 Défis techniques
Rendu fluide en terminal
Optimisation du rafraîchissement de l'écran terminal pour obtenir un gameplay fluide malgré les limitations du terminal (pas de double buffering natif).
Détection de collisions précise
Implémentation d'un système de détection de collisions performant entre la balle, les briques et la raquette avec gestion des angles de rebond réalistes.
Gestion multi-balles
Coordination de plusieurs balles simultanées avec gestion individuelle des collisions et de la physique pour chaque balle.
Travail en équipe
Coordination de 5 développeurs avec des niveaux d'expérience différents, nécessitant une communication claire et des revues de code régulières.
🏗️ Architecture du projet
Modèle MVC
Séparation claire entre la logique métier (Model), l'affichage (View) et les contrôleurs
Design Patterns
Utilisation de patterns (Factory, Observer, Strategy) pour un code maintenable
Tests unitaires
Couverture de tests pour les composants critiques (collisions, scoring)
Git workflow
Branches par fonctionnalité avec merge requests et code reviews
📚 Compétences développées
- Développement de jeux vidéo (game loop, physique, collisions)
- Méthodologie Agile/Scrum en environnement réel
- Travail collaboratif avec Git (branches, merge, code reviews)
- Optimisation de performances et gestion mémoire
- Architecture logicielle avec design patterns
- Communication d'équipe et gestion de projet
- Tests unitaires et assurance qualité
💻 Explorez le code
Le code source complet est disponible sur GitHub avec la documentation du projet et les instructions d'installation. Testez le jeu et découvrez l'implémentation !
Voir le repository GitHub →