Aller au contenu
Julien de Magalhaes
Tous les projets
Site webEn ligne2026Warframe

Simaris Labs

Créateur de builds et calculateur de dégâts pour Warframe, en ligne sur simarislabs.com

Le problème

Warframe compte des milliers d'objets et une formule de dégâts aux dizaines de multiplicateurs. Les joueurs préparent leurs builds dans des tableurs ou des calculateurs opaques, vite obsolètes et souvent contradictoires. Je voulais un outil où chaque chiffre remonte à sa source et à sa version du jeu.

Ce que j'ai construit

Une application Next.js 16 dans un monorepo Turborepo, appuyée sur quatre paquets purs : game-data récupère, analyse et valide les données du jeu pour chaque version ; loadout porte le modèle de build et ses règles (capacité, polarités, conflits) ; calc est le moteur de dégâts ; api-schema décrit l'API en schémas zod. Le site parcourt warframes, armes, compagnons et mods, compose un équipement complet ou un seul objet et simule les dégâts des armes et des pouvoirs. Une API Fastify et Drizzle sur Postgres ajoute la connexion via Discord, Google ou Steam, la synchronisation du compte, des builds publiés liés à une version du jeu, les likes et les commentaires. L'illustration d'accueil est un dessin three.js de ma main, pas un élément du jeu.

Défis techniques

  • Des sources contradictoires. Le pipeline fusionne l'export public du jeu, une base d'objets communautaire et les modules de données du wiki. Chaque désaccord est consigné dans un registre : ce qui diverge, ce qui est livré en attendant, et comment trancher.
  • Des noms en double. Trois mods s'appellent « Serration » : seul l'identifiant interne du jeu sert de clé.
  • L'ordre compte. Les effets des mods dépendent les uns des autres. Chaque mod est un fichier de « lignes » exécutées en une passe ordonnée, ce qui permet d'afficher base et valeur configurée côte à côte, étape par étape.
  • Des formules traitées comme des données. Les calculateurs de pouvoirs du wiki sont écrits dans leur propre mini-langage : j'ai porté son interpréteur en TypeScript plutôt que de recopier des centaines de formules.

Résultat

Simaris Labs est ouvert au public depuis le 10 novembre 2026 sur simarislabs.com (s'ouvre dans un nouvel onglet), le site et l'API tournant comme deux services distincts sur Railway. Neuf phases de la feuille de route ont d'abord été livrées, de la plateforme de données à trois créateurs distincts (au sol, Archwing et Necramech, Railjack). Les données suivent la version 44.1.4.1 du jeu, et plus de 160 fichiers de tests protègent parseurs et formules.

  • La page d'accueil de Simaris Labs : « Welcome to the lab, Hunter. Let's build. » sur le dessin three.js de l'en-tête, le nombre d'objets, et les panneaux actualités, mises à jour du jeu et builds.
  • Le builder sur Regulators Prime : le panneau de dégâts avec les valeurs de base et configurées côte à côte, les emplacements de mods affichant chacun les DPS ajoutés, et la liste des mods à ajouter.
  • La simulation de combat d'un build : les réglages de la cible, une courbe de dégâts par seconde sur 30 secondes répartie par type de dégâts avec les cumuls de statuts en dessous, et les panneaux couches, options et conditions.
  • La page des builds : la liste des builds publiés avec la recherche et les onglets de tri, et le loadout sélectionné avec son résumé et les statistiques de chaque objet.
  • Le codex des armes : 707 armes en cartes avec dégâts, critique, statut et cadence de tir, filtrables par classe, type, type de dégâts, détente et rang de maîtrise.