← Tous les projets

Jeux

Roguelike 2D

Réécriture d'un jeu de mes études : un roguelike 2D sous Godot 4 en C#, et une API ASP.NET Core de scores (comptes JWT, PostgreSQL) qui vérifie chaque partie en la rejouant.

Terminé Sprint S23-S25 · 13 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Un jeu vidéo d'exploration de donjon, avec un classement en ligne des meilleurs scores ; chaque score est vérifié en rejouant la partie, pour empêcher la triche.
À quoi ça sert
Le projet le plus complet du portfolio : un jeu, un serveur, des comptes de joueurs et une base de données.
Ce que ça montre
La conduite d'un projet complet en C# et .NET, de la logique du jeu au serveur sécurisé.
Code source

Comment les morceaux tiennent ensemble

Schéma : Terminal → Rogue.Core (actions) ; Client Godot → Rogue.Core (mêmes règles) ; Client Godot → API de scores (graine, partie jouée) ; API de scores → Rogue.Core (rejoue la partie) ; API de scores → PostgreSQL (EF Core). actions mêmes règles graine, partie jouée rejoue la partie EF Core Terminal client texte Rogue.Core règles, graine, rejeu Client Godot Godot 4, C# API de scores ASP.NET Core, JWT PostgreSQL classement en SQL

Aperçu de la partie

Godot 4 ne sait pas exporter un jeu C# vers le Web : le roguelike se joue sur le bureau (Windows, Linux, macOS), dans une fenêtre Godot ou dans le terminal. Voici une partie en cours dans le client Godot.

Pour jouer chez vous (SDK .NET 10 ; Godot 4.7 .NET pour la fenêtre ; Docker pour les parties classées, sur l'API de scores) :

Technologies

  • Godot 4
  • C#
  • .NET
  • ASP.NET Core
  • EF Core
  • PostgreSQL
  • JWT
  • OpenAPI
  • xUnit
  • Docker

Qui fait quoi

Godot 4
Le client de bureau (affichage, commandes, parties classées), exporté pour Windows, Linux et macOS par la CI.
C#
Les règles du jeu dans une bibliothèque déterministe, partagée par le client Godot, le terminal et l'API.
.NET
La plateforme commune : net8.0 pour les règles, net10.0 pour le reste.
ASP.NET Core
L'API de scores, qui impose la graine de chaque partie classée et la rejoue pour calculer elle-même le score.
EF Core
L'accès à la base et ses migrations.
PostgreSQL
Les comptes et les scores ; le classement par DISTINCT ON.
JWT
Les jetons d'authentification des comptes.
OpenAPI
La description de l'API, et Swagger UI pour l'essayer.
xUnit
Les tests des règles (génération, champ de vision, combats, rejeu) et de l'API, sur une vraie base PostgreSQL.
Docker
Lance l'API et sa base avec docker compose.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile