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

‫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 שמוחזר ב-REST API תמיד עקבי ותמיד זהה למזהה ששחקנים אחרים רואים.

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

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

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

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

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

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

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

5.3 שיטות מומלצות חשוב להיות מודעים לשימוש שלכם.

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

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

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

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

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

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

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

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