Noullez Dimitri.
Développement de Jeux·

Mazescape

RPG dungeon-crawler 2D, 7 types de monstres, boutique d'améliorations et sauvegarde chiffrée. Projet d'ouverture informatique en équipe de 4.

PythonPygame

Contexte

Projet d'ouverture informatique réalisé en tant que chef de projet d'une équipe de 4. L'objectif : concevoir un jeu vidéo en python. Thème choisi : exploration de labyrinthes, combats contre des monstres variés, progression RPG avec boutique et système de sauvegarde chiffrée.

Fonctionnalités

  • 7 types de monstres : Goblin (rapide), squelette, orc (tank), sorcier, coffre (piège immobile), champignon, et boss. Chaque type possède des stats, récompenses et comportements distincts.
  • Pathfinding : Détection du joueur à 70-90 px, poursuite directe avec contournement de murs, mouvement aléatoire hors portée, détection de blocage et chemins alternatifs incluant les diagonales.
  • Boutique in-game : Améliorer vie (max 300), dégâts (max 100) et vitesse (max 5) contre de l'or. Prix calculés dynamiquement.
  • Difficulté dynamique : Multiplicateur croissant basé sur le nombre de labyrinthes terminés et le niveau du joueur.
  • Boss fight : Carte dédiée tous les 5 labyrinthes, dézoom caméra automatique, boss avec hitbox élargie.
  • Sauvegarde chiffrée : Mot de passe → dérivation de clé PBKDF2 (SHA256, 100k itérations) → chiffrement AES Fernet. Protège les données de progression contre la triche.
  • Système XP/Level : XP requis ×1.5 par niveau, gains aléatoires de PV et d'or au level-up.

Architecture

  • MapManager : 7 cartes (lobby + 5 labyrinthes + boss), portails de téléportation entre cartes, gestion collisions et items.
  • Items spéciaux : Potion vie, potion vitesse (×2 pendant 3s), or, diamant bleu (dézoom carte 5s), diamant jaune (level-up instant), torches décoratives, pièges à activation cyclique.
  • Machine à états : Jeu, pause, crédits, commandes, boutique, sauvegarde, game over : chaque menu est un état indépendant.
  • Profiling intégré : cProfile affiche les 20 fonctions les plus coûteuses pour optimiser les performances.