6 คะแนน โดย GN⁺ 2026-02-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใช้ประโยชน์จาก ระบบนิเวศ Flutter และ Dart เพื่อเขียนตรรกะเกม และผสานกับชุดเครื่องมือ UI อันหลากหลายของ Flutter เพื่อสร้าง ประสบการณ์แบบโต้ตอบ ได้
  • พัฒนาด้วย C++ จึงมอบ ประสิทธิภาพสูงแม้บนฮาร์ดแวร์แบบฝังตัว และใช้โครงสร้างเชิงข้อมูลแบบ ECS (Entity-Component-System)
  • ผสานรวม Filament เอนจินเรนเดอร์ 3D ของ Google และใช้ Vulkan API เพื่อรองรับ แสงแบบอิงฟิสิกส์และเอฟเฟ็กต์หลังการประมวลผล ระดับคอนโซล
  • ศิลปิน 3D สามารถกำหนด พื้นที่ทริกเกอร์การสัมผัส ได้โดยตรงใน Blender เพื่อตั้งค่าอีเวนต์การโต้ตอบ
  • ด้วย ฟีเจอร์ Hot Reload ของ Flutter/Dart การเปลี่ยนแปลงฉากจะสะท้อนผลได้ทันที ช่วยเพิ่มความเร็วในการพัฒนาอย่างมาก

ภาพรวมของ Fluorite

  • Fluorite คือ เอนจินเกม 3D ระดับคอนโซล ที่ผสานรวมกับ Flutter อย่างสมบูรณ์ ทำให้สามารถเขียนโค้ดเกมด้วยภาษา Dart ได้
    • สามารถเพิ่มมุมมองฉาก 3D ได้หลายรายการพร้อมกันผ่านวิดเจ็ต FluoriteView
    • สามารถแชร์สถานะระหว่างเอนทิตีในเกมกับวิดเจ็ต UI ได้ตามแนวทางของ Flutter

คอร์ ECS ประสิทธิภาพสูง

  • แกนหลักของเอนจินใช้โครงสร้าง ECS (Entity-Component-System) ซึ่งอิงกับการออกแบบเชิงข้อมูล
    • เขียนด้วย C++ เพื่อให้ได้ ประสิทธิภาพและการปรับแต่งสูงสุด
    • ทำงานได้อย่างลื่นไหลแม้บนฮาร์ดแวร์สเปกต่ำหรือฮาร์ดแวร์แบบฝังตัว
  • ตรรกะเกมสามารถเขียนด้วย API ระดับสูงของ Dart ได้ ทำให้ย้ายประสบการณ์พัฒนาจากเอนจินอื่นมาใช้ได้ง่าย

พื้นที่ทริกเกอร์การสัมผัสที่อิงตามโมเดล

  • ศิลปิน 3D สามารถกำหนด พื้นที่ที่คลิกได้โดยตรง داخل Blender
    • แต่ละพื้นที่สามารถตั้งค่าให้ทริกเกอร์อีเวนต์เฉพาะได้
    • นักพัฒนาสามารถรับอีเวนต์ onClick ของแท็กที่กำหนดเพื่อสร้างปฏิสัมพันธ์ได้หลากหลาย
  • สิ่งนี้ช่วย ลดความซับซ้อนของกระบวนการสร้าง UI 3D เชิงพื้นที่ และทำให้เกิดปฏิสัมพันธ์ที่เป็นธรรมชาติระหว่างผู้ใช้กับวัตถุ

การเรนเดอร์ 3D ระดับคอนโซล

  • ใช้ Google Filament renderer เป็นพื้นฐาน และอาศัย กราฟิก API สมัยใหม่อย่าง Vulkan
    • สร้างภาพคุณภาพสูงด้วยการเร่งด้วยฮาร์ดแวร์
    • รองรับ แสงแบบอิงฟิสิกส์, เอฟเฟ็กต์หลังการประมวลผล, และ เชดเดอร์แบบกำหนดเอง
  • ทำให้สามารถสร้าง สภาพแวดล้อมที่อุดมด้วยรายละเอียดทางภาพ ในระดับคอนโซลได้

ฟีเจอร์ Hot Reload

  • ด้วยการผสานรวม Flutter/Dart จึงรองรับ Hot Reload ของฉาก
    • หลังเปลี่ยนโค้ดหรือแอสเซ็ต ผลลัพธ์จะสะท้อนทันทีภายในไม่กี่เฟรม
    • ทดสอบวนซ้ำอย่างรวดเร็วสำหรับกลไกเกม แอสเซ็ต และโค้ดได้
  • ช่วยเพิ่มประสิทธิภาพการพัฒนาและรองรับ การทำต้นแบบอย่างรวดเร็ว

ผู้พัฒนาและข้อมูลเพิ่มเติม

1 ความคิดเห็น

 
GN⁺ 2026-02-12
ความคิดเห็นจาก Hacker News
  • ตอนแรกสับสนเพราะไม่มีชื่อ Toyota อยู่ตรงไหนบนหน้าเลย
    แต่จริง ๆ แล้วเป็นโปรเจกต์ที่ บริษัทลูกของ Toyota กำลังพัฒนาซอฟต์แวร์ 3D สำหรับจอแสดงผล
    มีการนำเสนอที่ FOSDEM 2026

    • ว่ากันว่า เกมเอนจิน นี้จะถูกใช้ใน RAV4 รุ่นปี 2026
      เดี๋ยวนี้เกมเอนจินกลายเป็นชิ้นส่วนรถยนต์ไปแล้วก็ดูน่าขำดี
      แค่อยากได้รถไฟฟ้าแบบเรียบ ๆ — มีเบาะ ล้อ แป้นเหยียบ กระจก ปุ่มกดจริง และช่อง AUX เท่านั้น — แบบนั้น
    • คำว่า console ที่พูดถึงตรงนี้หมายถึง คอนโซลกลางของรถ ไม่ใช่ เครื่องเกมคอนโซล
  • การนำเสนอที่เกี่ยวข้องจัดขึ้นใน เซสชัน FOSDEM 2026

  • การจับคู่ Flutter กับ Claude Code ทำให้ ความเร็วในการพัฒนาแอปข้ามแพลตฟอร์ม เร็วขึ้นมาก
    พรอมป์ต์อย่าง “บนเว็บให้ลิสต์ขยายได้ แต่บน iOS ไม่ต้อง” ก็จัดการได้ดี
    ให้ Claude เปิดทั้งเว็บอินสแตนซ์และ iOS simulator พร้อมกันเพื่อทำ การทดสอบการใช้งาน ไปด้วย
    เมื่อคืนเพิ่งเพิ่ม WebSocket เข้าแบ็กเอนด์ ใส่พุชแจ้งเตือนในฟรอนต์เอนด์ iOS และเพิ่มแบนเนอร์ในเว็บแอป ซึ่งทั้งหมดทำงานได้ดี
    ปัญหาใหญ่ที่สุดคือการจัดเวอร์ชันระหว่าง Django/Gunicorn/Amazon Linux ให้เข้ากัน

    • ถ้ามีการสร้างโค้ดอัตโนมัติมากเกินไป ก็น่าสงสัยว่าจะวางแผน ดูแลรักษาเวลาแก้บั๊ก อย่างไร
  • สรุปให้คนที่สงสัยเหมือนกันว่า บนเว็บไซต์ไม่มีคำว่า “open” หรือ “source” เลย
    แต่ในการนำเสนอที่ FOSDEM 2026 มีการพูดถึง “ตอนที่เปิดเผย GitHub repository”
    ตอนนี้ยังคง ไม่เปิดสาธารณะ แต่ก็สื่อเป็นนัยว่าอาจเปิดในอนาคต

  • Filament ไม่ใช่ เรนเดอเรอร์ระดับคอนโซล
    ในเชิงสถาปัตยกรรม มันอิงกับ GL และแม้จะใช้ Vulkan ได้ แต่ก็ไม่ได้ถูกปรับจูนมาถึงระดับเอนจินคอนโซล

    • อยากรู้ว่า “เรนเดอเรอร์ระดับคอนโซล” หมายถึงอะไรอย่างเจาะจง และ Filament ยังขาดอะไรอยู่
    • ในทางปฏิบัติ GL ถูกปรับจูนได้ดีกว่า สไตล์ Vulkan บนอุปกรณ์ส่วนใหญ่
      ถ้าเทียบ WebGL2 กับ WebGPU บนมือถือ แม้แต่การเรนเดอร์โมเดล PBR แบบง่ายก็ยังต่างกันมาก
    • เป็นข้อสังเกตที่น่าสนใจแต่ก็น่าหงุดหงิด
      ถ้ามันยังไม่ถึงระดับคอนโซลจริง อยากรู้ว่าเพราะอะไร หรือว่า ยังมีโอกาสในอนาคต ไหม
    • เข้าใจเจตนา
      แต่การสร้างเกมที่ดีไม่จำเป็นต้องมีเรนเดอเรอร์ระดับคอนโซลเสมอไป
      เกมที่อิงกับ GL ก็ยังใช้งานได้จริง และ Google ก็แยกเรนเดอเรอร์แบ็กเอนด์ไว้ดีมาก ทำให้การขยายไปยัง GPU API อื่นไม่ยาก
  • ถ้าสำรวจโซลูชันที่มีอยู่เดิมให้กว้างกว่านี้ ก็น่าจะมีตัวเลือกอย่าง เอนจิน 3D น้ำหนักเบา เช่น Defold
    ถึงอย่างนั้น การที่ Toyota ทำโปรเจกต์แบบนี้ก็น่าทึ่ง
    ความสำเร็จที่แท้จริงอาจอยู่ที่ Toyota จ้างทีมให้สร้าง เกมเอนจินเฉพาะทาง ตัวใหม่ขึ้นมา

    • เอนจินนี้ถูกออกแบบมาให้ ฝังลงในแอป Flutter ได้โดยตรง
      การโต้ตอบกับ GPU และเรนเดอเรอร์มีความเฉพาะทางมาก จนเอนจินที่มีอยู่แล้วอย่าง Unity ก็เคยถูกลองใช้แต่ไม่เหมาะ
    • ประสบการณ์การทำ UI ด้วย Flutter นั้นง่ายกว่ากับเกมเอนจินไหน ๆ มาก
      เพราะสามารถใช้ ระบบ UI แบบวิดเจ็ต ที่สมบูรณ์อยู่แล้วได้
  • โปรเจกต์นี้ดูเท่มาก
    Flutter ยังเป็น เครื่องมือที่ฉันชอบใช้กับการพัฒนาแอปเล็ก ๆ อยู่เสมอ และก็ดีใจที่เห็นองค์กรใหญ่รับมันไปใช้
    ถ้า Toyota เดินหน้าต่อ ก็อาจกลายเป็น ผู้สนับสนุนหลัก แทน Google ก็ได้

  • สงสัยว่าเอนจินนี้ รันในเบราว์เซอร์ได้ไหม
    และก็แปลกใจว่าทำไมไม่มีเดโม

    • Filament รองรับ เป้าหมายเว็บ
      แต่ถ้าตั้งเป้าไปที่ระบบฝังตัว เดโมเว็บสาธารณะอาจไม่ใช่สิ่งสำคัญลำดับต้น ๆ
      ถ้าโปรเจกต์ส่วนใหญ่เขียนด้วย C++ การทำเดโมเว็บก็ต้องมี กระบวนการบิลด์ WASM
      ดูเหมือนว่าจะโฟกัสที่การใช้งานจริงมากกว่า “เดโมไว้ใส่ README”
    • ในช่วง Q&A มีคนถามคำถามเดียวกัน และได้รับคำตอบว่า “ตอนนี้ยังไม่ได้ แต่สามารถไปคุยกันใน GitHub issue ได้”
  • คำว่า “console-grade” เป็นการพูดเกินจริง
    console ในที่นี้หมายถึง คอนโซลกลางของรถ ไม่ใช่ Xbox

  • เป็นแนวทางที่น่าสนใจ
    ปกติ UI toolkit ของเกมเอนจินมักจะแย่มาก แต่พวกเขากลับเริ่มจาก UI toolkit ที่ดี (Flutter) แล้วค่อยทำให้ได้ประสิทธิภาพระดับเกม
    รายละเอียดเพิ่มเติมดูได้ใน เธรด Reddit เช่นกัน

    • Qt Quick 3D ก็มี คุณค่าที่นำเสนอ คล้ายกัน
      ยังมีเดโมเกมยิง 3D ด้วย ซึ่งก็น่าสนใจทีเดียว