CAS 04 · 2021 à aujourd’hui

Reprendre un serveur temps réel existant et le remettre en état

Cadre
Projet personnel au long cours, à deux
Terrain
C# · .NET · protocole binaire · base de données
Problème

Une base de code héritée, qui fait tourner un monde persistant en temps réel avec des milliers d’entités simultanées. Elle fonctionnait, mais chaque ajout de contenu demandait d’ouvrir le code du serveur, et cassait régulièrement autre chose.

Contrainte

Reprendre sans tout casser : le système tourne, il a des utilisateurs. Le client, côté graphique, n’évolue pas librement ; il est traité en parallèle par un collègue, ce qui impose une frontière nette entre nos deux périmètres.

Solution

Une refactorisation progressive plutôt qu’une réécriture : montée de version, découpage en modules indépendants (réseau, simulation, persistance, contenu) et bascule du gameplay vers une logique pilotée par la donnée. Le contenu se décrit en configuration, et des outils internes permettent de le produire et de l’injecter sans recompiler.

Impact
  • Le contenu se crée et se corrige sans toucher au code du serveur
  • Chaque système se teste, se profile et se remplace isolément
  • Deux personnes travaillent en parallèle sans se marcher dessus