6 points par GN⁺ 2026-02-12 | 1 commentaires | Partager sur WhatsApp
  • Permet d’écrire la logique du jeu en exploitant l’écosystème Flutter et Dart, et de construire des expériences interactives en l’intégrant à la riche boîte à outils UI de Flutter
  • Implémenté en C++, il offre de hautes performances même sur du matériel embarqué et repose sur une architecture orientée données basée sur ECS (Entity-Component-System)
  • Intègre Filament, le moteur de rendu 3D de Google, et prend en charge, via l’API Vulkan, un éclairage physiquement basé et des effets de post-traitement de niveau console
  • Les artistes 3D peuvent définir directement dans Blender des zones de déclenchement tactiles pour configurer des événements d’interaction
  • Grâce à la fonctionnalité Hot Reload de Flutter/Dart, les changements de scène sont répercutés immédiatement, ce qui améliore fortement la vitesse de développement

Présentation de Fluorite

  • Fluorite est un moteur de jeu 3D de niveau console entièrement intégré à Flutter, qui permet d’écrire le code du jeu en langage Dart
    • Le widget FluoriteView permet d’ajouter simultanément plusieurs vues de scènes 3D
    • L’état peut être partagé entre les entités du jeu et les widgets UI selon l’approche de Flutter

Cœur ECS haute performance

  • Le cœur du moteur repose sur une architecture ECS (Entity-Component-System), fondée sur une conception orientée données
    • Écrit en C++, il atteint un niveau maximal de performance et d’optimisation
    • Fonctionne de manière fluide même sur du matériel modeste ou embarqué
  • La logique du jeu peut être écrite avec les API de haut niveau de Dart, ce qui permet de transférer facilement une expérience de développement acquise sur d’autres moteurs

Zones de déclenchement tactiles basées sur le modèle

  • Les artistes 3D peuvent définir directement dans Blender des zones cliquables
    • Chaque zone peut être configurée pour déclencher un événement spécifique
    • Les développeurs peuvent écouter l’événement onClick des tags définis pour implémenter diverses interactions
  • Cela simplifie la création d’interfaces 3D spatiales et permet des interactions intuitives entre l’utilisateur et les objets

Rendu 3D de niveau console

  • Repose sur le renderer Google Filament et exploite des API graphiques modernes comme Vulkan
    • Production de visuels de haute qualité grâce à l’accélération matérielle
    • Prise en charge de l’éclairage physiquement basé, des effets de post-traitement et des shaders personnalisés
  • Cela permet de créer des environnements visuellement riches de niveau console

Fonctionnalité Hot Reload

  • Grâce à l’intégration Flutter/Dart, Fluorite prend en charge le Hot Reload des scènes
    • Les modifications du code ou des assets sont répercutées immédiatement en quelques frames
    • Permet de tester rapidement et de manière itérative les mécaniques de jeu, les assets et le code
  • Améliore l’efficacité du développement et prend en charge un prototypage rapide

Éditeur et informations complémentaires

1 commentaires

 
GN⁺ 2026-02-12
Avis sur Hacker News
  • Il n’y avait nulle part le nom Toyota sur la page, donc c’était déroutant au début
    Mais en réalité, il s’agissait d’un projet développé par une filiale de Toyota pour des logiciels 3D destinés à l’affichage
    Une présentation connexe a eu lieu à FOSDEM 2026

    • Il paraît que ce moteur de jeu sera utilisé dans le RAV4 modèle 2026
      C’est assez drôle de voir qu’aujourd’hui les moteurs de jeu sont devenus des composants automobiles
      J’aimerais juste acheter une voiture électrique simple — avec sièges, roues, pédales, rétroviseurs, boutons physiques et prise AUX — rien que ça
    • Ici, le mot console désigne la console centrale du véhicule, pas une console de jeu
  • La présentation liée a eu lieu dans la session FOSDEM 2026

  • Avec la combinaison de Flutter et Claude Code, la vitesse de développement d’apps cross-platform a énormément augmenté
    Des prompts comme « sur le web la liste doit se déployer, mais pas sur iOS » sont aussi bien gérés
    On fait tourner en parallèle une instance web et le simulateur iOS avec Claude pour mener des tests d’utilisabilité
    Hier soir, j’ai ajouté WebSocket au backend, des notifications push au frontend iOS et même une bannière à la web app, et tout fonctionne bien
    Le plus gros problème, c’était l’alignement des versions entre Django, Gunicorn et Amazon Linux

    • Si trop de code est généré automatiquement, je me demande comment la maintenance lors des corrections de bugs est prévue
  • Pour ceux qui se posaient la question comme moi, le site web ne contient ni les mots « open » ni « source »
    Mais dans la présentation FOSDEM 2026, il a été fait mention du moment « où le dépôt GitHub sera rendu public »
    Le projet est encore privé pour l’instant, mais cela laissait entendre une possible ouverture plus tard

  • Filament n’est pas un renderer de niveau console
    Structurellement, il repose sur GL, et même s’il peut utiliser Vulkan, il n’est pas optimisé au niveau d’un moteur pour console

    • Je me demande ce que signifie concrètement « renderer de niveau console » et en quoi Filament est insuffisant
    • En pratique, GL est mieux optimisé que le style Vulkan sur la plupart des appareils
      Sur mobile, si l’on compare WebGL2 et WebGPU, il y a un gros écart même pour un simple rendu de modèle PBR
    • C’est une remarque intéressante mais frustrante
      Si ce n’est vraiment pas du niveau console, j’aimerais savoir pourquoi, ou s’il y a un potentiel pour l’avenir
    • Je comprends l’intention
      Mais il n’est pas indispensable d’avoir un renderer de niveau console pour faire un bon jeu
      Les jeux basés sur GL restent pratiques, et Google a bien séparé les backends du renderer, donc l’extension vers d’autres API GPU n’est pas difficile
  • S’ils avaient examiné un peu plus largement les solutions existantes, ils auraient peut-être trouvé des moteurs 3D légers comme Defold
    Cela dit, c’est sympa de voir Toyota mener un tel projet
    Le vrai résultat est peut-être surtout que Toyota a embauché une équipe pour créer un nouveau moteur de jeu de niche

    • Ce moteur a été conçu pour être embarqué directement dans une app Flutter
      Les interactions avec le GPU et le renderer sont particulières, et des moteurs existants comme Unity avaient déjà été essayés sans convenir
    • L’expérience de création d’UI avec Flutter est bien plus simple qu’avec n’importe quel moteur de jeu
      Parce qu’on peut s’appuyer sur un système d’UI à base de widgets déjà très abouti
  • Le projet a l’air plutôt chouette
    Flutter reste mon outil préféré pour développer de petites apps, et ça fait plaisir de le voir adopté par de grandes entreprises
    Si Toyota continue dans cette voie, il pourrait même devenir un sponsor majeur à la place de Google

  • Je me demande si ce moteur tourne aussi dans le navigateur
    Et je me demande aussi pourquoi il n’y a pas de démo

    • Filament prend en charge une cible web
      Mais si l’objectif est un système embarqué, une démo web publique peut être une faible priorité
      Si l’essentiel du projet est en C++, créer une démo web exigerait un processus de build WASM
      Ils semblent s’être concentrés sur l’usage réel plutôt que sur une « démo pour le README »
    • Quelqu’un a posé la même question pendant la session de Q&R, et la réponse a été : « pas pour l’instant, mais on peut en discuter dans les issues GitHub »
  • L’expression « console-grade » est exagérée
    Ici, console désigne la console centrale de la voiture, pas une Xbox

  • C’est une approche intéressante
    En général, les toolkits UI des moteurs de jeu sont médiocres, mais eux ont pris le problème à l’envers : partir d’un bon toolkit UI (Flutter) et obtenir ensuite les performances d’un jeu
    On peut voir plus de détails dans ce fil Reddit

    • Qt Quick 3D a aussi une proposition de valeur similaire
      Il existe même une démo de jeu de tir 3D, ce qui est assez intéressant