עיצוב אפליקציות מציאות משולבת שמתאימות למרחבים דינמיים

עיצוב אפליקציות מציאות משולבת שמתאימות למרחבים דינמיים

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

עיצוב אפליקציות מציאות משולבת שמתאימות למרחבים דינמיים PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.מאמר אורח מאת תומאס ואן ברקל

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

בשנה האחרונה עבדתי על משחק חדש בשם ריקוד לייזר. נבנה מהיסוד עבור מציאות מעורבת (MR), המטרה שלי היא ליצור משחק שהופך כל חדר בבית שלך למסלול מכשולים לייזר. שחקנים הולכים הלוך ושוב בין שני כפתורים, וכל לחיצה על כפתור מולידה תבנית לייזר פרמטרית חדשה שהם צריכים לנווט דרכה. המשחק עדיין בפיתוח מלא, שואף לצאת ב-2024.

אם אתה רוצה להירשם ל-Playtesting Laser Dance, אתה יכול לעשות זאת כאן!

[תוכן מוטבע]

טריילר הטיזר של לייזר דאנס, שהוצג לראשונה מיד לאחר Meta Connect 2023

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

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

הגדרת דפוס לייזר

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

עיצוב אפליקציות מציאות משולבת שמתאימות למרחבים דינמיים PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.רמה בריקוד לייזר מורכבת מרצף של דפוסי לייזר - שחקנים הולכים (או זוחלים) קדימה ואחורה בין שני כפתורים בקצוות מנוגדים של החדר, וכל לחיצה על כפתור מאפשרת את התבנית הבאה. דפוסי לייזר אלו ינסו להתאים לגודל החדר ולפריסה.

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

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

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

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

קירות מהבהבים של לייזרים מכוונים בניצב לקו הדמיוני בין שני הכפתורים.

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

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

רמה זו משתמשת באיתור נתיבים כדי להוליד מנהרה של לייזרים שמתפתלת סביב הרהיטים בחדר הזה.

אמולציית חדר

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

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

חדרים מאוחסנים במשחק כקובץ טקסט פשוט המכיל את כל עמדות הקיר והרהיטים והמידות. כלי האמולציה יכול לקחת את הקבצים האלה, ולהוליד מספר חדרים אחד ליד השני ישירות בעורך Unity.

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

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

נגישות והדמיית שחקנים

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

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

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

הגדרות הנגישות מאפשרות לשחקנים להתאים חלק מהרמות של Laser Dance למבנה הגוף ולמגבלות הניידות שלהם. דוגמה זו מראה כיצד רמה שתגרום לשחקנים לזחול על הרצפה, יכולה להתאים את עצמה לאנשים עם ניידות אנכית מוגבלת יותר.

ניתן לחקות את ערכי הנגן הללו גם בכלים המותאמים אישית שאני בונה. ניתן להחליף הגדרות קבועות מראש של נגן כדי להשוות ישירות כיצד רמה עשויה להיראות שונה בין שני שחקנים.

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

נתונים, בדיקות ופרטיות

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

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

עיצוב אפליקציות מציאות משולבת שמתאימות למרחבים דינמיים PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

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

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

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

האם אתה צריך לבנות כלים מותאמים אישית?

האם בניית קומץ כלים מותאמים אישית היא דרישה לפיתוח מציאות מעורבת אדפטיבית? למרבה המזל התשובה לכך היא: כנראה שלא.

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

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

- - - - -

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

אם תרצה לעזור בפיתוח המשחק, אנא שקול הרשמה ל-playtesting!


אם מצאתם את התובנות הללו מעניינות, עיין במאמרי אורח אחרים של ואן בוואל:

בול זמן:

עוד מ כביש VR