Ambient ซึ่งเป็นเอ็นจิ้นเกมแบบผู้เล่นหลายคนแบบโอเพ่นซอร์ส

ล้อมรอบ

Ambient คือรันไทม์สำหรับสร้างเกมที่มีผู้เล่นหลายคนประสิทธิภาพสูงและแอปพลิเคชัน 3 มิติ ซึ่งขับเคลื่อนโดย WebAssembly, Rust และ WebGPU

หลังจากหนึ่งปีของการพัฒนา se เปิดตัวครั้งแรก ของเอ็นจิ้นเกมโอเพ่นซอร์สใหม่ สภาพแวดล้อม มอเตอร์ จัดเตรียมรันไทม์สำหรับสร้างเกมที่มีผู้เล่นหลายคนและแอปพลิเคชัน 3 มิติ ซึ่งรวบรวมเป็นตัวแทน WebAssembly และใช้ WebGPU API สำหรับการแสดงผล

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

เอ็นจิ้นแรกมีเป้าหมายเพื่อสร้างรันไทม์สากลที่สนับสนุนเกมและการพัฒนาแอปพลิเคชันในภาษาโปรแกรมใด ๆ ที่สามารถคอมไพล์เป็นรหัส WebAssembly ระดับกลางได้ อย่างไรก็ตามเวอร์ชันแรกรองรับการพัฒนาของ Rust เท่านั้น

เกี่ยวกับแอมเบียนท์

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

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

สิ่งแวดล้อม คมีสถาปัตยกรรมเชิงข้อมูล ด้วยเหตุนี้จึงจัดทำแบบจำลองข้อมูลตามระบบของส่วนประกอบที่ WASM แต่ละตัวสามารถจัดการได้ ใช้รูปแบบการออกแบบ ECS (Entity Component System)

นอกจากนั้นยัง เก็บข้อมูลของส่วนประกอบทั้งหมดในฐานข้อมูลส่วนกลางบนเซิร์ฟเวอร์r ซึ่งสถานะจะถูกจำลองโดยอัตโนมัติไปยังไคลเอนต์ ซึ่งสามารถขยายข้อมูลโดยคำนึงถึงสถานะในเครื่อง

ความสามารถในการสร้างโมดูล Ambient ในภาษาการเขียนโปรแกรมใดๆ ที่คอมไพล์ไปยัง WebAssembly (จนถึงตอนนี้รองรับเฉพาะ Rust เท่านั้น) ในขณะที่สร้างไฟล์เอาต์พุตที่เรียกใช้งานได้สากล สามารถทำงานบน Windows, macOS และ Linux และทำงานเป็นไคลเอ็นต์และเซิร์ฟเวอร์ได้

ในทางกลับกันก็มีการเน้นย้ำเช่นกันว่ามีความสามารถในการกำหนดองค์ประกอบและ "แนวคิด" ของตัวเอง (คอลเลกชันของส่วนประกอบ). โครงการที่ใช้องค์ประกอบและแนวคิดเดียวกันทำให้มั่นใจได้ว่าข้อมูลพกพาและแบ่งปันได้ แม้ว่าข้อมูลจะไม่ได้ออกแบบมาโดยเฉพาะสำหรับใช้ในโครงการเฉพาะก็ตาม

คุณสมบัติอื่นๆ ที่โดดเด่นจาก Ambient:

  • รองรับการรวบรวมทรัพยากรในรูปแบบต่างๆ รวมถึง ".glb" และ ".fbx" ความสามารถในการสตรีมทรัพยากรผ่านเครือข่าย: ลูกค้าสามารถรับทรัพยากรที่จำเป็นทั้งหมดเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ (คุณสามารถเริ่มเล่นได้โดยไม่ต้องรอให้โหลดทรัพยากรทั้งหมด)
  • รองรับรูปแบบโมเดล FBX และ glTF รองรับรูปแบบเสียงและภาพที่หลากหลาย
  • ระบบการเรนเดอร์ขั้นสูงที่ใช้ GPU เพื่อเร่งการเรนเดอร์และรองรับ LOD ด้าน GPU และการคลิป
  • ใช้การเรนเดอร์ทางกายภาพ (PBR) ตามค่าเริ่มต้น รองรับแอนิเมชั่นและแผนที่เงาแบบเรียงซ้อน
  • รองรับการจำลองกระบวนการทางกายภาพตามกลไก PhysX
  • ระบบการสร้าง UI ที่เหมือนปฏิกิริยา
  • ระบบรายการแบบรวมที่เป็นอิสระจากแพลตฟอร์มปัจจุบัน
  • ระบบเสียงเชิงพื้นที่พร้อมตัวกรองปลั๊กอิน
  • การพัฒนายังอยู่ในขั้นอัลฟ่า จากฟังก์ชันที่ยังไม่ได้ใช้งาน เราสามารถสังเกตความสามารถในการทำงานบนเว็บ, API ไคลเอ็นต์, API สำหรับจัดการมัลติเธรด, ไลบรารีสำหรับสร้างส่วนต่อประสานผู้ใช้, API สำหรับใช้ shaders ของคุณเอง, รองรับเสียง, โหลด และบันทึก
  • คอมโพเนนต์ ECS (Entity Component System), รีโหลดทรัพยากรในทันที, ปรับขนาดเซิร์ฟเวอร์อัตโนมัติ, ตัวแก้ไขเพื่อร่วมสร้างแผนที่เกมและฉากของเกม

สุดท้ายสำหรับผู้ที่สนใจเรียนรู้เพิ่มเติมควรทราบว่าโค้ดนั้นเขียนด้วยภาษา Rust และ is เผยแพร่ภายใต้ใบอนุญาต MIT


เนื้อหาของบทความเป็นไปตามหลักการของเรา จรรยาบรรณของบรรณาธิการ. หากต้องการรายงานข้อผิดพลาดให้คลิก ที่นี่.

เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา