คำถามยอดนิยม
ไทมไลน์
แชท
มุมมอง

โกโด (เกมเอนจิน)

เกมเอนจิน จากวิกิพีเดีย สารานุกรมเสรี

โกโด (เกมเอนจิน)
Remove ads

โกโด (อังกฤษ: Godot /ˈɡɒd/)[a] เป็นเกมเอนจินเสรีและโอเพนซอร์สข้ามแพลตฟอร์ม ซึ่งเผยแพร่ภายใต้สัญญาอนุญาตของสถาบันเทคโนโลยีแมสซาชูเซตส์ เดิมทีได้รับการพัฒนาใน กรุงบัวโนสไอเรสโดยนักพัฒนาซอฟต์แวร์ชาวอาร์เจนตินา ฆวน ลีนีเอ็ตสกี (Juan Linietsky) และ แอเรียล มานซูร์ (Ariel Manzur)[6] สำหรับใช้ในบริษัทหลายแห่งในละตินอเมริกา ก่อนที่จะเผยแพร่สู่สาธารณะในปี 2014[7] สิ่งแวดล้อมการพัฒนาใช้งานได้บนหลากหลายแพลตฟอร์ม และสามารถส่งออกผลงานไปยังแพลตฟอร์มอื่นๆ ได้อีกมากมาย เอนจินนี้ได้รับการออกแบบมาเพื่อสร้างเกมทั้ง 2D และ 3D สำหรับแพลตฟอร์มคอมพิวเตอร์ส่วนบุคคล มือถือ และ เว็บ และยังสามารถใช้ในการพัฒนาซอฟต์แวร์ที่ไม่ใช่เกม รวมถึงโปรแกรมแก้ไขอีกด้วย

ข้อมูลเบื้องต้น ผู้ออกแบบ, วันที่เปิดตัว ...
Remove ads

คุณสมบัติ

สรุป
มุมมอง

โกโดช่วยให้ผู้พัฒนาวิดีโอเกม สามารถสร้างเกมทั้งแบบ 2D และ 3D โดยใช้ภาษาการเขียนโปรแกรมหลายภาษา เช่น C++, C# และ GDScript[8] ในเอนจินมีระบบลำดับชั้นของโหนดเพื่ออำนวยความสะดวกในการพัฒนา[9] สามารถสร้างคลาสจากประเภทโหนดเพื่อสร้างประเภทโหนดที่มีความเฉพาะทางมากขึ้นซึ่งสามารถสืบทอดได้ โหนดจะถูกจัดระเบียบภายใน "ฉาก" ซึ่งเป็นกลุ่มโหนดที่สามารถนำกลับมาใช้ใหม่ได้ สร้างอินสแตนซ์ได้ สืบทอดได้ และซ้อนกันได้ ทรัพยากรเกมทั้งหมด รวมถึงสคริปต์และทรัพยากรกราฟิก จะถูกบันทึกไว้เป็นส่วนหนึ่งของ ระบบไฟล์ ของคอมพิวเตอร์ (แทนที่จะอยู่ใน ฐานข้อมูล) วิธีการจัดเก็บข้อมูลนี้มีวัตถุประสงค์เพื่ออำนวยความสะดวกในการทำงานร่วมกันระหว่างทีมพัฒนาเกมโดยใช้ระบบการควบคุมการปรับปรุงแก้ไขซอฟต์แวร์[10]

แพลตฟอร์มที่รองรับ

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

โปรแกรมแก้ไขโกโดที่ใช้สำหรับการสร้างเกมโกโดรองรับแพลตฟอร์มต่อไปนี้:

เอนจินรองรับการส่งออกโครงการไปยังแพลตฟอร์มอื่นๆ อีกมากมาย รวมถึงแพลตฟอร์มแก้ไขทั้งหมด แพลตฟอร์มที่รองรับในปัจจุบันของ โกโด4.0 ได้แก่:[15]

เอนจินโกโดสามารถรันบนเครื่องเล่นวิดีโอเกมได้ แม้ว่าเครื่องเล่นวิดีโอเกมยอดนิยมจะไม่ได้รับการสนับสนุนอย่างเป็นทางการ เนื่องจากไม่อนุญาตให้เผยแพร่รหัสเฉพาะแพลตฟอร์มภายใต้สัญญาอนุญาตโอเพนซอร์ซ[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]

การเขียนสคริปต์

Thumb
ภาพหน้าจอของการแก้ไขไฟล์ GDScript โดยใช้ตัวแก้ไขสคริปต์ในตัวของโกโด 3.4

โกโดรองรับภาษาการเขียนโปรแกรมต่างๆ สำหรับการสร้างเกม รวมถึงภาษาที่แถมมากับตัวที่ชื่อจีดีสคริปท์ (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

ดูเพิ่ม

หมายเหตุ

  1. The engine's name is derived from the play Waiting for Godot. For native English speakers, the engine maintainers recommend god-oh, with the "t" being silent like in the French original, but they also acknowledge that a variety of pronunciations exist.[38]

อ้างอิง

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads