רשימת משימות לשיפור האיכות ל-Google Play Games Services

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

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

לכל תחום התמקדות, המסמך הזה מספק:

  • רשימות תיוג עם פירוט של הדרישות המינימליות.
  • שיטות מומלצות לשיפור המשחק.

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

1. אימות בפלטפורמה

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

מזהה חשיבות תיאור
1.1 חובה אימות שחקנים באמצעות Google Play Games Services.
1.1.1. מאתחלים את Google Play Games Services SDK ובודקים אם השחקן מאומת. אם השחקן לא מאומת באופן אוטומטי, צריך לספק אפשרות להתחברות ידנית.

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

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

‫1.2 שיטות מומלצות פועלים לפי הנחיות המיתוג של Google.

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

‫1.3 שיטות מומלצות תזכורת לשחקנים שהם מאומתים.

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

1.4 חובה גיבוי של התקדמות השחקן באמצעות המזהה של Play Games Services.

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

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

2. הישגים

רשימת המשימות הבאה רלוונטית להטמעה של התכונה הישגים במשחק.

מזהה חשיבות תיאור
2.1 חובה לפחות עשרה הישגים גלויים שמתפרסים על פני משך החיים של המשחק.

צריכים להיות לפחות 10 הישגים גלויים במצב גלוי.

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

2.3 חובה לכל ההישגים צריכים להיות שמות ותיאורים ייחודיים. ההסברים האלה צריכים להבהיר למשתמשים מה הם צריכים לעשות כדי לקבל את ההישג.

2.4 חובה לכל ההישגים צריכים להיות סמלים ייחודיים.

הסמלים צריכים להיות בפורמט PNG,‏ JPEG או JPG ובגודל ‎512 x 512 פיקסלים על רקע שקוף. מידע נוסף זמין בהנחיות בנושא סמלים.

2.5 חובה מוודאים שאפשר להשיג את כל ההישגים.

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

2.6 שיטה מומלצת כדאי להשתמש ב הישגים מצטברים כדי להציג את ההתקדמות.

הישגים מצטברים הם הישגים שמתקבלים בהדרגה במהלך סשני משחק.

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

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

2.9 שיטה מומלצת כדאי להשתמש בהישגים מוסתרים כדי ליצור הפתעה וריגוש.

הישגים מוסתרים הם הישגים שהפרטים שלהם מוסתרים מהשחקן.

‫2.10 שיטה מומלצת הוספת הישגים חדשים כשמוסיפים שלבים או פרקים חדשים למשחק.

מידע נוסף זמין במאמר נקודות וניסיון.

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

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

2.12 שיטה מומלצת תכננו הישגים ברמות קושי שונות.

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

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

הישג שקשה להשיג ונדרש לצבור 5,000 אבנים יקרות
קשה להשיג את ההישג הזה, שנדרש בו להרוויח 5,000 אבנים יקרות.
2.13 שיטה מומלצת אל תציגו את ההישגים בתחילת הסרטון.

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

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

‫2.14 שיטה מומלצת הגדירו הישגים סביב פעילויות מעניינות במשחק.

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

2.15 שיטה מומלצת שימוש בסמלי הישגים צבעוניים.

Play Games Services משתמש בגרסאות בגווני אפור של סמלי ההישגים כדי להראות אם ההישגים הושגו או לא. אם אתם מוגבלים לשימוש בסמלי הישגים שחורים (או לבנים), אתם צריכים להציג אותם על רקע צבעוני.

‫2.16 שיטה מומלצת צמצום השימוש בהישגים מוסתרים

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

2.17 שיטה מומלצת כדאי להימנע מהישגים שמסתמכים יותר מדי על מזל.

"Find 100 treasure chests" is a better achievement than "Find an item that has a 1% chance of appearing in a treasure chest."

‫2.18 שיטה מומלצת תחשוב כמו 'צייד הישגים'.

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

דוגמאות

כמה דוגמאות שיעזרו לכם לעצב הישגים באיכות גבוהה:

דוגמה טובה

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

הישגים טובים עם שמות, סמלים ותיאורים ייחודיים.
הישגים טובים עם שמות, סמלים ותיאורים ייחודיים (לחצו כדי להגדיל).

דוגמה לא טובה

בצילום המסך הבא מוצגות דוגמאות לא טובות להישגים.

הישגים גרועים עם שמות, סמלים ותיאורים כפולים.
הישגים לא טובים עם שמות, סמלים ותיאורים כפולים (לחצו כדי להגדיל).

3. לוחות לידרבורד

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

מזהה חשיבות תיאור
‫3.1 שיטה מומלצת להציג את טבלאות המובילים בתפריט הראשי ואחרי מעברים חשובים.

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

‫3.2 שיטה מומלצת הגדרת גבולות עליונים לתוצאות שאפשר לשלוח.

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

3.3 שיטה מומלצת שימוש בסמלים מותאמים אישית.

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

3.4 שיטה מומלצת חשוב לשמור על תדירות מתאימה של שליחת ציונים.

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

3.5 שיטות מומלצות כדאי להשתמש בתגי ניקוד.

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

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

3.6 שיטות מומלצות עיצוב יצירתי של ממשק משתמש משלכם ללידרבורד

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

‫3.7 שיטות מומלצות להראות לשחקנים את הביצועים שלהם בהשוואה למתחרים.

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

4. חברים

רשימת המשימות הבאה רלוונטית להטמעה של שירות החברים במשחק.

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

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

4.1.1. הסמל של Play Games Services צריך להיות ניתן ללחיצה.
אם המשתמש לוחץ על הסמל, המשחק צריך לקרוא ל-getCompareProfileIntent() או ל-getCompareProfileIntentWithAlternativeNameHints() כדי להציג את ממשק המשתמש שבו המשתמש יכול להשוות את הפרופיל שלו לפרופיל של שחקן אחר.
‫4.1.2. תמיכה בפרופילי שחקנים ובהזמנות לחברות, עם שמות שחקנים שניתנים להתאמה אישית במשחק.
אם שחקן מגדיר שם אחר במשחק (ולא משתמש בשם הפרופיל שלו ב-Play Games), צריך להשתמש בתג getCompareProfileIntentWithAlternativeNameHints() כדי לספק את השם החלופי הזה במשחק גם לשחקן הנוכחי וגם לשחקן שהוא צופה בו, כהקשר לתצוגת הפרופיל ולכל הזמנה לחברות שנשלחת ממנו. צריך להעביר רק שמות שחקנים גלובליים וקבועים בתור הערכים, ולא תוכן משתמש שרירותי. הדרישה הזו אומרת שהזמנות לחברות שנשלחות מתוך המשחק יספקו הקשר לשני השחקנים:
  • הנמען יראה את השם במשחק של מי ששלח את ההזמנה, ואת שם המשחק.
  • כשמציגים את החברות, השולח עדיין רואה את השם של הנמען במשחק, וגם את המשחק שממנו הוא שלח את הבקשה.
‫4.2 שיטה מומלצת השתמשו בסמלים שונים כדי להראות אילו משתמשים ב-Play Games הם כבר חברים, ואילו משתמשים עדיין לא חברים ב-Play Games אבל עברו אימות ב-Play Games. משתמשים בשני סמלים למשתמשי Play Games, אחד ל'חברים' ואחד ל'לא חברים' (או כשסטטוס החברות לא ידוע).
סמל החברים
סמל של 'לא חברים'
4.3 שיטה מומלצת כדי לוודא שרשימת החברים מעודכנת, צריך להתקשר אל loadFriends() בכל פעם שמבצעים אימות ומציגים את רשימת החברים. מוודאים שהשחקנים רואים את הרשימה המעודכנת.
4.4 שיטה מומלצת אם במשחק שלכם כבר יש חברים, אתם יכולים להשתמש בשירות Friends כדי להוסיף את החברים ב-Play Games ולהגדיל את רשימת החברים. אם שחקן מופיע ברשימת החברים במשחק וגם ברשימת החברים ב-Play Games, יוצג הסמל 'חברים'.
4.5 שיטה מומלצת אם שחקן דחה את הבקשה לגשת לרשימת החברים שלו, אל תציגו שוב את תיבת הדו-שיח שבה מוצגת הבקשה לגישה, אלא אם המשתמש ביצע פעולה שמצביעה על כך שהוא רוצה לתת גישה (לדוגמה, לחיצה על הלחצן **ייבוא חברים מ-Play Games**).
4.6 שיטה מומלצת אם שחקן סירב להעניק גישה לרשימת החברים, צריך לתת לו דרך להעניק גישה לרשימת החברים בעתיד (לדוגמה, אחרי לחיצה על הלחצן **ייבוא חברים מ-Play Games**).
‫4.7 שיטה מומלצת אם אתם משתמשים במזהה השחקן או ברשימת החברים עם שרת קצה עורפי, אתם חייבים לגשת למזהה או לרשימה באופן מאובטח. בנוסף, במשחקים ישנים מסוימים, יכול להיות שמזהה השחקן שמוחזר על ידי Android SDK עבור שחקן מסוים לא יהיה זהה למזהה ששחקנים אחרים רואים כשהם צופים בשחקן הזה באותו משחק. זה רלוונטי במיוחד כשמשתמשים ברשימת החברים. עם זאת, הערך player_id שמוחזר ב-API בארכיטקטורת REST תמיד עקבי ותמיד זהה למזהה ששחקנים אחרים רואים.

5. מכסות והגבלת קצב של יצירת בקשות

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

מזהה חשיבות תיאור
5.1 שיטה מומלצת שימוש בספריות לקוח.

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

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

‫5.2 שיטות מומלצות משלבים שיחות תכופות עם הישגים מצטברים.

אם אתם יוצרים משחק לחימה ויש לכם הישג 'הנחתת 5,000 אגרופים', אל תשלחו קריאה להגדלת ערך ההישג בכל פעם שמישהו מניח אגרוף. מחכים עד סוף הסיבוב, ואז שולחים קריאה אחת של increment(xxx) (כאשר xxx הוא המספר הכולל של האגרופים שנשלחו בסיבוב הזה), או מחכים עד שיישלחו 50 אגרופים לפני ששולחים קריאה אחת של increment(xxx).increment(50)

5.3 שיטות מומלצות חשוב לעקוב אחרי השימוש.

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

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

6. משחקים שמורים

רשימת המשימות הבאה רלוונטית להטמעה של התכונה Saved Games במשחק שלכם.

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

כששומרים משחק, צריך לכלול לפחות את המטא-נתונים הבאים:

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

טוענים את המשחק השמור הנכון כששחקנים בוחרים מתוך אפליקציית Play Games או ממשק המשתמש של ברירת המחדל של Saved Games.