Stéphane De Todaro — tech lead

@super-dev.app · Lead-technique
Actif depuis 2017

Lead technique et architecte full-stack, freelance depuis 2019. Je conçois, industrialise et exploite des plateformes métier sur Azure, et je publie des moteurs logiciels open source.

Tous les projets
Projet open source · MOTEUR

OPEN SPACE.EXE — moteur FPS à rendu logiciel

Auteur — écrit de zéro, en pilotant une IA

Moteur façon DOOM (BSP) sans WebGL : deux backends de rendu (CPU 8 threads via SharedArrayBuffer, WebGPU), sprites voxel, niveaux faits main.

parité pixel CPU ↔ WebGPU mesurée

Le problème

Un moteur façon DOOM dans le navigateur, sans WebGL, oblige à tout rasteriser soi-même : projeter la géométrie, plaquer les textures, trier par profondeur, le tout en temps réel sur un CPU JavaScript. Écrit naïvement, un tel pipeline ne tient pas la cadence.

L'approche

Un vrai pipeline BSP : partition binaire de l'espace, tri par profondeur sans z-buffer. Deux backends interchangeables rendent le même monde au pixel près, une parité mesurée : un rasteriseur CPU réparti sur 8 threads via SharedArrayBuffer, et un backend WebGPU/WGSL. Sprites voxel, niveaux faits main via une couche d'auteur RoomBuilder.

Aperçu

Plan top-down d'un niveau d'OPEN SPACE.EXE, avec salles, portails et ennemis

Points clés

  • Moteur BSP logiciel écrit de zéro, sans WebGL
  • Deux backends : CPU 8 threads (SharedArrayBuffer) et WebGPU/WGSL
  • Parité pixel CPU ↔ WebGPU mesurée
  • Sprites voxel, niveaux faits main
  • Couche d'auteur RoomBuilder : rooms, connexions, winding automatique

Stack

  • TypeScript
  • WebGPU / WGSL
  • Web Workers
  • SharedArrayBuffer