Ambient, מנוע משחק מרובה משתתפים בקוד פתוח

אמביינט

Ambient הוא זמן ריצה ליצירת משחקים מרובי משתתפים ויישומי תלת מימד בעלי ביצועים גבוהים, המופעלים על ידי WebAssembly, Rust ו-WebGPU.

לאחר שנה של פיתוח, סe חשפה את המהדורה הראשונה של מנוע המשחק החדש בקוד פתוח סביבה. המנוע מספק זמן ריצה ליצירת משחקים מרובי משתתפים ויישומי תלת מימד אשר מורכבים לייצוג WebAssembly ומשתמשים בממשק ה-API של WebGPU לצורך עיבוד.

מטרת מפתח בפיתוח Ambient היא לספק כלים המפשטים את הפיתוח של משחקים מרובי משתתפים והופכים את יצירתם ללא קשה יותר מפרויקטים לשחקן יחיד.

המנוע שואף בתחילה ליצור זמן ריצה אוניברסלי התומך בפיתוח משחקים ואפליקציות בכל שפת תכנות שעבורה מתאפשר קומפילציה לקוד WebAssembly ביניים. עם זאת, הגרסה הראשונה תומכת רק בפיתוח Rust עד כה.

על אמביינט

מבין המאפיינים הבולטים מאמביינט, מוזכר כי יש תמיכה שקופה ברשת. המנוע משלב את הפונקציות של לקוח ושרת, מספק את כל הרכיבים הדרושים ליצירת לוגיקה של לקוח ושרת, ומסנכרן אוטומטית את מצב השרת בלקוחות.

מוזכר גם ש נעשה שימוש במודל נתונים נפוץ בצד הלקוח והשרת, מה שמקל על העברת קוד בין ה-backend ל-frontend. הוא מריץ כל מודול בסביבה מבודדת משלו כדי להגביל את ההשפעה של קוד לא מהימן, וקריסה של מודול אחד לא קורסת את האפליקציה כולה.

אמביינט, גיש לו ארכיטקטורה מוכוונת נתונים, ובכך לספק מודל נתונים המבוסס על מערכת של רכיבים שכל WASM יכול לתפעל. שימוש בתבנית העיצוב של ECS (Entity Component System).

בנוסף לזה, גם מאחסן את הנתונים של כל הרכיבים במסד נתונים מרכזי בשרתr, שמצבו משוכפל אוטומטית ללקוח, אשר בתורו יכול להרחיב את הנתונים תוך התחשבות במצב המקומי.

היכולת ליצור מודולי Ambient בכל שפת תכנות שמתבצעת קומפילציה ל-WebAssembly (עד כה נתמכת רק Rust), תוך יצירת קובצי פלט הפעלה אוניברסליים, יכולה לרוץ על Windows, macOS ו-Linux, ולעבוד כלקוח וכשרת.

מצד שני, זה גם מודגשיש לו את היכולת להגדיר את המרכיבים וה"מושגים" שלו (אוספי רכיבים). פרויקטים המשתמשים באותם רכיבים ומושגים מבטיחים שהנתונים יהיו ניידים ומשותפים, גם אם הנתונים לא תוכננו במיוחד לשימוש בפרויקטים ספציפיים.

מבין התכונות האחרות הבולטות מ-Ambient:

  • תמיכה בהידור משאבים בפורמטים שונים, כולל ".glb" ו- ".fbx". יכולת הזרמת משאבים דרך הרשת: הלקוח יכול לקבל את כל המשאבים הדרושים בעת החיבור לשרת (ניתן להתחיל לשחק מבלי לחכות לטעינת כל המשאבים).
  • פורמטים של דגמי FBX ו-glTF, פורמטים שונים של קול ותמונה נתמכים.
  • מערכת רינדור מתקדמת המשתמשת ב-GPU כדי להאיץ את העיבוד ותומכת ב-LOD וב-Clip בצד ה-GPU.
  • שימוש בעיבוד מבוסס פיזי (PBR) כברירת מחדל, תמיכה באנימציה ומפות צללים מדורגים.
  • תמיכה בסימולציה של תהליכים פיזיקליים על בסיס מנוע PhysX.
  • מערכת בניית ממשק משתמש דמוית תגובה.
  • מערכת כניסה אחידה ללא תלות בפלטפורמה הנוכחית.
  • מערכת סאונד מרחבית עם פילטרים תוספים.
  • הפיתוח עדיין בשלב אלפא. מבין הפונקציונליות שטרם יושמה, אנו יכולים לציין את היכולת לרוץ באינטרנט, API של לקוח, API לניהול ריבוי שרשורים, ספרייה ליצירת ממשק משתמש, API לשימוש ב-Shaders משלכם, תמיכה בסאונד, עומס ולשמור
  • רכיבי ECS (Entity Component System), טעינת משאבים תוך כדי תנועה, קנה מידה אוטומטי של שרת, עורך ליצירה משותפת של מפות משחק וסצנות משחק.

לבסוף, למי שמעוניין ללמוד עוד על זה, כדאי לדעת שהקוד כתוב ב-Rust וקיים מופץ תחת רישיון MIT.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.