כדי להשתמש ב-Google Play Games במחשב, צריך לעדכן את יכולות הגרפיקה של המשחק ולהוסיף תמיכה במסכים גדולים. במסמך הזה מתוארות הדרישות האלה וההמלצות שקשורות אליהן.
סיכום הדרישות וההמלצות שבדף הזה:
- מומלץ להשתמש ב-Vulkan, עד גרסה 1.1
- כשאפשר, כדאי להשתמש בדחיסת טקסטורה (מומלץ)
- כשאפשר, מומלץ להימנע מטקסטורות שנדרש להמיר את הקידוד שלהן
- הגדלה או הסרה של מגבלות קצב הפריימים (מומלץ)
- שימוש בנכסים ובמרקמים ברזולוציה גבוהה (חובה)
- התאמת קנה המידה של ממשק המשתמש (נדרש)
- תמיכה ביחסי הגובה-רוחב הנדרשים (חובה)
- ביצוע עדכונים דינמיים של מודעות לרשת המדיה (חובה)
העדפת Vulkan על פני OpenGL ES
כדי לקבל ביצועים אופטימליים, מומלץ להשתמש ב-Vulkan API ב-Google Play Games במחשב. אנחנו תומכים בגרסאות Vulkan עד 1.1.
אם אי אפשר להשתמש ב-Vulkan 1.1 או בגרסה קודמת, צריך להשתמש ב-OpenGL ES. כל הגרסאות של OpenGL ES (כלומר, גרסה 3.2 וגרסאות קודמות) נתמכות.
דחיסת מרקם
מכיוון ש-Google Play Games במחשב מעביר טקסטורות דחוסות בכל הזדמנות, כדאי להשתמש ב-DXTC או ב-BPTC כדי לנצל את חומרת המחשב.
לפעמים עדיין צריך לבצע דקומפרסיה של הטקסטורות האלה אם צריך לבצע אמולציה של תכונות OpenGL מסיבות של תאימות, ולכן תמיד כדאי ליצור פרופיל של המשחק.
הימנעות מהמרת קידוד של טקסטורות
למרות ש-Google Play Games במחשב תומך בפורמטים של טקסטורות לנייד ASTC, ETC1 ו-ETC2, רוב המעבדים הגרפיים במחשב לא יכולים לבצע דגימה מקומית שלהם, ולכן נדרשת המרה (transcoding) של תוכנת זמן ריצה לפורמטים אחרים של טקסטורות.
להמרת קידוד של טקסטורות יש השפעה שלילית קלה על הביצועים ועל שימוש בזיכרון הטקסטורות, ולכן עדיף להשתמש באחד מפורמטי הטקסטורות הדחוסות שמתאימים למחשבים שולחניים שצוינו קודם.
הגדלת מגבלות קצב הפריימים המקסימלי
חלק מהשחקנים יוכלו להריץ את המשחק שלכם בקצב פריימים גבוה בהרבה במחשבים מאשר במכשירים ניידים. כדי לספק לשחקנים את חוויית השימוש הטובה ביותר, מומלץ לוודא שמגבלת קצב הפריימים היא לפחות 60 פריימים לשנייה, או להסיר את מגבלות קצב הפריימים לחלוטין.
אופטימיזציה למסכים גדולים
האופטימיזציות הבאות למסכים גדולים נדרשות על ידי Google Play Games במחשב:
נכסים וטקסטורות ברזולוציה גבוהה
Google Play Games במחשב תומך ברזולוציות של עד 4K, ואפשר לצפות לרמת ביצועים שמתאימה למכשיר Android מתקדם שהושק ב-12 החודשים האחרונים. טקסטורות ונכסים שנועדו למסך קטן של טלפון פוגעים בחוויית המשחק של השחקן כשהוא צופה במשחק במסך גדול של מחשב ברזולוציית 4K. אם אפשר, כדאי לוודא שנכסים ברזולוציה גבוהה יהיו זמינים בהפעלה הראשונה.
אם אתם משתמשים בקובצי OBB בינאריים אטומים (שנקראים גם קובצי הרחבה של APK) כדי לספק נכסים, יכול להיות שנכסים נוספים ברזולוציה גבוהה יגרמו לגודל הכולל לחרוג מהמגבלה של קובצי OBB (2GB לקובץ הראשי ועוד 2GB לקובץ התיקון). במקרה כזה, כדאי להשתמש ב-Play Asset Delivery כדי להעביר את הנכסים.
Play Asset Delivery מאפשר להעביר באופן אוטומטי טקסטורות שתואמות לפורמט הדחיסה הנתמך הכי טוב במכשיר, בלי להגדיל את גודל המשחק. אפשר גם לטרגט מכשירים לפי רמת הביצועים כדי להציג טקסטורות ברזולוציה גבוהה או נמוכה יותר.
התכונה Play Asset Delivery נתמכת ב-Unity מגרסה 5.6 ואילך באמצעות הפלאגין Play Asset Delivery Unity, וב-Unreal Engine מגרסה 4.25. למנועים אחרים, אנחנו מספקים ערכות SDK של Java ונייטיב.
שינוי גודל ממשק המשתמש
במסך גדול יותר, יכול להיות שתצטרכו לשנות את הגודל של הרכיבים בממשק המשתמש של המשחק כדי לוודא שכולם בגודל המתאים. מומלץ שהתצוגה העילית לא תתפוס יותר מ-20% מהמסך.
יחסי גובה-רוחב
כדי שמשחק יקבל את התג גרסה שעברה אופטימיזציה ב-Google Play Games למחשב, הוא צריך לתמוך ביחס רוחב-גובה של 16:9. כדי להעניק למשתמשים חוויית משחק אופטימלית, המשחקים צריכים לתמוך גם ביחסים 21:9, 16:10 ו-3:2.
הדגשת דיוקן
משחקים במצב לאורך צריכים לתמוך רק ביחס גובה-רוחב של 9:16. אם המשחק לא תומך בפריסה לרוחב, ב-Google Play Games במחשב מוצגים פסים שחורים במצב מסך מלא.
מודעות דינמיות לרשת המדיה
אפליקציית Google Play Games במחשב אף פעם לא משנה את הרזולוציה הלוגית, את צפיפות התצוגה או את יחס הגובה-רוחב של המשחק אחרי שהוא מופעל. למרות זאת, השחקנים יכולים לעבור בין מצב מסך מלא למצב חלון במשחק. במצב חלון, יכול להיות שהנגן ישנה את גודל החלון באופן חופשי באלכסון, כך שיחס הגובה-רוחב יישאר קבוע. המשמעות היא שהמשחק לא צריך לטפל באירועי שינוי גודל כדי להתאים לפרדיגמות טיפוסיות של ממשק מחשב, אבל גם שאי אפשר להסתמך על צפיפות הפיקסלים של התצוגה כאינדיקטור לקריאות של רכיבים במשחק.
בחירת רזולוציה
Google Play Games במחשב מספק למשחק שלכם את יחס הגובה-רוחב שהכי קרוב ליחס בין התצוגה הראשית של השחקן לבין התמיכה שפורסמה בקובץ מניפסט של האפליקציה. רזולוציית ברירת המחדל נבחרת באמצעות היוריסטיקה פנימית כדי לספק לשחקן את חוויית השימוש הטובה ביותר.
השחקן יכול לשנות את רזולוציית ברירת המחדל של המשחק במחשב שלו. חישוב יחס הגובה-רוחב לא משתנה, אבל מספר הפיקסלים שמוצגים עשוי להיות שונה בין שני הפעלות של המשחק. חשוב להיות מודעים לכך אם אתם מסתמכים על הרזולוציה שדווחה בין ההפעלות של המשחק, למשל כשאתם קובעים אילו נכסים לשמור במטמון ולעבד. אחרי שמשתמש משנה את הרזולוציה, האמולטור למפתחים של Google Play Games במחשב מופעל מחדש, כך שלא צריך לטפל בשינוי הזה בזמן הריצה.
המלצות
כדי לספק לשחקנים את החוויה הכי טובה, כדאי לבצע את הפעולות הבאות:
- אם המשחק שלכם פועל בצורה הכי טובה בפריסה לאורך, והשחקנים צפויים לשחק בו תוך כדי ריבוי משימות, צריך להגדיר את
android:screenOrientation="portrait". כך תוכלו לוודא שהחלון של המשחק יוצג לאורך. - כדי להגביל את המשחק לטווח של יחסי גובה-רוחב מאומתים, צריך לציין את יחסי הגובה-רוחב המינימלי והמקסימלי הנתמכים באמצעות התגים
android:minAspectRatioו-android:maxAspectRatio. חשוב לבדוק את המשחק באופן יסודי בטווח הזה, תוך שימת לב מיוחדת למה שקורה עם יחסי גובה-רוחב רחבים, ריבועיים וגבוהים במיוחד. - למרות שאפליקציית Google Play Games במחשב מדווחת על DPI, הערך הזה לא משתנה בזמן שהמשחק פעיל. לכן, אי אפשר לדעת מה הגודל הפיזי של רכיב במשחק, ועדיף למקם רכיבים במשחק על סמך יחסי הגודל של המסך, במקום לנסות להתאים יחידת גודל פיזית.
- בודקים את קלות הקריאה של רכיבי המשחק במסך של מחשב נייד ובמצב חלון.
- לתת לשחקנים שליטה במשחק על קנה המידה של ממשק המשתמש, כדי שיוכלו לשנות את הגודל של אלמנטים או טקסט במשחק בהתאם להעדפות האישיות או לצרכים הסביבתיים שלהם. כך לא יקרה ששחקנים יורידו את הרזולוציה של המשחק (ולכן את האיכות החזותית) רק כדי להגדיל את הטקסט.
בדיקה של מודעות דינמיות לרשת המדיה
לאמולטור למפתחים של Google Play Games במחשב אין אמצעי בקרה מקיפים מבוססי ממשק משתמש גרפי (GUI) לאימות כל שילוב פוטנציאלי של רזולוציה ויחס גובה-רוחב. כדי לדמות את הפעלת המשחק ברזולוציה ספציפית, משתמשים בפקודה wm size ב-adb shell. לדוגמה, כדי לבדוק משחק ב-4K, משתמשים בפקודה הבאה:
adb shell wm size 3840x2160כדי לאפס את קנה המידה של התצוגה, אפשר להשתמש בפקודה הבאה:
adb shell wm size reset