JetStudio เครื่องมือสร้างเกม 2D/3D สำหรับ ESP32 และ STM32

GlobalByte / Maker Projects / Game Development

Jet Studio คืออะไร? สร้างเกม 2D/3D บน ESP32 ได้อย่างไร

ถ้าพูดถึง ESP32 หลายคนอาจนึกถึงบอร์ดทำ IoT หรืออ่านค่าเซนเซอร์ แต่จะเป็นอย่างไรถ้าบอร์ดไมโครคอนโทรลเลอร์ถูกนำมาสร้างเกมยิงยาน เกมแข่งรถ และฉาก 3D ที่มีระบบฟิสิกส์? Jet Studio เป็นโปรเจกต์ Open Source ที่ทำให้ไอเดียนี้เข้าใกล้มือสาย Maker มากขึ้น ด้วยเครื่องมือสร้างเกมที่มีหน้าตาคล้าย Godot และออกแบบมาสำหรับฮาร์ดแวร์ขนาดเล็ก

บทความนี้ชวนมาดูว่า Jet Studio ทำงานอย่างไร มีเกมตัวอย่างอะไรให้ดู ใช้กับบอร์ดใดได้บ้าง และถ้าอยากลองควรเริ่มศึกษาจากตรงไหน โดยอ้างอิงจากบทความ Hackaday และ GitHub ของผู้พัฒนาโดยตรง

หน้าต่าง Jet Studio Editor แสดงฉากเกมผ่าน Jet Renderer และเครื่องมือแก้ไขโปรเจกต์
หน้าตาของ Jet Studio Editor จาก Repository ของผู้พัฒนา — ดูภาพต้นฉบับ

Jet Studio คืออะไร? และทำไมสาย Maker ถึงน่าสนใจ

Jet Studio คือโปรเจกต์ Game Editor แบบ Open Source จากผู้พัฒนา fedyfausto ซึ่งนำแนวทางการออกแบบเครื่องมือของ Godot มาใช้กับงานสร้างเกมสำหรับไมโครคอนโทรลเลอร์ แทนที่จะต้องจัดการแต่โค้ดเกมเพียงอย่างเดียว ผู้ใช้สามารถทำงานกับ Scene, Node, 2D/3D View และ Script ในหน้าต่าง Editor ได้

ความน่าสนใจอยู่ที่การเชื่อมโลกของ Game Development กับ Embedded Systems เข้าด้วยกัน คนที่อยากทำเครื่องเล่นเกม DIY จึงมีตัวอย่างให้ศึกษาทั้งเรื่องการสร้างฉาก การควบคุมตัวละคร และการนำเกมไปทำงานบนบอร์ดจริง

อย่างไรก็ตาม คำว่า Godot-style ไม่ได้แปลว่าเรานำเกม Godot ทั่วไปไปเปิดบน ESP32 ได้ทันที เพราะ Jet Studio ใช้ Runtime และรูปแบบข้อมูลของโครงการเอง

ทำไม Microcontroller ตัวเล็กถึงสร้างเกม 2D/3D ได้?

ปกติเกม 3D ทำให้เรานึกถึง PC หรือเครื่องเกม แต่ Jet Studio เลือกใช้ระบบเรนเดอร์และรูปแบบข้อมูลที่ออกแบบมาสำหรับข้อจำกัดของไมโครคอนโทรลเลอร์ โดยเฉพาะหน่วยความจำ พลังประมวลผล และความเร็วในการส่งภาพไปยังจอ SPI

โปรเจกต์ใช้ Jet Software Renderer ในการวาดภาพ และมีรูปแบบการแสดงผลสำหรับอุปกรณ์ที่ต่างจาก Desktop เช่น การวาดภาพเป็นฟิลด์ ลดจำนวนพิกเซลที่ต้องประมวลผลบางส่วน และจัดลำดับวัตถุ 3D โดยไม่ใช้ Z-buffer แบบที่ใช้งานบน PC

อธิบายง่าย ๆ: ไม่ใช่เพราะ ESP32 กลายเป็นเครื่องเกมระดับ PC แต่เป็นเพราะตัว Engine ออกแบบวิธีจัดการภาพและทรัพยากรให้เหมาะกับฮาร์ดแวร์ที่มีข้อจำกัด จึงเกิดเดโมเกม 2D และ 3D บนจอขนาดเล็กได้

ตัวเลขความลื่นไหลที่เห็นในวิดีโอขึ้นอยู่กับฉากและบอร์ดที่ใช้ทดสอบ ไม่ใช่ค่าประสิทธิภาพที่ทุกเกมจะทำได้เท่ากัน

Jet Studio ทำงานอย่างไร? ต่างจาก Godot แบบไหน

ใน GitHub ผู้พัฒนาอธิบายว่าระบบประกอบด้วยหลายส่วนที่ทำหน้าที่ต่อกัน ซึ่งช่วยให้สร้างและทดลองเกมบนคอมพิวเตอร์ก่อนส่งไปยังเฟิร์มแวร์ของบอร์ดได้

  1. Editor: หน้าตาเครื่องมือใช้ UI ของ Godot และส่วนเชื่อมต่อผ่าน C++ GDExtension สำหรับแก้ไข Scene, Node และ Script
  2. JetScript: ภาษาสคริปต์ของโครงการ ใช้ไวยากรณ์คล้าย GDScript เพื่อเขียนพฤติกรรมของเกม
  3. Jet Renderer + Runtime: ระบบ C++17 สำหรับประมวลผลเกมและวาดภาพ ซึ่งทำงานได้ใน Editor, Desktop Player และ Firmware ที่รองรับ
  4. Game Package: โปรเจกต์สามารถส่งออกเป็นไฟล์ .jetpack ซึ่งบรรจุข้อมูลเกมและ Script Bytecode สำหรับ Runtime
Architecture ของ Jet Studio เชื่อม Editor, GDExtension, JetScript Runtime และเป้าหมายการรันเกม
แผนภาพ Architecture จาก GitHub แสดงส่วนประกอบและเส้นทางข้อมูลของ Jet Studio — เปิดแผนภาพต้นฉบับ

สำหรับผู้อ่านที่สนใจการเรนเดอร์บน ESP32-S3 โดยเฉพาะ ผู้พัฒนายังเผยแพร่แผนภาพการแบ่งงานระหว่าง Core และการส่งภาพผ่าน DMA ไว้ให้ศึกษาเพิ่มเติม

ESP32-S3 Rendering Pipeline แสดงการแบ่งงานวาดภาพและส่งข้อมูลไปยังหน้าจอ
ภาพการทำงานของ ESP32-S3 Rendering Pipeline จากเอกสารผู้พัฒนา — ดูไฟล์ SVG ต้นฉบับ

3 เกมตัวอย่างที่แสดงให้เห็นว่า Jet Studio ทำอะไรได้บ้าง

แทนที่จะเริ่มจากตารางสเปก ลองดูวิดีโอสาธิตทั้ง 3 คลิปของผู้พัฒนาก่อน เพราะแต่ละคลิปแสดงรูปแบบเกมที่ต่างกัน และเป็นวิธีที่เข้าใจความสามารถของ Jet Studio ได้เร็วที่สุด

1. Jet Blaster — เกมยิงยานแบบ 2D

ตัวอย่างเกมยิงยานแบบเลื่อนฉาก มีทั้ง Sprite, กระสุน ศัตรู การชน และเอฟเฟกต์ระเบิด เหมาะกับการดูว่าการสร้างเกม 2D ด้วย Node และ Script ทำงานร่วมกันอย่างไร ผู้พัฒนาระบุผลการรันเกมนี้ไว้ราว 62 FPS บน Arduino Nano ESP32 และ 83 FPS บน Nucleo-F746ZG ตามเงื่อนไขการทดสอบของโครงการ ไม่ใช่ผลทดสอบอิสระ

Jet Blaster 2D Demo — เปิดวิดีโอต้นฉบับบน YouTube · ดูไฟล์ตัวอย่างเกม

2. JetRun — เกมแข่งรถสไตล์ OutRun

JetRun เป็นเดโมเกมแข่งรถที่สร้างภาพถนนต่อเนื่องพร้อมฉากโค้งและเนิน รวมถึงภาพ Sprite ของรถและสิ่งแวดล้อม โดยให้ผู้เล่นควบคุมทิศทางผ่านปุ่ม นี่เป็นตัวอย่างของการผสมองค์ประกอบเกม 2D และภาพที่ให้ความรู้สึกเป็นโลก 3D บนฮาร์ดแวร์ขนาดเล็ก

JetRun Demo — เปิดวิดีโอต้นฉบับบน YouTube · ดูไฟล์ตัวอย่างเกม

3. Platform & Physics — ทดลองระบบฟิสิกส์ในเกม

เดโมนี้แสดงการเคลื่อนไหวและการชนของวัตถุ เช่น ตัวละครที่กระโดด แพลตฟอร์มที่เคลื่อนที่ กล่อง และวัตถุที่กระเด้งได้ ช่วยให้เห็นว่า Jet Studio ไม่ได้มีเพียงระบบแสดงภาพ แต่ยังมี Physics สำหรับพฤติกรรมพื้นฐานในเกมด้วย ทั้งนี้ผู้พัฒนาเรียกระบบดังกล่าวว่า Arcade Physics ซึ่งมีข้อจำกัดแตกต่างจาก Physics Engine แบบเต็ม

Platform & Physics Demo — เปิดวิดีโอต้นฉบับบน YouTube · ดูไฟล์ตัวอย่างเกม

ภาพปกวิดีโอทั้งสามรายการมาจากลิงก์ Thumbnail ที่ผู้พัฒนาฝังไว้ใน README ซึ่งเป็นภาพเสริม ไม่ใช่ Screenshot แยกจากตัวเกม

Jet Studio ใช้กับบอร์ดและหน้าจออะไรได้บ้าง?

บน GitHub มีรายชื่อบอร์ดและจอที่สามารถเลือกในโครงการได้หลายรายการ แต่การอยู่ในรายการไม่เท่ากับผ่านการทดสอบบนฮาร์ดแวร์จริงทุกรุ่น ควรแยกสองส่วนนี้ให้ชัดเจนก่อนซื้ออุปกรณ์หรือเริ่มสร้างโปรเจกต์

ฮาร์ดแวร์ สถานะตาม README หมายเหตุ
Arduino Nano ESP32 ทดสอบกับอุปกรณ์จริงแล้ว ใช้เป็นบอร์ดตัวอย่างหลักของโครงการ
ST Nucleo-F746ZG ทดสอบกับอุปกรณ์จริงแล้ว ทดสอบร่วมกับจอ ILI9341 ผ่าน SPI
ESP32-S3 DevKitC-1 บางรุ่น มีชื่อในรายการบอร์ด ต้องตรวจ Revision และข้อกำหนดก่อนใช้งานจริง
STM32 รุ่นอื่นตามรายการ มีชื่อในรายการบอร์ด ไม่ควรสรุปว่าผ่านการทดสอบครบทุกตัว
ILI9341 SPI LCD ทดสอบแล้วกับบอร์ดข้างต้น ความละเอียดแนวนอน 320×240 พิกเซล
ST7789, ST7796, GC9A01, ST7735S อยู่ในรายการจอที่โครงการรองรับ Source ไม่ได้ยืนยันผลทดสอบจริงทุกชุดบอร์ดและหน้าจอ

ถ้าอยากเริ่มลอง Jet Studio ต้องทำอย่างไร?

จุดเริ่มต้นที่เหมาะกับบทความแนะนำคือทดลองบนคอมพิวเตอร์ก่อน แล้วค่อยไปต่อเรื่องบอร์ดและหน้าจอ ไม่จำเป็นต้องเริ่มจากการต่อสายหรือแฟลชเฟิร์มแวร์ทันที

  1. อ่าน GitHub: ดูความสามารถ ข้อจำกัด และระบบที่รองรับจาก หน้า JetStudio Repository
  2. ตรวจระบบปฏิบัติการ: README ระบุว่า Editor รองรับ Linux x86_64 โดยพัฒนาและทดสอบบน Ubuntu 24.04; ยังไม่รองรับ Windows/macOS
  3. ดาวน์โหลด Release: ใช้ไฟล์จาก Jet Studio 0.6.0 Release หรือศึกษาวิธี Build ตามเอกสารของผู้พัฒนา
  4. เปิด Editor: README แสดงคำสั่ง ./jet-studio run สำหรับเรียกโปรแกรมจากสภาพแวดล้อมที่ติดตั้งพร้อมแล้ว
  5. เริ่มจาก Example: ตัวโปรแกรมเปิด examples/first_world ในการเริ่มใช้งานครั้งแรก และมีตัวอย่างเกมอื่นใน โฟลเดอร์ Examples

ผู้ที่คุ้นเคยกับการทำเกมสามารถลองสร้าง Scene ปรับ Node และกด Play เพื่อทดสอบบน Desktop ก่อน ส่วนการ Build หรือ Flash ไปยังบอร์ดควรทำตามขั้นตอนทางการเฉพาะอุปกรณ์ ไม่ควรใช้คำสั่งของบอร์ดอื่นแทนกัน

JetScript เขียนเกมอย่างไร? ดูตัวอย่างสั้น ๆ จาก README

JetScript ใช้แนวทางการเขียนคล้าย GDScript โดยโค้ดตัวอย่างด้านล่างคัดจาก README ของ JetStudio เพื่อให้เห็นการอัปเดตการหมุนของวัตถุและการอ่านปุ่มควบคุมในแต่ละเฟรม ไม่ใช่เกมเต็มรูปแบบหรือคำสั่งพร้อมแฟลชลงบอร์ด

JetScript example — README.md
extends MeshInstance3D

@export var speed := 90.0

func _process(delta: float) -> void:
    rotation_degrees.y += speed * delta
    if Input.is_action_pressed("ui_right"):
        position.x += 2.0 * delta

ที่มา: README — Scripts (JetScript) · โค้ดนี้ต้องใช้ในบริบทของ Scene และ Node ที่เหมาะสม

ดาวน์โหลด Jet Studio, Source Code และตัวอย่างโปรเจกต์

เวอร์ชันที่อ้างอิงในบทความนี้คือ Prototype 0.6.0 ซึ่งเผยแพร่เมื่อ 30 ตุลาคม 2026 ตามข้อมูล GitHub Releases ทั้งนี้ผู้พัฒนาอาจอัปเดตเวอร์ชันหรือขั้นตอนติดตั้งภายหลัง

ไฟล์ Release ของรุ่นย้อนหลังที่ตรวจพบยังมีแยกไว้บน GitHub หากต้องการอ้างอิงเวอร์ชันเก่าสามารถเปิดรายการด้านล่างได้

หมายเหตุ: GitHub มีไฟล์ Texture และ Icon ภายในโค้ดอีกจำนวนมาก แต่ไม่ใช่ภาพข่าวหลัก จึงเชื่อมไปยัง โฟลเดอร์ Example Assets แทนการนำภาพย่อยหลายร้อยไฟล์มาลงในหน้าอ่านบทความ

โปรเจกต์นี้ต่อยอดไอเดีย Maker ได้แบบไหน?

สิ่งที่น่าสนใจจาก Jet Studio คือการเปลี่ยนมุมมองว่าไมโครคอนโทรลเลอร์มีไว้สำหรับงานควบคุมเท่านั้น หากสนใจงานที่ผสมการเขียนโปรแกรม ภาพ และอิเล็กทรอนิกส์ โครงการนี้อาจเป็นจุดเริ่มต้นให้ศึกษาเรื่องต่อไปนี้

  • การสร้างเกม 2D แบบง่าย และการจัดการ Sprite, Scene และ Input
  • การใช้งานจอ SPI LCD ร่วมกับ Development Board
  • การศึกษาระบบ 3D Rendering ภายใต้ข้อจำกัดของ RAM และ CPU
  • การพัฒนาเกม DIY ที่มีปุ่มควบคุมและหน้าจอเป็นส่วนประกอบ

ตัวอย่างเหล่านี้เป็น แนวทางศึกษาหรือต่อยอด ไม่ใช่รายการชุดคิตสำเร็จรูปหรือการรับรองว่าสามารถใช้บอร์ดรุ่นใดก็ได้โดยไม่ต้องปรับแต่ง

FAQ — คำถามที่พบบ่อยเกี่ยวกับ Jet Studio

1. Jet Studio คืออะไร?

เป็นโปรเจกต์ Open Source Game Editor สำหรับสร้างเกม 2D/3D โดยใช้ Runtime ของ Jet Studio ที่ออกแบบมาสำหรับคอมพิวเตอร์และไมโครคอนโทรลเลอร์บางรุ่น

2. Jet Studio เหมือน Godot หรือไม่?

หน้าตา Editor และแนวคิด Scene/Node คล้าย Godot แต่เกมใช้ Runtime และ Renderer ที่แยกต่างหาก ไม่ใช่การรัน Godot Engine ตัวเต็มบน ESP32

3. สามารถสร้างเกม 2D และ 3D ได้ทั้งคู่หรือไม่?

ได้ ผู้พัฒนามีตัวอย่าง 2D Shooter, เกมแข่งรถแนว OutRun และฉาก 3D พร้อมระบบ Physics ให้ศึกษา

4. ใช้กับ Arduino Nano ESP32 ได้จริงหรือ?

README ระบุว่ามีการทดสอบกับ Arduino Nano ESP32 จริง รวมถึงสาธิตเกมตัวอย่างผ่านฮาร์ดแวร์ของโครงการ

5. STM32 ใช้ Jet Studio ได้หรือไม่?

ผู้พัฒนาทดสอบกับ ST Nucleo-F746ZG แล้ว และมีบอร์ด STM32 รุ่นอื่นในรายการ Hardware แต่ไม่ได้ยืนยันผลทดสอบจริงทุกชุด

6. ต้องใช้หน้าจออะไร?

ชุดที่ยืนยันการทดสอบใช้ ILI9341 SPI LCD ความละเอียด 320×240 พิกเซล โครงการมีรายการจออื่นเพิ่มเติม แต่ควรตรวจเอกสารรุ่นที่ใช้จริง

7. Jet Studio ใช้งานบน Windows หรือ macOS ได้หรือยัง?

ยังไม่รองรับ Editor บน Windows หรือ macOS ตาม README เวอร์ชันที่ตรวจสอบ โดยระบุ Linux x86_64 เป็นแพลตฟอร์มใช้งาน

8. JetScript คือภาษาอะไร?

เป็นภาษาสคริปต์ของ Jet Studio ที่ใช้ Syntax คล้าย GDScript และมีเอกสารแยกใน GitHub

9. ถ้าไม่มีบอร์ดจะลองสร้างเกมก่อนได้ไหม?

ได้ในขั้นตอนทดลองด้วย Desktop Editor และ Player/Device Emulator ที่ผู้พัฒนาเตรียมไว้ แต่ตัว Editor ต้องอยู่บนระบบที่รองรับ

10. ผลการทำงาน 62 FPS หรือ 83 FPS ใช้ได้กับทุกเกมหรือไม่?

ไม่ได้ ตัวเลขเหล่านี้เป็นผลที่ผู้พัฒนารายงานสำหรับเดโม Jet Blaster บนฮาร์ดแวร์ที่ระบุ ไม่ควรนำไปใช้รับรอง FPS ของเกมหรือบอร์ดรุ่นอื่น

11. Jet Studio เป็น Open Source หรือไม่?

ใช่ Repository เผยแพร่สาธารณะภายใต้ MIT License และมี Source Code พร้อม Example Projects ให้ศึกษา

12. ดาวน์โหลด Jet Studio ได้ที่ไหน?

ดาวน์โหลดผ่าน GitHub Releases ของผู้พัฒนา โดยเวอร์ชัน 0.6.0 มีไฟล์สำหรับ Linux x86_64 ตามที่ตรวจสอบ

สรุป: การสร้างเกมบน Microcontroller เริ่มมองเห็นภาพง่ายขึ้น

Jet Studio แสดงให้เห็นว่าเกม 2D และ 3D ไม่จำเป็นต้องอยู่บนคอมพิวเตอร์แรง ๆ เสมอไป หากมีเครื่องมือและระบบเรนเดอร์ที่ออกแบบให้เหมาะสมกับฮาร์ดแวร์ขนาดเล็ก โปรเจกต์นี้จึงน่าสนใจทั้งในฐานะ Game Engine ต้นแบบ และในฐานะตัวอย่างการเชื่อมงาน Embedded เข้ากับงานสร้างสรรค์

สำหรับคนเพิ่งเริ่ม แนะนำให้ดูคลิปสาธิตทั้งสามก่อน แล้วค่อยเข้าไปอ่าน GitHub และทดลอง Example Projects ตามระบบที่รองรับ นี่เป็นเส้นทางที่ช่วยให้เห็นภาพว่าแต่ละองค์ประกอบทำหน้าที่อะไร โดยยังไม่จำเป็นต้องเริ่มต้นจากการประกอบวงจรจริงทันที

References / แหล่งข้อมูลต้นฉบับ

  1. Hackaday — A Game Engine For Microcontrollers (Zoe Skyforest, 1 พฤศจิกายน 2026)
  2. fedyfausto — JetStudio GitHub Repository และ README (ข้อมูลเทคนิคและตัวอย่าง)
  3. Jet Studio 0.6.0 — Release Notes (30 ตุลาคม 2026)
  4. JetScript Language & API Documentation
  5. Jet Studio Architecture Diagram
  6. YouTube — Jet Blaster 2D Demo
  7. YouTube — JetRun Demo
  8. YouTube — Platform and Physics Engine Demo
  9. GitHub — MIT License

สนใจทำเกมบนบอร์ดไมโครคอนโทรลเลอร์?

การเริ่มต้นโปรเจกต์ Maker ไม่จำเป็นต้องเริ่มจากการทำทุกอย่างให้เสร็จในครั้งเดียว ลองดูไอเดียจาก Jet Studio แล้วนำไปคุยแลกเปลี่ยนกับชุมชน GlobalByte ได้ หากกำลังมองหา Development Board, หน้าจอ หรืออุปกรณ์ทดลอง สามารถสอบถามรายละเอียดกับทีมงานเพื่อเลือกให้ตรงกับโปรเจกต์ โดยยังไม่ได้ยืนยันว่าสินค้าเฉพาะรุ่นในบทความมีสต็อก

 

แท็ก


Blog posts