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

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

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

הסבר על טבלאות הבאז

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

  1. בסיום המשחק (או ברגע מתאים אחר שקבעתם), המשחק שולח את הניקוד של השחקן ללידרבורד אחד או יותר שיצרתם עבור המשחק.
  2. שירותי Play Games בודקים אם הניקוד הזה טוב יותר מהניקוד הנוכחי של השחקן בטבלת המובילים היומית, השבועית או בכל הזמנים. אם כן, שירותי Play Games מעדכנים את לוחות הלידרבורד המתאימים עם הניקוד החדש.
  3. ‫Play Games Services שולח דוח ניקוד בחזרה ללקוח המשחק. בדוח הזה הלקוח מקבל מידע אם מדובר בשיא חדש יומי, שבועי או כללי. אם לא, Play Games Services יגיד ללקוח מהו הניקוד היומי, השבועי או הגבוה ביותר של השחקן הזה בכל הזמנים.
  4. כדי לאחזר את התוצאות של שחקן בטבלת הישגים, אפשר לבקש מסגרת זמן (יומית, שבועית או כל הזמנים) ולציין אם המשתמש רוצה לראות טבלת הישגים חברתית או ציבורית. שירותי Play Games מבצעים את כל הסינון הנדרש, ואז שולחים את התוצאות בחזרה ללקוח.
  5. במקרים שבהם יש הרבה תוצאות לדווח עליהן, שירות המשחקים של Play מחזיר רק את הנתונים של התוצאות המובילות בלוח התוצאות. אפשר גם לאחזר נתוני ניקוד גולמיים של הניקודים הכי גבוהים או של הניקודים שסמוכים לניקוד של השחקן.

כמה לוחות לידרבורד

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

מסגרות זמן בלידרבורד

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

הטבלאות היומיות מתאפסות בשעה UTC-7 (כלומר, בחצות לפי שעון הקיץ של אזור האוקיינוס השקט) לאורך כל השנה.

הטבלאות השבועיות מתאפסות בחצות בין שבת לראשון, באותו אזור זמן כמו הטבלאות היומיות (UTC-7).

טבלאות הישגים ציבוריות וחברתיות

ערכת ה-SDK של Play Games יכולה להציג לשחקן שתי גרסאות שונות של כל טבלת הישגים:

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

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

הצגת טבלאות הבאז

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

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

מאפיינים

כדי ליצור ולנהל לוחות לידרבורד, כדאי להכיר את המאפיינים הבאים של לוחות לידרבורד:

העקרונות הבסיסיים

האלמנטים הבסיסיים האלה משויכים לכל טבלת לידרבורד:

  • מזהה הוא מחרוזת ייחודית שנוצרת בשבילכם ב-Google Play Console. המזהה הייחודי הזה ישמש אתכם לצורך התייחסות ללידרבורד בלקוחות של המשחק.
  • שם הוא שם קצר לטבלת המובילים (לדוגמה, 'תוצאות גבוהות' או 'רמה 3'). השם יכול לכלול עד 100 תווים.
  • סמל הוא סמל מרובע שישויך לטבלת המובילים. במאמר הנחיות ליצירת סמלים מפורטות שיטות מומלצות ליצירת סמלים לטבלת המובילים.
  • סדר הרשימה הוא הסדר שבו טבלת ההישגים תופיע כששחקן יצפה בטבלאות ההישגים שמשויכות למשחק שלכם.
  • מגבלות הן ערכים אופציונליים שמגדירים את הגבולות התחתונים והעליונים של התוצאות שמותרות בלידרבורד. כך תוכלו לפסול תוצאות ניקוד שמקורן בתרמית. אפשר גם להשתמש ב-Players.hide כדי להסתיר מכל טבלאות המובילים באפליקציה שחקנים שלדעתכם שלחו תוצאות מזויפות.

סידור של טבלאות

יש שני סוגים של טבלאות הישגים:

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

פורמט ניקוד

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

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

  • בטבלאות המובילים של Time, התוצאות מוצגות בפורמט של שעות / דקות / שניות / מאיות השנייה. חובה לשלוח את הניקוד במילישניות, כך שהערך 66032 יפורש כ-1:06.03.

  • בלידרבורדים של מטבע מוצגות תוצאות בפורמט של מטבע. אתם שולחים ציונים כ-1 חלקי 1,000,000 של יחידת המטבע הראשית. לדוגמה, ציון של 19,950,000 יפורש כ-$19.95, בהנחה שציינתם את המטבע שלכם כדולר ארה"ב.

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

תרגומים ועיצוב הציון

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

בטבלאות מספריות, הפורמט של המספרים מוצג באופן שונה בכל שפה. (לדוגמה, 12,345.78 בארה"ב ו-12 345,78 בצרפת). אם אתם משתמשים ביחידות מותאמות אישית והוספתם תרגומים למשחק, אתם צריכים לספק יחידות מתורגמות לכל שפה שהוספתם. השירות יציג את היחידות המתורגמות האלה במקומות המתאימים.

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

בטבלאות המובילים של הזמן, פורמט הזמן מוצג בהתאם לשפה ולמיקום של השחקן. הדבר יהיה בולט בעיקר אם משתמשים בשבריר של שנייה או אם ערך השעות כולל יותר מ-3 ספרות (לדוגמה, 4,815:16:23.42 בארה"ב ו-4.815:16:23,42 בגרמניה).

בטבלאות המובילות של מטבע, פורמט המטבע יוצג בהתאם לשפה ולמיקום של השחקן. עם זאת, אי אפשר לשנות את יחידת המטבע. לדוגמה, אם המטבע שהגדרתם הוא דולר ארה"ב, המשחק יציג $19.95 בארה"ב ו-19,95 $ בצרפת. אבל אי אפשר לציין שהמשחק יציג דולרים בארה"ב ואירו בצרפת.

הנחיות לגבי סמלים

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

אותו סמל משמש בכל הלוקאלים, ולכן לא מומלץ לכלול טקסט או תוכן מותאם לשפה מסוימת בסמל.

יצירת לידרבורד

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

יצירת טבלת לידרבורד למשחק חדש

כדי ליצור טבלת הישגים למשחק חדש שלא פורסם, עוברים אל Google Play Console entry for your game (ערך ב-Google Play Console עבור המשחק שלכם), ואז אל Grow > Play Games Services > Setup and management > Leaderboards (פיתוח > שירותי Play Games > הגדרה וניהול > טבלאות הישגים), ולוחצים על הלחצן Create leaderboard (יצירת טבלת הישגים).

הלחצן 'הוספת לידרבורד' בחלונית הראשית של הלידרבורד
הלחצן 'הוספת לוח לידרבורד' בחלונית הראשית של לוחות הלידרבורד

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

טופס מלא של טבלת הבאז 'הסיבוב הכי טוב'.
טופס מלא של לוח הלידרבורד 'הסיבוב הטוב ביותר'.

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

יצירת לידרבורד למשחק שפורסם

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

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

עריכת לידרבורד

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

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

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

ביטול עריכה

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

מחיקת לידרבורד

אפשר למחוק לידרבורדים שנמצאים במצב 'טיוטה' או שכבר פורסמו. כדי למחוק לידרבורד ב-Google Play Console, עוברים לטופס של הלידרבורד ולוחצים על מחיקת הלידרבורד בחלק העליון של הטופס.

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

איפוס לידרבורד

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

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

הוספת תרגומים ללוחות לידרבורד

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

כדי להוסיף תרגומים משלכם לטבלאות המובילים, פותחים את הכרטיסייה טבלאות מובילים של המשחק ב-Google Play Console ובוחרים טבלת מובילים קיימת. בדף הפרטים של טבלת המובילים, לוחצים על הכרטיסייה של שפה שהוספתם קודם בכרטיסייה פרטי המשחק. בדף הפרטים של טבלת המובילים בשפה הזו, עורכים את הטופס עם התרגומים שלכם לטבלת המובילים. לוחצים על שמירה כדי לשמור את פרטי הטבלה.

הסתרת התוצאות בלידרבורד

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

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

  1. ב-Google Play Console, פותחים את הכרטיסייה Games services (שירותי משחקים) ובוחרים את המשחק מהרשימה.
  2. פותחים את הכרטיסייה טבלאות הישגים ובוחרים את מופע טבלת ההישגים שרוצים להפעיל עבורו הגנה מפני שיבוש.
  3. מעבירים את האפשרות הפעלת ההגנה מפני זיוף של הלידרבורד למצב מופעל.
  4. לוחצים על שמירה והמשך.
  5. מפרסמים את המשחק.

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

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

הטמעות בצד הלקוח

כדי ללמוד איך מטמיעים טבלאות הישגים בפלטפורמה שלכם, אפשר להיעזר במקורות המידע הבאים: