Kass Brikerie

Jeu de casse-briques moderne développé en Java pour terminal

Septembre 2025 Java Terminal Game Dev Agile/Scrum

🎯 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.

5 Développeurs
9 Sprints Scrum
~10k Lignes de code

✨ 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 →