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