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

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

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

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

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

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

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

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

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

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

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

שימור וחזרות של משתמשים

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

דיוק ההתאמה ושיעור הפגיעות

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

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

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

שירותים מוכנים ומודל עצמאי

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

סכמות היברידיות וכללים בלי מודל

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

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

איך אנחנו מטמיעים: שישה שלבים של עבודה הנדסית

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

ביקורת והכנת נתונים

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

בדיקה בקבוצת ביקורת

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

מה נשאר אצל הצוות שלכם לאחר ההטמעה

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

סט תיעוד

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

נהלים ואחריות

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

מקרה בוחן: שימור ומעורבות לאחר בנייה מחדש של הלוגיקה

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

מה היה לפני

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

מה קרה אחר כך

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

ביחס לקבוצת הביקורת בתקופות דומות: החזרה ביום ה-7 גבוהה ב-18%, ביום ה-30 — ב-11%, אורך הסשן הממוצע גדול ב-14%, ושיעור המגיעים לסוף שרשרת ההדרכה עלה ברבע. תיקון הלוגיקה נבדק בתוך יממה, לא בתוך חודש.

״בעבר ניחשנו למה שחקן עוזב ביום השלישי. עכשיו רואים איזה מאפיין חוזה זאת״ — ראש תחום מוצר.

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

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

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

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

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

ספקות טכניים: עונים על שאלות נפוצות

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

כמה היסטוריית התנהגות צריך בהתחלה?

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

איך זה מתיישב עם פרטיות ונתונים אישיים?

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

מי אחראי לאיכות המודל?

אנחנו אחראים על קו העבודה: הכנת נתונים, אימון, מטריקות, ניטור סחיפה וחזרה לגרסה הקודמת. את הפרשנות של ההמלצה ואת כללי המשחק קובעת команда המוצר שלכם — המודל לא מקבל החלטות במקום העיצוב.

האם זה ישתלב במערך הטכנולוגי הנוכחי שלנו?

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

איך למדוד אפקט, ולא להאמין על המילה?

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

נדון במשימה: איך עובר האבחון הראשון

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

  • מוצר ומטרה. ז׳אנר, פלטפורמות, גודל הקהל הפעיל והמטריקה שצריך להזיז: שימור, אורך סשן, המרה לרכישה.
  • מה כבר עובד. לוגיקת ההתאמה הנוכחית, כללים והגדרות ידניות, בדיקות A/B שכבר נעשו — כדי לא להציע את מה שכבר נבדק.
  • נתונים. אילו אירועים נאספים (סשנים, קרבות, רכישות, התקדמות), כמה זמן נשמרת ההיסטוריה ואיך נפתרת סוגיית הסרת הזיהוי.
  • הרשאות ונתונים לאבחון. קריאה ממאגר אנליטי או ייצוא, סכמת טבלאות, דוגמת אירועים, גישה לסביבת בדיקות — מספיק מצב ״קריאה בלבד״.
  • מגבלות. דרישות לזמן התגובה של המודל, פרטיות והסכמות שחקנים, כללי הפלטפורמות.
  • צוות. מי אחראי מצד הלקוח, איך מתקבלים שינויים והאם יש תורנות לאחר ההשקה.

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