Jeu de Combat - Style Street Fighter
Création d'un jeu de combat 2D inspiré de l'emblématique Street Fighter. Développé avec Node.js et Canvas API, ce projet met en avant des mécaniques de combat fluides, un système de combos avancé et une intelligence artificielle compétitive pour les adversaires.
Aperçu du Jeu
Fonctionnalités Principales
-
Mécaniques de Combat Fluides
Système de combat responsive avec détection de collisions précise, animations fluides à 60 FPS et retour haptique visuel.
-
Système de Combos Avancé
Enchaînements de coups avec timing précis, combos spéciaux débloquables et multiplicateurs de dégâts.
-
Intelligence Artificielle
IA adaptive qui apprend des patterns du joueur, différents niveaux de difficulté et comportements variés par personnage.
-
Mode Multijoueur Local
Combat en écran partagé pour deux joueurs avec contrôles personnalisables et support manette/clavier.
-
Personnages Variés
8 combattants uniques avec leurs propres mouvements, statistiques et coups spéciaux signature.
-
Système de Score
Classement des meilleurs joueurs, sauvegarde des statistiques et système de récompenses.
Technologies Utilisées
Node.js
Backend pour la gestion des connexions multijoueur, calculs de physique côté serveur et synchronisation des états de jeu.
JavaScript (ES6+)
Logique de jeu, gestion des événements clavier/manette, et système de particules pour les effets visuels.
Canvas API
Rendu graphique 2D haute performance, animations de sprites et gestion des layers de profondeur.
WebSocket
Communication temps réel entre joueurs pour le mode multijoueur en ligne (en développement).
Défis Techniques Relevés
🎯 Détection de Collisions Précise
Implémentation d'un système de hitboxes et hurtboxes pour chaque frame d'animation, garantissant des combats justes et prévisibles.
⚡ Optimisation des Performances
Maintien d'un framerate stable à 60 FPS même avec de nombreux effets visuels grâce à des techniques de pooling d'objets et de culling.
🤖 Intelligence Artificielle Réactive
Développement d'une IA qui analyse les patterns du joueur et adapte sa stratégie en temps réel.
🎨 Animation de Sprites
Gestion de centaines de frames d'animation avec transitions fluides et système de cancel d'animations pour les combos.
Apprentissages
Ce projet m'a permis d'approfondir mes connaissances en développement de jeux vidéo, notamment dans la gestion des performances temps réel, l'architecture orientée composants (ECS), et les algorithmes de détection de collisions. J'ai également développé mes compétences en game design en équilibrant les personnages et en créant des mécaniques de jeu intuitives mais profondes.