Un jeu de survie et moteur 3D de type raycaster
Explorer la documentation »
Signaler un bug
·
Proposer une fonctionnalité
·
Poser une question
Castle of SFML est un jeu de survie et un moteur 3D de type raycaster. Initialement pensé en C++, le projet a été entièrement réécrit en C# pour offrir une architecture plus modulaire, incluant une IA de pathfinding (BFS) et un système de tests automatisés.
- Système de rendu 3D : Affichage en temps réel avec Raycasting et Sprite Casting (Z-Buffer)
- Intelligence Artificielle : Ennemi (fantôme) traquant le joueur via un algorithme BFS
- Mécaniques de survie : Ramassage d'armes (couteau), gestion du score et Game Over
- Architecture testable : Logique de jeu séparée du rendu et couverte par des tests unitaires
- Rendu de minimap : Visualisation de la grille 2D et des entités pour le débogage
- Program / GameLogic : Boucle principale et séparation des règles du jeu
- Player & Ghost : Gestion des entités, mouvement et IA
- Map : Définition du labyrinthe (20x20) et gestion des collisions
- Rays : Algorithmes mathématiques de projection 3D
- Raycaster.Tests : Projet de tests unitaires (xUnit)
- C# (.NET 6.0) - Langage de programmation principal
- SFML.Net 2.5 - Binding C# de la bibliothèque multimédia
- xUnit - Framework pour les tests unitaires
- GitHub Actions - Pipeline CI/CD pour les tests automatisés
Une version jouable (.exe) est compilée automatiquement à chaque mise à jour du code. Pour jouer directement :
- Va dans l'onglet Releases du dépôt GitHub.
- Repère la version Latest Build (qui est toujours la plus récente).
- Déroule la section Assets en bas de cette release et clique sur CastleOfSFML-Windows.zip pour le télécharger.
- Extrais le dossier compressé (clic droit → Extraire tout).
- Double-clique sur
Raycaster.exeet essaie de survivre !
Pour travailler sur ce projet, tu as besoin de :
- SDK .NET 6.0 ou plus récent
- SFML.Net (Géré via NuGet ou les dll locales)
- Windows / Linux / macOS (Compatible multiplateforme via .NET)
- Git pour cloner le repository
- Ouvre ton terminal.
- Clone le repository :
git clone https://github.com/majeurbilly/castle_of_SFML.git - Navigue dans le dossier du projet :
cd castle_of_SFML - Compile le projet :
dotnet build - Exécute les tests (optionnel) :
dotnet test - Lance le programme :
dotnet run --project Raycaster(ou ouvre le.slndans Visual Studio et fais F5)
- ZQSD ou WASD : Déplacement du joueur
- Souris : Rotation de la caméra
- Espace : Attaquer avec le couteau (si équipé)
- M : Afficher/Masquer la minimap
- R : Recommencer la partie après un Game Over
- Échap : Quitter le jeu
- Lancement rapide des tests de logique métier (GameLogic, MathUtils)
- Exécution isolée sans nécessiter l'interface graphique (idéal pour GitHub Actions)
- Points d'arrêt et inspection des variables
- Analyse de la mémoire et des performances
- Affichage du score en temps réel
- Notifications d'état (Couteau ramassé, Fantôme tué, Game Over)
Développeur principal : majeurbilly
Ce projet est développé dans le cadre d'un apprentissage du développement de jeux vidéo, des mathématiques de rendu 3D et des bonnes pratiques en C# (CI/CD, Tests Unitaires).
Remerciements :
