← Tous les projets

Jeux

Osmose, RPG tactique

Un RPG tactique au tour par tour à la manière de Dofus, écrit de zéro : client Godot 4 en C# pour Windows, macOS et Linux, règles partagées avec un serveur ASP.NET Core de comptes et de personnages, launcher en Rust.

En cours Sprint S45-S60+S64-S219 · 728 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Un jeu vidéo de combat au tour par tour sur un plateau vu de biais, comme Dofus : on crée son personnage, on se promène dans une ville et on parle à ses habitants.
À quoi ça sert
Un vrai jeu à télécharger, avec son programme d'installation, des comptes de joueurs et un serveur, conçu pour grandir : monstres, paysages, puis jeu à plusieurs.
Ce que ça montre
La conduite d'un gros projet de jeu vidéo, de ses règles jusqu'à sa distribution, en C# et en Rust.
Code source

Comment les morceaux tiennent ensemble

Schéma : le launcher (Rust, Tauri) se connecte au serveur et met le jeu à jour, puis lance le jeu avec le jeton. Le jeu (Godot 4, C#) passe par Rpg.Client, qui parle au serveur en HTTP avec le jeton JWT et applique les règles de Rpg.Core. Le serveur (ASP.NET Core) vérifie avec les mêmes règles de Rpg.Core et garde comptes et personnages dans PostgreSQL par EF Core. connexion, mises à jour lance, avec le jeton HTTP + JWT mêmes règles EF Core Launcher Rust, Tauri Jeu de bureau Godot 4, C# Serveur ASP.NET Core, JWT Rpg.Client commandes, textes Rpg.Core règles partagées PostgreSQL comptes, personnages

Aperçu du combat

Le client de bureau, en Godot 4 et C# : un plateau en losanges vu de biais, des personnages animés (modèles 3D libres de Kenney), et les règles du sprint 45, sans une ligne de règle en plus dans le client.

Captures faites par le jeu lui-même (option --screenshot), dans un écran virtuel, avec le rendu OpenGL logiciel de Mesa.

Icônes des sorts : game-icons.net, sous licence CC BY 3.0, par Lorc, Delapouite et Sbed (le fond retiré, posées sur la couleur de l'élément).

Pour le lancer chez vous (SDK .NET 10 et Godot 4.7 .NET) :

Exécutables prêts à lancer (Windows, macOS, Linux, non signés), produits par la CI, qui y joue un combat entier, gardés 14 jours : artefacts du workflow rpg

Technologies

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

Qui fait quoi

Godot 4
Le client de bureau : cartes isométriques, combat, création de personnage, ville et PNJ, exporté pour Windows, Linux et macOS par la CI.
C#
Les règles du jeu (grille, points d'action et de mouvement, ligne de vue, sorts, IA) dans une bibliothèque déterministe, partagée par le client et le serveur.
.NET
La plateforme commune du client, des règles et du serveur.
ASP.NET Core
Le serveur des comptes et des personnages, qui valide chaque personnage créé.
EF Core
L'accès à la base et ses migrations.
PostgreSQL
Les comptes, les personnages et leur progression.
JWT
Les jetons de connexion, partagés par le launcher et le jeu.
Rust
Le launcher : connexion, vérification et téléchargement des seuls fichiers modifiés.
Tauri
L'interface du launcher et ses paquets pour les trois systèmes.
xUnit
Les tests des règles (chemins, ligne de vue, combats rejoués) et du serveur, sur une vraie base PostgreSQL.
Docker
Le serveur et sa base, lancés par 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