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

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

משחק מרוצי מכוניות שנועד לנייד נעול למצב פריסה לרוחב, כדי לבצע אופטימיזציה של שטח המסך לטלפונים. לאחרונה, משתמשים בטאבלטים וב-ChromeOS התלוננו שקשה לשחק במשחק וביקשו תמיכה במצב אנכי. המפתח כולל בקוד שלו בדיקה של גודל המסך, ואם המסך גדול מספיק, מותר להשתמש בפריסה לאורך. כדי לאפשר את התצוגה הרחבה שנדרשת למשחק, התוכן מוצג באמצע המסך, ובחלק התחתון של המסך מופיע סרגל נוסף של ממשק משתמש של רדיו לרכב, שמאפשר למשתמשים לשנות בקלות את תחנת הרדיו. בנוסף, מפת המסלול ונתוני המירוץ מוצגים בחלק העליון של המסך, כך שהתצוגה דרך השמשה חופשית ומשחק המשחק משופר.
אפשר גם לעיין בהנחיות למסכים גדולים ב-Android ובתיעוד בנושא גודל המסך ב-Android.
יכולת ריבוי חלונות
משחקים לרוב מספקים למשתמשים חוויה עשירה במסך מלא. עם זאת, חלק מהמשתמשים במחשבים או במכשירים מתקפלים מעדיפים ששירותי צ'אט, מוזיקה או סטרימינג של סרטונים יהיו פתוחים וגלויים בו-זמנית בחלון נפרד. אם הם מקליטים או משתפים את המסך שלהם, יכול להיות שיהיה להם שימושי לפתוח חלונות נוספים ולהציג אותם.
היכולת להשתמש בכמה חלונות היא התנהגות ברירת המחדל של אפליקציות ומשחקים ל-Android, והיא חלה על מחשבים עם ChromeOS, וגם על טלפונים וטאבלטים במצב מסך מפוצל. אם אתם רוצים למנוע שינוי גודל של המשחק, אתם צריכים להצהיר שהוא לא ניתן לשינוי גודל בקובץ AndroidManifest.xml.
android:resizeableActivity="false"
אם אפשר לשנות את הגודל של המשחק, יש כמה דברים חשובים שכדאי לדעת:
- כשמשנים את גודל החלון, מערכת Android 'תשמיד' את המשחק ותיצור אותו מחדש (ראו מחזור החיים של Android). המשחק צריך לעקוב בצורה חלקה אחרי המצב במהלך היצירות מחדש האלה (ראו תיעוד של Jetpack ViewModel), או לטפל באופן ידני בשינויים בהגדרות ולמנוע יצירה מחדש, כך שמנוע המשחק יטפל בגודל המסך החדש. מידע נוסף זמין בסרטון הזה מתוך כנס מפתחי המשחקים 2019.
- טיפול נכון ב-
onPauseבמקרה שהאפליקציה גלויה ו-STARTED, אבל לאRESUMED. ראו מחזור החיים של ריבוי חלונות. - כדאי להשתמש ביחסי גובה-רוחב שונים לחיתוך או לשינוי הגודל של נכסים בחלונות שגודלם משתנה
מצב מסך מלא
כשמשחק פועל בחלון מסך מלא, יכול להיות שתרצו להעביר אותו למצב immersive כדי להסיר את גבולות החלון ורכיבים אחרים במסך שמסיחים את הדעת. מידע נוסף זמין במסמכי התיעוד בנושא מסך מלא ב-Android.
private fun hideSystemUI() { // Enables regular immersive mode. window.decorView.systemUiVisibility = ( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN) }