Skip to content

DiarraKonte/FadeToDark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fade To Dark

Chef-d'œuvre - Programmation Multimédia Par Diarra Konte (12310522)


Description

Fade To Dark est un jeu de survie en 2D développé en Python avec la bibliothèque Pygame. Le joueur évolue dans un donjon généré en pixel-art (vue de dessus). La mécanique centrale du jeu repose sur la dégradation progressive de l'image : l'écran s'assombrit peu à peu autour du joueur, simulant une perte de champ de vision et augmentant la difficulté.

Objectif

L'objectif est de survivre le plus longtemps possible en maintenant son champ de vision. Le joueur doit collecter des objets spécifiques (boules rouges) pour ralentir la dégradation de l'image, tout en accumulant des points via la collecte d'étoiles.

Gameplay

Contrôles

  • Flèches directionnelles : Déplacement du personnage
  • Entrée : Lancer la partie
  • Échap : Retour au menu principal
  • R : Rejouer (depuis l'écran de Game Over)

Mécaniques de jeu

Gestion de la dégradation Une vignette noire se referme progressivement sur le joueur. Si cette dégradation atteint 100% (écran totalement noir), la partie est terminée (Game Over).

Les objets

  1. Boules Rouges : Réduisent le niveau de dégradation de 20%. Elles sont vitales pour la survie. Le système assure qu'une boule rouge apparaît toujours si aucune n'est présente sur la carte.
  2. Étoiles : Rapportent 100 points au score. Cependant, la collecte d'étoiles accélère le jeu : toutes les 3 étoiles ramassées, la vitesse de dégradation augmente de 30%.

Environnement Le jeu se compose de 4 salles interconnectées. Le joueur peut naviguer librement entre elles via des portes. Les décors sont générés procéduralement mais ne comportent pas de collisions pour ce prototype.

Choix Techniques et Implémentation

Ce projet a été réalisé dans le cadre du cours de multimédia pour mettre en pratique la manipulation d'images et de pixels.

Génération d'Images (Bitmap)

L'intégralité des assets graphiques n'a pas été dessinée dans un logiciel externe, mais générée par code (Python + Pillow) pixel par pixel :

  • Salles : Générées en 384x384 pixels.
  • Sprites : Personnage (32x32) et objets générés programmatiquement.
  • Format : Les images sont sauvegardées en PNG pour gérer la transparence (canal Alpha).

Gestion de l'Affichage

  • Mise à l'échelle (Scaling) : Les images basse résolution sont agrandies (Facteur x2) à l'affichage pour conserver un style "Pixel Art" net sans flou.
  • Alpha-Compositing : La vignette de dégradation utilise la superposition de surfaces avec transparence (canal Alpha) pour créer l'effet d'obscurité progressive.
  • Opérations par blocs : L'effet de dégradation est calculé par blocs de pixels pour renforcer l'esthétique "rétro" et optimiser les calculs.

Architecture du Projet

  • main.py : Entrée principale et boucle de jeu.
  • gestion_objets.py : Logique de spawn et de collision des entités.
  • player.py : Script de génération du sprite du joueur.
  • Salle/ : Scripts de génération procédurale des salles.
  • UI/ : Gestion des interfaces (Menu, Aide, Game Over).

Installation

Prérequis : Python 3.10 ou supérieur.

  1. Cloner le dépôt :

    git clone https://github.com/DiarraKonte/PixelDonjon.git
    cd PixelDonjon
  2. Installer les dépendances :

    pip install pygame pillow
  3. Lancer le jeu :

    python main.py

Difficultés et Contraintes

Ce projet a été réalisé sous une contrainte de temps d'environ 10 heures.

  • Génération Bitmap : La création d'images pixel par pixel via le code a demandé une gestion rigoureuse des coordonnées.
  • Équilibrage : La gestion de la vitesse de dégradation par rapport au spawn des objets a nécessité plusieurs ajustements pour rendre le jeu jouable mais exigeant.
  • Simplifications : Pour respecter les délais, les collisions avec les éléments du décor ont été désactivées et les variations entre les salles limitées.

Projet universitaire - Université Sorbonne Paris Nord

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages