Pac-Man SDL – Moteur de jeu en langage C

Ce projet consiste à développer un moteur de jeu en langage C inspiré de Pac-Man, en s’appuyant sur la librairie graphique SDL2.
Ce développement met en œuvre une architecture logicielle claire, une gestion manuelle de la mémoire, des algorithmes de déplacement et de collision, ainsi qu’un système de niveaux paramétrable via fichiers texte.

Le joueur contrôle Pac-Man, se déplace librement dans le labyrinthe, mange des Pac-Gums et doit éviter les fantômes, chacun possédant un comportement spécifique.

Année: 2024
Durée: 3 mois
Type: Moteur de jeu
Client: Formation / Projet personnel
Technologies:
  • Langage C
  • Gestion des pointeurs
  • Algorithmes
  • Mémoire Manuelle

Les choix d’architecture logicielle et les concepts techniques qui structurent ce moteur de jeu en langage C

Boucle de jeu

Gestion complète via :
événements clavier
rafraîchissement graphique
mise à jour des positions
calcul des collisions

Parsing du niveau

Le niveau est généré dynamiquement à partir d’un fichier texte contenant :
– les murs
– les chemins
– les pac-gums
– les positions de départ

Cela permet une édition de niveau simple sans recompiler le code.

Collisions

Pac-Man peut se déplacer librement tant qu’aucun mur ne bloque sa route.
Les collisions sont gérées via une grille matricielle qui représente le labyrinthe.

IA

développement d’un comportement unique pour Chaque fantôme :
– poursuite directe
– déplacement aléatoire
– stratégie d’embuscade
– alternance déplacement/chasse

Les fantômes utilisent une logique simple, adaptée pour un projet pédagogique.

Graphisme (SDL2)

– sprites 2D
– animations de Pac-Man
– rendu de la carte
– gestion des FPS
– rafraîchissement de l’écran

Ce que ce projet démontre

Ce projet démontre la capacité à concevoir un moteur de jeu structuré en C, en maîtrisant l’architecture logicielle, les contraintes temps réel et la lisibilité du code, dans un contexte pédagogique et évolutif.

  • Développer un moteur de jeu simple et modulaire en C
  • Manipuler la librairie SDL (events, surfaces, textures…)
  • Implémenter un système de parsing pour charger un niveau depuis un fichier
  • Concevoir une IA basique
  • Construire une architecture propre et évolutive
  1. Lecture du labyrinthe via un fichier texte
  2. Génération de la matrice de niveau
  3. Affichage du labyrinthe (SDL)
  4. Gestion des mouvements du joueur
  5. Détection des collisions
  6. Gestion des Pac-Gums
  7. IA des fantômes
  8. Intégration des sprites & animations
  9. Boucle de jeu complète
  10. Ajout du scoring et des conditions de victoire/défaite

Un jeu totalement fonctionnel, personnalisable via fichiers texte, avec un moteur SDL structuré, une IA simple mais efficace, et une architecture claire permettant d’ajouter facilement de nouvelles fonctionnalités.

moteur de jeu Pac-Man développé en langage C avec SDL
Développement architecture moteur de jeu en C – gestion des collisions
logo langage C gestion mémoire bas niveau
Logo SDL 2 développement d'interface graphique animé

Vous souhaitez développer faire évoluer une application en langage C ?

Je peux vous accompagner dans le développement d’applications performantes en langage C ou de systèmes nécessitant une gestion fine des ressources.