หลังจากการพัฒนาเป็นเวลาสี่ปี Godot 4.0 เอ็นจิ้นเกมฟรีที่เหมาะสำหรับการสร้างเกม 2D และ 3D ก็ได้เปิดตัวแล้ว เอ็นจิ้นรองรับภาษาตรรกะของเกมที่เรียนรู้ได้ง่าย สภาพแวดล้อมแบบกราฟิกสำหรับการออกแบบเกม ระบบการปรับใช้เกมด้วยคลิกเดียว ความสามารถด้านแอนิเมชันและการจำลองที่ครอบคลุมสำหรับกระบวนการทางกายภาพ ตัวดีบักเกอร์ในตัว และระบบสำหรับระบุปัญหาคอขวดของประสิทธิภาพ . รหัสของเอ็นจิ้นเกม สภาพแวดล้อมการออกแบบเกม และเครื่องมือการพัฒนาที่เกี่ยวข้อง (เอ็นจิ้นฟิสิกส์ เซิร์ฟเวอร์เสียง แบ็กเอนด์การเรนเดอร์ 2D/3D ฯลฯ) ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT
เอ็นจิ้นนี้เปิดแหล่งที่มาในปี 2014 โดย OKAM หลังจากสิบปีของการพัฒนาผลิตภัณฑ์ที่เป็นกรรมสิทธิ์ระดับมืออาชีพซึ่งใช้ในการสร้างและเผยแพร่เกมมากมายสำหรับพีซี เกมคอนโซล และอุปกรณ์มือถือ เอ็นจิ้นรองรับแพลตฟอร์มเดสก์ท็อปและมือถือยอดนิยมทั้งหมด (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX) รวมถึงการพัฒนาเกมสำหรับเว็บ แอสเซมบลีไบนารีที่พร้อมใช้งานถูกสร้างขึ้นสำหรับ Linux, Android, Windows และ macOS
สาขา Godot 4.0 มีการเปลี่ยนแปลงประมาณ 12 รายการและแก้ไขข้อบกพร่อง 7 รายการ มีผู้เข้าร่วมประมาณ 1500 คนในการพัฒนาเครื่องยนต์และเขียนเอกสาร ท่ามกลางการเปลี่ยนแปลงที่สำคัญ:
- มีการเสนอแบ็กเอนด์การเรนเดอร์ใหม่สองรายการ (แบบคลัสเตอร์และอุปกรณ์เคลื่อนที่) ที่ใช้ Vulkan Graphics API ซึ่งแทนที่แบ็กเอนด์ที่เรนเดอร์ผ่าน OpenGL ES และ OpenGL สำหรับอุปกรณ์รุ่นเก่าและอุปกรณ์ที่ใช้พลังงานต่ำ แบ็กเอนด์ที่เข้ากันได้กับ OpenGL จะถูกรวมเข้าด้วยกัน โดยใช้สถาปัตยกรรมการเรนเดอร์ใหม่ การเรนเดอร์แบบไดนามิกที่ความละเอียดต่ำกว่าใช้เทคโนโลยีการสุ่มตัวอย่างขั้นสูงของ AMD FSR (FidelityFX Super Resolution) ซึ่งใช้การปรับขนาดเชิงพื้นที่และอัลกอริธึมการสร้างรายละเอียดใหม่ เพื่อลดการสูญเสียคุณภาพของภาพเมื่อขยายขนาดและขยายขนาดเป็นความละเอียดสูงขึ้น มีการใช้งานเอ็นจิ้นการเรนเดอร์ที่ใช้ Direct3D 12 ซึ่งจะปรับปรุงการรองรับแพลตฟอร์ม Windows และ Xbox
- เพิ่มความสามารถในการทำงานกับอินเทอร์เฟซในโหมดหลายหน้าต่าง (แผงต่างๆ และส่วนต่างๆ ของอินเทอร์เฟซสามารถแยกออกเป็นหน้าต่างแยกกันได้)
- เพิ่มตัวแก้ไขอินเทอร์เฟซผู้ใช้ใหม่และวิดเจ็ตการออกแบบภาพใหม่
- เพิ่มตัวแก้ไขธีมใหม่
- ระบบควบคุมแสงและเงาได้รับการเขียนใหม่ทั้งหมดโดยใช้เทคโนโลยี SDFGI แบบเรียลไทม์ (Signed Distance Field Global Illumination) คุณภาพของการแสดงเงาได้รับการปรับปรุงอย่างมาก
- โหนด GIProbe ที่ใช้ในการเติมแสงสะท้อนให้กับฉากได้ถูกแทนที่ด้วยโหนด VoxelGI ซึ่งเหมาะสมที่สุดสำหรับการประมวลผลแสงแบบเรียลไทม์ในฉากที่มีการตกแต่งภายในในอาคารขนาดเล็กถึงขนาดกลาง สำหรับฮาร์ดแวร์ที่ใช้พลังงานต่ำ คุณสามารถเรนเดอร์แสงและเงาในเชิงรุกได้โดยใช้แผนที่แสง ซึ่งตอนนี้ใช้ GPU เพื่อเพิ่มความเร็วในการเรนเดอร์
- มีการนำเทคนิคการเพิ่มประสิทธิภาพการเรนเดอร์ใหม่มาใช้ เพิ่มการคัดแยกการบดเคี้ยวอัตโนมัติ ซึ่งจะตรวจจับและลบโมเดลที่ซ่อนอยู่หลังพื้นผิวอื่นๆ แบบไดนามิก เพื่อปรับปรุงประสิทธิภาพการเรนเดอร์และลดภาระของ CPU และ GPU
- เพิ่มโหมด SSIL (Screen Space Indirect Lighting) เพื่อปรับปรุงคุณภาพการเรนเดอร์บนฮาร์ดแวร์ระดับไฮเอนด์โดยการปรับปรุงการจัดการพื้นที่มืดและแสงทางอ้อม นอกจากนี้ ยังมีการตั้งค่าเพิ่มเติมสำหรับการจำลองการกระจายแสงทางอ้อมโดยใช้เทคนิค SSAO (Screen Space Ambient Occlusion) เช่น การเลือกระดับอิทธิพลของแสงโดยตรง
- มีการเสนอหน่วยการส่องสว่างที่สมจริงซึ่งช่วยให้คุณปรับความเข้มของแสงและใช้การตั้งค่ากล้องมาตรฐาน เช่น รูรับแสง ความเร็วชัตเตอร์ และ ISO เพื่อควบคุมความสว่างของฉากสุดท้าย
- เพิ่มเครื่องมือแก้ไขระดับใหม่สำหรับเกม 2D มีการเปลี่ยนแปลงครั้งใหญ่ในกระบวนการพัฒนาเกม XNUMXD มีการเพิ่มตัวแก้ไขแผนที่แผ่นใหม่ ซึ่งขณะนี้รองรับเลเยอร์ การเติมแนวนอนอัตโนมัติ การวางตำแหน่งต้นไม้ หิน และวัตถุต่างๆ แบบสุ่ม และการเลือกวัตถุที่ยืดหยุ่น การทำงานร่วมกับแผนที่ภาคย่อยและชุดชิ้นส่วนสำหรับการสร้างแผนที่ (ชุดกระเบื้อง) ได้รับการรวมเป็นหนึ่งเดียว มีการขยายแฟรกเมนต์ในชุดโดยอัตโนมัติเพื่อลดช่องว่างระหว่างแฟรกเมนต์ที่อยู่ติดกัน มีการเพิ่มฟังก์ชันใหม่สำหรับการจัดเรียงวัตถุในพื้นที่งาน ซึ่งสามารถนำไปใช้เพื่อเพิ่มอักขระลงในเซลล์ของตารางไทล์ได้
- ในการเรนเดอร์ 2D คุณสามารถใช้กลุ่มแคนวาสเพื่อผสมผสานองค์ประกอบแคนวาสที่ทับซ้อนกันได้ ตัวอย่างเช่น คุณสามารถจัดกลุ่มสไปรท์หลายรายการเข้าด้วยกันและผสมให้เป็นพื้นหลังราวกับว่าสไปรท์เป็นองค์ประกอบเดียว เพิ่มคุณสมบัติ Clip Children ซึ่งช่วยให้คุณใช้องค์ประกอบ 2D ใดๆ ก็ได้เป็นมาสก์ได้ เอ็นจิ้น 2D ยังเพิ่มตัวเลือกในการใช้ MSAA (Multisample Anti-Aliasing) เพื่อปรับปรุงคุณภาพของภาพและสร้างขอบที่นุ่มนวลยิ่งขึ้น
- ปรับปรุงการจัดการแสงและเงาในเกม 2D ปรับปรุงประสิทธิภาพอย่างเห็นได้ชัดเมื่อใช้แหล่งกำเนิดแสงหลายแหล่ง เพิ่มความสามารถในการจำลองภาพสามมิติโดยการเปลี่ยนระดับแสงบนแผนที่ปกติ เช่นเดียวกับการสร้างเอฟเฟ็กต์ภาพ เช่น เงายาว รัศมี และรูปทรงที่ชัดเจน
- เพิ่มเอฟเฟกต์หมอกเชิงปริมาตรที่ใช้เทคนิคการฉายภาพชั่วคราวเพื่อให้ได้รูปลักษณ์ที่สมจริงและมีประสิทธิภาพสูง
- เพิ่มเชเดอร์คลาวด์ที่ให้คุณสร้างคลาวด์แบบไดนามิกที่เปลี่ยนแปลงแบบเรียลไทม์
- เพิ่มการรองรับสำหรับ "สติ๊กเกอร์" ซึ่งเป็นวิธีการฉายวัสดุลงบนพื้นผิว
- เพิ่มเอฟเฟกต์อนุภาคทั่วทั้งเกมที่ใช้ GPU และตัวดึงดูดการชน การชน ขนนก และตัวปล่อย
- ความสามารถของอินเทอร์เฟซสำหรับการแก้ไขภาพของเชเดอร์ได้รับการขยายแล้ว
- ภาษาเชเดอร์ได้รับการขยายให้ครอบคลุมถึงการรองรับโครงสร้าง มาโครตัวประมวลผลล่วงหน้า การแทนที่เชเดอร์ (รวมคำสั่ง) อาร์เรย์แบบรวม และการใช้ "การเปลี่ยนแปลง" เพื่อส่งข้อมูลจากตัวจัดการแฟรกเมนต์ไปยังตัวจัดการแสง
- เพิ่มความสามารถในการใช้เชเดอร์การคำนวณที่ใช้ GPU เพื่อเร่งอัลกอริทึม
- ในภาษาสคริปต์ GDScript ระบบการพิมพ์แบบคงที่ได้รับการปรับปรุง มีการเพิ่มไวยากรณ์ใหม่สำหรับการกำหนดคุณสมบัติ มีการเสนอการรอคอยและคำหลักขั้นสูง เพิ่มการดำเนินการแมป/ลด ระบบคำอธิบายประกอบใหม่ถูกนำมาใช้ และ สามารถใช้อักขระ Unicode ในชื่อตัวแปรและชื่อฟังก์ชันได้ เพิ่มเครื่องมือสำหรับการสร้างเอกสารอัตโนมัติ ปรับปรุงประสิทธิภาพและความเสถียรของรันไทม์ GDScript ในสภาพแวดล้อมการพัฒนา สามารถแสดงข้อผิดพลาดหลายรายการพร้อมกันได้ และมีการเพิ่มคำเตือนใหม่สำหรับปัญหาทั่วไป
- ความเป็นไปได้ในการพัฒนาตรรกะของเกมใน C# ได้รับการขยายออกไป เพิ่มการรองรับแพลตฟอร์ม .NET 6 และภาษา C# 10 มีการเปิดใช้งานประเภท 64 บิตสำหรับค่าสเกลาร์ API จำนวนมากถูกแปลงจาก int และ float เป็น long และ double ให้ความสามารถในการกำหนดสัญญาณในรูปแบบของเหตุการณ์ C# เพิ่มความสามารถในการพัฒนา GDextensions ใน C#
- เพิ่มการสนับสนุนการทดลองสำหรับส่วนขยาย (GDExtension) ซึ่งสามารถใช้เพื่อขยายขีดความสามารถของกลไกโดยไม่ต้องสร้างใหม่หรือทำการเปลี่ยนแปลงโค้ด
- ตามค่าเริ่มต้น Godot Physics เอ็นจิ้นของเราเองสำหรับการจำลองกระบวนการทางกายภาพได้รับการเสนอ ปรับให้เหมาะสมสำหรับการแก้ปัญหาที่มีอยู่ในเกมคอมพิวเตอร์ และนำมาซึ่งความเท่าเทียมกันในการทำงานกับ Bullet engine ที่ใช้ก่อนหน้านี้ (เช่น Godot Physics เพิ่มการประมวลผลรูปแบบใหม่ของ การชนกัน การรองรับแผนที่ความสูง และความสามารถในการใช้โหนด SoftBody สำหรับการจำลองเสื้อผ้า) มีการดำเนินการเพิ่มประสิทธิภาพการทำงานให้เหมาะสมที่สุด และมีการใช้มัลติเธรดเพื่อกระจายโหลดไปยังคอร์ CPU ต่างๆ เมื่อจำลองกระบวนการทางกายภาพในสภาพแวดล้อม 2D และ 3D ปัญหาการจำลองหลายอย่างได้รับการแก้ไขแล้ว
- มีการเสนอระบบการแสดงข้อความใหม่ที่ให้การควบคุมการครอบตัดและการตัดข้อความได้มากขึ้น รวมถึงให้ความคมชัดสูงในทุกความละเอียดหน้าจอ
- มีการขยายเครื่องมือสำหรับงานแปลและการแปล
- เพิ่มกล่องโต้ตอบแยกต่างหากสำหรับการนำเข้าเนื้อหา 2D และ 3D รองรับการแสดงตัวอย่างและการเปลี่ยนแปลงการตั้งค่าของฉาก วัสดุ และคุณสมบัติทางกายภาพที่นำเข้า
- มีการเพิ่มวิดเจ็ตใหม่ลงในเครื่องมือแก้ไข เช่น แผงสำหรับเลิกทำการเปลี่ยนแปลง และกล่องโต้ตอบการเลือกสีและการอัปเดตจานสีใหม่
- อินเทอร์เฟซการตรวจสอบ แผงควบคุมฉาก และโปรแกรมแก้ไขสคริปต์ได้รับการอัปเดตแล้ว การเน้นไวยากรณ์ได้รับการปรับปรุง เพิ่มความสามารถในการแสดงเคอร์เซอร์หลายตัว และมีเครื่องมือสำหรับการแก้ไขรูปแบบ JSON และ YAML
- ความสามารถของโปรแกรมแก้ไขภาพเคลื่อนไหวได้รับการขยาย โดยเพิ่มการรองรับสำหรับการผสมผสานรูปร่างและปรับปรุงกระบวนการตามเส้นโค้ง Bezier เขียนโค้ดแอนิเมชั่น 3 มิติใหม่เพื่อรองรับการบีบอัดเพื่อลดการใช้หน่วยความจำ ระบบสำหรับการผสมแอนิเมชั่นและการสร้างเอฟเฟ็กต์การเปลี่ยนแปลงได้ถูกเขียนใหม่ ความเป็นไปได้ในการสร้างแอนิเมชั่นที่ซับซ้อนได้ถูกขยายออกไป เสนอไลบรารีแอนิเมชันสำหรับจัดเก็บและนำแอนิเมชั่นที่สร้างขึ้นกลับมาใช้ซ้ำ
- เพิ่มโหมดการสร้างภาพยนตร์ที่เรนเดอร์ฉากทีละเฟรมด้วยคุณภาพสูงสุดสำหรับการสร้างสกรีนเซฟเวอร์และบันทึกวิดีโอ
- ขยายการรองรับชุดหูฟัง 3D และแพลตฟอร์มความเป็นจริงเสมือนแล้ว ส่วนหลักของเอ็นจิ้นรวมถึงการรองรับมาตรฐาน OpenXR ในตัวซึ่งกำหนด API สากลสำหรับการสร้างแอปพลิเคชันเสมือนจริงและความเป็นจริงเสริม Windows และ Linux รองรับชุดหูฟัง 3D ยอดนิยมทั้งหมด รวมถึงชุดหูฟัง SteamVR, Oculus และ Monado
- ความเสถียรของระบบย่อยสำหรับการจัดการเกมออนไลน์เพิ่มขึ้น และกระบวนการพัฒนาเกมแบบผู้เล่นหลายคนก็ง่ายขึ้น
- ความสามารถของระบบเสียงได้รับการขยาย รองรับโพลีโฟนีในตัว มีการเพิ่ม API สำหรับการสังเคราะห์เสียงพูด และมีการใช้ความสามารถในการวนซ้ำเสียง
- คุณสามารถเรียกใช้อินเทอร์เฟซ Godot บนแท็บเล็ต Android และในเว็บเบราว์เซอร์ได้
- เพิ่มระบบใหม่สำหรับการสร้างเกมสำหรับสถาปัตยกรรม CPU ต่างๆ ตัวอย่างเช่น ตอนนี้คุณสามารถสร้างสำหรับ Raspberry Pi, Microsoft Volterra, Surface Pro X, Pine Phone, VisionFive, ARM Chromebook และ Asahi Linux
- มีการเปลี่ยนแปลงกับ API ที่ทำลายความเข้ากันได้ การเปลี่ยนจาก Godot 3.x เป็น Godot 4.0 จะต้องมีการปรับปรุงแอปพลิเคชันใหม่ แต่สาขา Godot 3.x มีวงจรการสนับสนุนที่ยาวนาน ซึ่งระยะเวลาจะขึ้นอยู่กับความต้องการของผู้ใช้สำหรับ API เก่า
ที่มา: opennet.ru