6 điểm bởi GN⁺ 2026-02-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Tận dụng hệ sinh thái Flutter và Dart để viết logic game, đồng thời tích hợp với bộ công cụ UI phong phú của Flutter để xây dựng trải nghiệm tương tác
  • Được triển khai bằng C++, mang lại hiệu năng cao ngay cả trên phần cứng nhúng, và sử dụng kiến trúc hướng dữ liệu dựa trên ECS (Entity-Component-System)
  • Tích hợp Filament, engine render 3D của Google, và sử dụng Vulkan API để hỗ trợ chiếu sáng dựa trên vật lý và hiệu ứng hậu xử lý ở mức độ console
  • Nghệ sĩ 3D có thể trực tiếp định nghĩa vùng kích hoạt chạm trong Blender để thiết lập các sự kiện tương tác
  • Với tính năng Hot Reload của Flutter/Dart, các thay đổi trong cảnh được áp dụng gần như ngay lập tức, giúp tăng tốc phát triển đáng kể

Tổng quan về Fluorite

  • Fluorite là engine game 3D đẳng cấp console tích hợp hoàn toàn với Flutter, cho phép viết mã game bằng ngôn ngữ Dart
    • Có thể thêm đồng thời nhiều khung nhìn cảnh 3D thông qua widget FluoriteView
    • Có thể chia sẻ trạng thái giữa thực thể game và widget UI theo cách của Flutter

Lõi ECS hiệu năng cao

  • Trái tim của engine là kiến trúc ECS (Entity-Component-System), dựa trên thiết kế hướng dữ liệu
    • Được viết bằng C++ để đạt hiệu năng tối đa và tối ưu hóa cao
    • Hoạt động mượt mà ngay cả trên phần cứng cấu hình thấp hoặc phần cứng nhúng
  • Logic game có thể được viết bằng API cấp cao của Dart, nên có thể dễ dàng chuyển kinh nghiệm phát triển từ các engine khác sang

Vùng kích hoạt chạm dựa trên mô hình

  • Nghệ sĩ 3D có thể trực tiếp định nghĩa các vùng có thể nhấp trong Blender
    • Mỗi vùng có thể được thiết lập để kích hoạt một sự kiện cụ thể
    • Lập trình viên có thể nhận sự kiện onClick của thẻ được chỉ định để triển khai nhiều kiểu tương tác khác nhau
  • Nhờ đó, quy trình tạo UI 3D dạng không gian được đơn giản hóa, đồng thời cho phép tương tác trực quan giữa người dùng và đối tượng

Kết xuất 3D đẳng cấp console

  • Dựa trên bộ kết xuất Google Filament và tận dụng các API đồ họa hiện đại như Vulkan
    • Hiện thực hình ảnh chất lượng cao thông qua tăng tốc phần cứng
    • Hỗ trợ chiếu sáng dựa trên vật lý, hiệu ứng hậu xử lýshader tùy chỉnh
  • Nhờ đó có thể xây dựng môi trường giàu hình ảnh ở cấp độ console

Tính năng Hot Reload

  • Nhờ tích hợp Flutter/Dart, engine hỗ trợ Hot Reload cho cảnh
    • Sau khi thay đổi mã hoặc tài nguyên, cập nhật được phản ánh gần như ngay trong vài frame
    • Cho phép thử nghiệm lặp nhanh đối với cơ chế game, tài nguyên và mã nguồn
  • Nâng cao hiệu quả phát triển và hỗ trợ tạo prototype nhanh

Nhà phát triển và thông tin thêm

1 bình luận

 
GN⁺ 2026-02-12
Ý kiến trên Hacker News
  • Ban đầu tôi thấy khá bối rối vì không có chỗ nào trên trang nhắc đến cái tên Toyota
    Nhưng thực ra đây là một dự án do công ty con của Toyota phát triển phần mềm 3D cho màn hình hiển thị
    Bài trình bày liên quan đã được thực hiện tại FOSDEM 2026

    • Nghe nói game engine này sẽ được dùng trên RAV4 đời 2026
      Thật buồn cười khi giờ game engine lại trở thành một bộ phận của ô tô
      Tôi chỉ muốn mua một chiếc xe điện đơn giản — có ghế, bánh xe, bàn đạp, gương, nút bấm vật lý và cổng AUX — kiểu như vậy thôi
    • "Console" ở đây không phải máy chơi game console mà là cụm điều khiển trung tâm của xe
  • Bài trình bày liên quan đã diễn ra tại phiên FOSDEM 2026

  • Kết hợp Flutter với Claude Code đã giúp tăng tốc độ phát triển ứng dụng đa nền tảng lên rất nhiều
    Nó xử lý tốt cả những prompt như “trên web thì cho danh sách mở rộng ra, còn trên iOS thì đừng”
    Tôi cho Claude mở đồng thời instance web và trình giả lập iOS để vừa làm vừa kiểm thử khả năng sử dụng
    Tối qua tôi thêm WebSocket vào backend, gắn thông báo đẩy cho frontend iOS và thêm banner cho web app, tất cả đều hoạt động tốt
    Vấn đề lớn nhất là khớp phiên bản giữa Django/Gunicorn/Amazon Linux

    • Tôi tò mò không biết nếu có quá nhiều mã được tự động sinh ra thì việc bảo trì khi sửa lỗi sẽ được tính toán thế nào
  • Để tổng hợp lại cho những ai cũng thắc mắc như tôi, trên website không hề có từ “open” hay “source”
    Nhưng trong bài nói chuyện ở FOSDEM 2026 có nhắc đến “khi công khai kho GitHub”
    Hiện vẫn đang ở trạng thái đóng, nhưng điều đó cho thấy khả năng có thể sẽ được công khai sau này

  • Filament không phải là renderer cấp console
    Về mặt kiến trúc nó dựa trên GL, có thể dùng Vulkan nhưng chưa được tối ưu ở mức của các engine cho console

    • Tôi muốn biết cụ thể “renderer cấp console” nghĩa là gì và Filament còn thiếu những gì
    • Trên thực tế, GL trên phần lớn thiết bị còn được tối ưu tốt hơn kiểu Vulkan
      Nếu so WebGL2 với WebGPU trên di động thì ngay cả việc render một mô hình PBR đơn giản cũng có khác biệt lớn
    • Đây là một nhận xét thú vị nhưng cũng khá khó chịu
      Nếu thật sự chưa đạt cấp console thì tôi muốn biết lý do là gì, hoặc liệu trong tương lai có khả năng đạt được hay không
    • Tôi hiểu ý đó
      Nhưng để làm ra một trò chơi hay thì không nhất thiết phải có renderer cấp console
      Game dựa trên GL vẫn rất thực tế, và Google đã tách bạch backend renderer khá tốt nên việc mở rộng sang API GPU khác cũng không quá khó
  • Nếu xem xét rộng hơn các giải pháp hiện có thì có lẽ cũng đã có những engine 3D nhẹ như Defold chẳng hạn
    Dù vậy, việc Toyota triển khai một dự án như thế này vẫn rất ngầu
    Thành quả thực sự có lẽ là việc Toyota đã thuê cả một đội để tạo ra một game engine ngách mới

    • Engine này được thiết kế để nhúng trực tiếp vào ứng dụng Flutter
      Cách nó tương tác với GPU và renderer khá đặc thù, nên các engine sẵn có như Unity cũng đã được thử nhưng không phù hợp
    • Trải nghiệm làm UI bằng Flutter dễ chịu hơn rất nhiều so với bất kỳ game engine nào
      Vì có thể tận dụng một hệ thống UI dựa trên widget đã rất hoàn thiện
  • Dự án này trông khá ấn tượng
    Flutter vẫn là công cụ tôi ưu tiên cho việc phát triển ứng dụng nhỏ, và thật vui khi thấy một tập đoàn lớn áp dụng nó
    Nếu Toyota tiếp tục thúc đẩy, có khi họ còn trở thành nhà tài trợ chính thay cho Google

  • Tôi tò mò không biết engine này có chạy được trong trình duyệt hay không
    Cũng không hiểu vì sao lại không có demo

    • Filament có hỗ trợ mục tiêu web
      Nhưng nếu nhắm đến hệ thống nhúng thì demo web công khai có thể không phải ưu tiên
      Nếu phần lớn dự án viết bằng C++ thì để làm demo web sẽ cần quy trình build WASM
      Có vẻ họ tập trung vào mục đích sử dụng thực tế hơn là một “demo cho README”
    • Trong phần Hỏi & Đáp có người cũng hỏi điều này, và câu trả lời là “hiện tại thì chưa, nhưng có thể thảo luận trong GitHub issue”
  • Cụm từ “console-grade” là cách nói cường điệu
    "Console" ở đây là cụm điều khiển trung tâm của xe chứ không phải Xbox

  • Cách tiếp cận này khá thú vị
    Thông thường bộ công cụ UI của game engine rất tệ, còn ở đây họ làm ngược lại: bắt đầu từ một bộ công cụ UI tốt (Flutter) rồi mới đạt được hiệu năng game
    Có thể xem thêm chi tiết trong chuỗi thảo luận trên Reddit

    • Qt Quick 3D cũng có đề xuất giá trị tương tự
      Nó còn có demo bắn súng 3D nên khá thú vị