Tous les projets

Démonstration du 21 octobre 2026

OpenBlood2

  • Perso
  • video games
  • XR
  • Open source

Recréation du jeu Blood 2: The Chosen avec un moteur moderne, multiplateforme et compatible VR.

Stack technique
  • C++20
  • SDL3
  • SDL_GPU
  • OpenXR
Contribution
Recréation du moteur et intégration du jeu
Plateformes
Windows, Linux, macOS, Android, iOS, Meta Quest
Projet
En développement
Une scène de gameplay de Blood II dans le moteur OpenBlood2.

OpenBlood2 recrée Blood II: The Chosen sur un moteur portable. Le code du gameplay d’origine était accessible, mais celui du moteur ne l’était pas : il a donc fallu reconstruire les fondations nécessaires pour faire fonctionner le jeu.

Retrouver les données, puis la boucle de jeu

J’ai commencé par la rétro-ingénierie des assets. Les textures DTX de Blood II demandaient un traitement particulier, malgré l’existence de convertisseurs pour d’autres variantes du format. Les modèles ABC et les niveaux ont suivi, jusqu’à obtenir un visualiseur de scènes.

Quatre itérations ont été nécessaires. La première reprenait le gameplay sous forme de bibliothèque externe, puis liée statiquement, mais se heurtait aux différences de pointeurs et de tables de fonctions virtuelles. J’ai ensuite exploré un nouveau moteur SDL3 avec OpenGL 4 et OpenXR, puis un prototype Godot en C#. Ces versions ont permis de progresser, tout en montrant les difficultés d’une réécriture complète du comportement du jeu.

La version actuelle revient à la première approche : conserver la boucle pilotée par le code original, en l’adaptant largement au 64 bits et à ARM64. Ce travail a finalement abouti à une version jouable.

Un jeu ancien sur des plateformes actuelles

OpenBlood2 fonctionne sur Windows, Linux, macOS, Android, iOS et Meta Quest. Il prend en charge les résolutions et formats d’écran actuels, ainsi que le clavier, la souris, la manette, le tactile et les contrôleurs VR grâce à un système d’actions d’entrée.

Le mode Enhanced Renderer ajoute un rendu PBR et des effets de post-traitement : bloom, occlusion ambiante GTAO, réflexions SSR et tonemapping. L’intégration OpenXR apporte la réalité virtuelle, avec des options adaptées à cet usage. Le multijoueur fonctionne en réseau local ou avec un serveur dédié sans interface graphique.

Le projet mêle préservation du jeu, travail bas niveau et nouvelles possibilités de rendu, tout en conservant son code de gameplay comme point de référence.

En images

Le projet en action.

OpenBlood2 : première démonstration en VR sur Meta Quest 3

Et votre prochain projet ?

Faisons avancer votre idée.

Une application, un jeu, un défi technique. Parlons de ce que vous avez en tête.

Discutons de votre projet