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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כדי לוודא שהשחקנים לא יאבדו את ההתקדמות שלהם כשהם עוברים בין מכשירים, מאפסים מכשירים או משחקים בכמה מכשירים, צריך לוודא שההתקדמות שלהם מגובה באמצעות פתרון לשמירה בענן, ולהשתמש במזהה של Play Games Services כמפתח, באופן מאובטח, אם משתמשים בשרת גיימינג משלכם. כשהשחקנים מאמתים את עצמם באמצעות המזהה שלהם ב-Play Games Services, צריך לבדוק אם יש התקדמות בחשבון הזה, ואם כן, לאפשר לשחקן להמשיך מהמקום שבו הפסיק. אתם יכולים להשתמש בפתרון משלכם לשמירה בענן או ב-Saved Games של 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 משתמש בגרסאות בגווני אפור של סמלי ההישגים כדי להראות אם ההישגים הושגו או לא. אם אתם מוגבלים לשימוש בסמלי הישגים שחורים (או לבנים), אתם צריכים להציג אותם על רקע צבעוני.

‫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. לוחות לידרבורד

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

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

מזהה חשיבות תיאור
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, אחד ל'חברים' ואחד ל'לא חברים' (או כשסטטוס החברות לא ידוע).
סמל החברים
סמל של 'לא חברים'
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(50).

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

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

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

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

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

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

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

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

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