הגדרת גרפיקה ל-Google Play Games במחשב

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

סיכום הדרישות וההמלצות שבדף הזה:

העדפה של Vulkan על פני OpenGL ES

מומלץ להשתמש בממשק ה-API של Vulkan ב-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) של תוכנת זמן ריצה לפורמטים אחרים של טקסטורות.

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

הגדלת המגבלות של קצב הפריימים המקסימלי

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

אופטימיזציה למסכים גדולים

האופטימיזציות הבאות למסכים גדולים נדרשות על ידי 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 ו-Native.

שינוי קנה מידה של ממשק המשתמש

במסך גדול יותר, יכול להיות שתצטרכו להתאים את ממשק המשתמש של המשחק כדי לוודא שכל הרכיבים בגודל המתאים. מומלץ שהתצוגה העילית לא תתפוס יותר מ-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