คำถามยอดนิยม
ไทมไลน์
แชท
มุมมอง
โกโด (เกมเอนจิน)
เกมเอนจิน จากวิกิพีเดีย สารานุกรมเสรี
Remove ads
โกโด (อังกฤษ: Godot /ˈɡɒdoʊ/)[a] เป็นเกมเอนจินเสรีและโอเพนซอร์สข้ามแพลตฟอร์ม ซึ่งเผยแพร่ภายใต้สัญญาอนุญาตของสถาบันเทคโนโลยีแมสซาชูเซตส์ เดิมทีได้รับการพัฒนาใน กรุงบัวโนสไอเรสโดยนักพัฒนาซอฟต์แวร์ชาวอาร์เจนตินา ฆวน ลีนีเอ็ตสกี (Juan Linietsky) และ แอเรียล มานซูร์ (Ariel Manzur)[6] สำหรับใช้ในบริษัทหลายแห่งในละตินอเมริกา ก่อนที่จะเผยแพร่สู่สาธารณะในปี 2014[7] สิ่งแวดล้อมการพัฒนาใช้งานได้บนหลากหลายแพลตฟอร์ม และสามารถส่งออกผลงานไปยังแพลตฟอร์มอื่นๆ ได้อีกมากมาย เอนจินนี้ได้รับการออกแบบมาเพื่อสร้างเกมทั้ง 2D และ 3D สำหรับแพลตฟอร์มคอมพิวเตอร์ส่วนบุคคล มือถือ และ เว็บ และยังสามารถใช้ในการพัฒนาซอฟต์แวร์ที่ไม่ใช่เกม รวมถึงโปรแกรมแก้ไขอีกด้วย
Remove ads
คุณสมบัติ
สรุป
มุมมอง
โกโดช่วยให้ผู้พัฒนาวิดีโอเกม สามารถสร้างเกมทั้งแบบ 2D และ 3D โดยใช้ภาษาการเขียนโปรแกรมหลายภาษา เช่น C++, C# และ GDScript[8] ในเอนจินมีระบบลำดับชั้นของโหนดเพื่ออำนวยความสะดวกในการพัฒนา[9] สามารถสร้างคลาสจากประเภทโหนดเพื่อสร้างประเภทโหนดที่มีความเฉพาะทางมากขึ้นซึ่งสามารถสืบทอดได้ โหนดจะถูกจัดระเบียบภายใน "ฉาก" ซึ่งเป็นกลุ่มโหนดที่สามารถนำกลับมาใช้ใหม่ได้ สร้างอินสแตนซ์ได้ สืบทอดได้ และซ้อนกันได้ ทรัพยากรเกมทั้งหมด รวมถึงสคริปต์และทรัพยากรกราฟิก จะถูกบันทึกไว้เป็นส่วนหนึ่งของ ระบบไฟล์ ของคอมพิวเตอร์ (แทนที่จะอยู่ใน ฐานข้อมูล) วิธีการจัดเก็บข้อมูลนี้มีวัตถุประสงค์เพื่ออำนวยความสะดวกในการทำงานร่วมกันระหว่างทีมพัฒนาเกมโดยใช้ระบบการควบคุมการปรับปรุงแก้ไขซอฟต์แวร์[10]
แพลตฟอร์มที่รองรับ
เอนจินนี้รองรับการปรับใช้กับหลายแพลตฟอร์มและช่วยให้สามารถตั้งค่าการบีบอัดพื้นผิว และความละเอียดสำหรับแต่ละแพลตฟอร์มได้ เว็บไซต์ให้บริการไฟล์ไบนารีเฉพาะสำหรับแพลตฟอร์มตัวแก้ไขเท่านั้น และการส่งออกโครงการไปยังแพลตฟอร์มอื่นจะดำเนินการได้ภายในตัวแก้ไขโกโด
โปรแกรมแก้ไขโกโดที่ใช้สำหรับการสร้างเกมโกโดรองรับแพลตฟอร์มต่อไปนี้:
- แพลตฟอร์มเดสก์ท็อปลินุกซ์, แมคโอเอส, ไมโครซอฟท์ วินโดวส์ เผยแพร่บนเว็บไซต์ บนสตีม บนอีปีค (Epic Game Store) และบนอิตช์ (itch.io)[8][11]
- แพลตฟอร์มเว็บ HTML5, เว็บแอสเซมบลี โดยใช้ตัวแก้ไขเว็บ[12]
- โทรศัพท์และแท็บเล็ตแอนดรอยด์ (พร้อมใช้งานตั้งแต่โกโด 3.6 ขึ้นไปและ 4.3 ขึ้นไป)[13]
- รองรับเบิร์กลีย์ซอฟต์แวร์ดิสตริบิวชันด้วยเช่นกัน แต่จะต้องคอมไพล์ด้วยตนเอง[14]
เอนจินรองรับการส่งออกโครงการไปยังแพลตฟอร์มอื่นๆ อีกมากมาย รวมถึงแพลตฟอร์มแก้ไขทั้งหมด แพลตฟอร์มที่รองรับในปัจจุบันของ โกโด4.0 ได้แก่:[15]
- แพลตฟอร์มเดสก์ท็อปลินุกซ์, แมคโอเอส, ไมโครซอฟท์ วินโดวส์ , เบิร์กลีย์ซอฟต์แวร์ดิสตริบิวชัน (ถ้าเป็น เบิร์กลีย์ซอฟต์แวร์ดิสตริบิวชัน จะต้องคอมไพล์ด้วยตนเอง[14])
- แพลตฟอร์มมือถือแอนดรอยด์, ไอโอเอส
- แพลตฟอร์มเว็บ HTML5, เว็บแอสเซมบลี (C# ยังไม่พร้อมใช้งานบนเว็บ)[16]
- แพลตฟอร์มเสมือนจริง/ขยายความเป็นจริง HTC Vive, Valve Index, Oculus Rift, Oculus Go, Oculus Quest, ชุดหูฟัง Microsoft MR ทั้งหมด, ARKit ของ Apple และอื่นๆ อีกมากมาย[4]
เอนจินโกโดสามารถรันบนเครื่องเล่นวิดีโอเกมได้ แม้ว่าเครื่องเล่นวิดีโอเกมยอดนิยมจะไม่ได้รับการสนับสนุนอย่างเป็นทางการ เนื่องจากไม่อนุญาตให้เผยแพร่รหัสเฉพาะแพลตฟอร์มภายใต้สัญญาอนุญาตโอเพนซอร์ซ[17] เกมสามารถพอร์ตไปยังเครื่องเล่นวิดีโอเกมได้ผ่านบริษัทบุคคลที่สาม[18][19] ขณะนี้ทีมงานโกโดกำลังพัฒนาให้โกโด 4 รองรับเครื่องเล่นวิดีโอเกมโดยทีมงานภายนอกได้[15] W4 Games บริษัทเชิงพาณิชย์ที่ก่อตั้งโดยสมาชิกบางส่วนของผู้นำโครงการโกโด ได้ประกาศวา่ต่อไปจะให้บริการพอร์ตเกมที่สร้างด้วยโกโด 4.0 ให้กับแพลตฟอร์ม ไมโครซอฟท์, นินเท็นโด และ โซนี่[20][21]
สำหรับสถาปัตยกรรม CPU นั้น โกโดรองรับเอกซ์86 (x86) อย่างเป็นทางการบนแพลตฟอร์มเดสก์ท็อปทั้งหมด (ทั้ง 32 บิตและ 64 บิต หากมี) และมีการรองรับสถาปัตยกรรมตระกูล ARM อย่างเป็นทางการบนแมคโอเอสและลินุกซ์,[22] แพลตฟอร์มมือถือ และแพลตฟอร์ม Oculus แบบสแตนด์อโลน (ทั้ง 32 บิตและ 64 บิต หากมี) แพลตฟอร์มเว็บใช้เว็บแอสเซมบลี 32 บิต นอกจากนี้ยังมีการรองรับริสค์-วี (RISC-V) และ PowerPC ลินุกซ์อย่างไม่เป็นทางการและถือเป็นเพียงแค่การทดลอง[23][24]
การเขียนสคริปต์

โกโดรองรับภาษาการเขียนโปรแกรมต่างๆ สำหรับการสร้างเกม รวมถึงภาษาที่แถมมากับตัวที่ชื่อจีดีสคริปท์ (GDScript) นอกจากนั้นก็มี C++[25] และ C# นอกจากนี้ เอนจินยังมี GDNative ซึ่งเป็นเครื่องมือสำหรับสร้างการผูกกับภาษาอื่นๆ อีกด้วย ภาษาที่ GDNative รองรับอย่างเป็นทางการได้แก่ C และ C++[26] ภาษาที่ชุมชนสร้างการรองรับให้ ได้แก่ ภาษารัสต์ (Rust), ภาษานิม (Nim), ภาษาแฮสเคิล(Haskell), ภาษาโคลจูร์ (Clojure), ภาษาซวิฟท์ (Swift) และ ภาษาดี (D)[27] นอกจากนี้ยังรองรับการเขียนโค้ดเชิงภาพ ผ่าน Orchestrator ภาษาเสรีและโอเพนซอร์สของบุคคลที่สาม [28] การเขียนโค้ดเชิงภาพเดิมทีนั้นใช้ VisualScript ซึ่งแถมมากับตัวเอนจิน ซึ่งได้รับการออกแบบมาให้เทียบเท่ากับ GDScript[19] แต่ต่อมาในโกโด 4.0 ตัว VisualScript ก็ถูกลบออกจากเอนจินหลัก[29] นอกจากนี้เกมโกโดที่รันบนเบราว์เซอร์สามารถเชื่อมต่อกับรหัสจาวาสคริปต์ของเบราว์เซอร์ได้
โปรแกรมแก้ไข โกโดประกอบด้วยตัวแก้ไขข้อความที่มีการเยื้องอัตโนมัติ ไฮไลท์ไวยากรณ์ การพับรหัส และการเติมรหัส นอกจากนี้ยังมีโปรแกรมดีบักเกอร์ที่สามารถกำหนดจุดพักและ ขั้นตอนการทำงานของโปรแกรม (program stepping) ได้[30]
จีดีสคริปท์
โกโดมีภาษาสคริปต์ในตัวมันเองที่เรียกว่าจีดีสคริปท์[30] ซึ่งเป็นภาษาโปรแกรม ระดับสูงที่มีการกำหนดประเภทแบบค่อยเป็นค่อยไป ซึ่งมีไวยากรณ์คล้ายกับภาษาไพทอน แต่ต่างจากไพทอนตรงที่จีดีสคริปท์ได้รับการปรับปรุงให้เหมาะสมสำหรับสถาปัตยกรรมแบบฉากของโกโดและสามารถระบุประเภทของตัวแปรที่เข้มงวดได้ นักพัฒนาของโกโดได้ระบุว่ามีการทดสอบภาษาสคริปต์ของบุคคลที่สามมาเป็นทางเลือกมากมาย เช่น ภาษาลูอา, ภาษาไพทอน และ กระรอก (ภาษาโปรแกรม) (Squirrel) ก่อนที่จะตัดสินใจว่าการใช้ภาษาที่สร้างขึ้นใหม่นั้นจะช่วยเพิ่มประสิทธิภาพและบูรณาการกับตัวแก้ไขได้ดียิ่งขึ้น ในเวอร์ชัน 4.0 ฟีเจอร์ใหม่ที่เรียกว่า Typed array[31] ได้ถูกนำไปใช้บนจีดีสคริปท์ ช่วยให้ผู้ใช้สามารถเปลี่ยนอาร์เรย์ปกติเป็นแบบมีชนิดและเปลี่ยนกลับได้อย่างง่ายดายโดยไม่ต้องเปลี่ยนแปลงรหัสมากนัก[30] ในการอัปเดต 4.0 ในภายหลัง ยังมีการเพิ่มพจนานุกรมแบบมีประเภท (Typed Dictionaries) ซึ่งทำให้ผู้ใช้สามารถประกาศคู่ กุญแจ-ค่า ที่มีประเภทชัดเจนเพื่อเพิ่มความปลอดภัยของประเภทของสคริปต์ต่อไป[32] ประเภทคงที่ (static types) ที่เป็นตัวเลือกที่ช่วยให้แบ็กเอนด์ C++ สามารถใช้การปรับแต่งที่ทำให้ประสิทธิภาพเพิ่มขึ้นอย่างเห็นได้ชัด โดยพบว่าจีดีสคริปท์ที่ใช้ประเภทคงที่ทำงานเร็วขึ้นกว่า 40%[33][34]
โปรแกรมเฮลโลเวิลด์ง่ายๆ สามารถเขียนได้ดังนี้:
func _ready():
print("Hello World")
โปรแกรมที่ซับซ้อนมากขึ้น เช่น การสร้างลำดับฟีโบนักชี สามารถเขียนได้ดังนี้:
func _ready():
var nterms = 5
print("Fibonacci sequence:")
for i in range(nterms):
print(fibonacci(i))
func fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
Remove ads
การนำไปใช้
OKAM Studio ได้ผลิตเกมหลายเกมด้วยโกโด เช่น Dog Mendonça & Pizza Boy, ที่ใช้ส่วนขยาย Escoria adventure game extension[35] นอกจากนี้ยังใช้เอนจินนี้ในการเรียนการสอนระดับมัธยมปลายในรัฐเวสต์เวอร์จิเนีย เนื่องจากใช้ได้ง่ายแม้ผู้ใช้จะเขียนโปรแกรมไม่เป็นก็ตาม[36] และยังมีสื่อการเรียนการสอนเพียบพร้อมอีกด้วย นอกจากนี้ Gotcha Gotcha Games ผู้สร้าง RPG Maker ประกาศว่าจะใช้โกโดเป็นระบบสร้างเกมใหม่ของพวกเขา ระบบนี้ชื่อ Action Game Maker และมีกำหนดเผยแพร่ในปี พ.ศ. 2568[37]
Remove ads
ดูเพิ่ม
หมายเหตุ
อ้างอิง
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
