הטמעת ג'ויסטיק וירטואלי למשחק מובייל כפתרון מלא

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

פיתוח ותמיכה בכל סוגי היישומים הניידים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
הטמעת ג'ויסטיק וירטואלי למשחק מובייל כפתרון מלא
פשוט
מ- 1 יום עד 3 ימים

הכישורים שלנו:

שאלות נפוצות

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

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

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

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

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

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

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

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

מה נותנת שליטה מעובדת מחדש: היענות, דיוק, צפיות

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

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

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

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

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

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

אפשרויות מימוש שליטה: השוואת גישות ומגבלות

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

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

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

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

שלבי העבודה: מניתוח המכניקה ועד מסירת הפרויקט

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

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

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

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

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

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

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

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

מה נשאר בפרויקט: קוד, הגדרות, תיעוד ותקנונים

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

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

ניתוח פרויקט: כיצד נפתרה בעיית אובדן הנגיעות בסצנה דינמית

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

מה הראו המדידות

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

מדד לפני אחרי
שיעור הנגיעות האבודות בקרב 7–9% 0,3%
קרבות עם שליטה שנשברה כל שמיני אחד משבעים
פניות על "ג'ויסטיק נעלם" כחמישית בודדות

מה שינו

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

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

במה שונה ג'ויסטיק וירטואלי מכפתורים על המסך?

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

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

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

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

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

ספקות טכניים: קצוות המסך, נגיעות ומכשירים ישנים

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

הג'ויסטיק נמצא בקצה המסך — מחוות מערכתיות חוטפות אותו?

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

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

צריך תנועה, התקפה וכוונת בו-זמנית — השליטה תעמוד בזה?

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

טאבלטים ויחסי גובה-רוחב לא סטנדרטיים שוברים את הפריסה?

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

במכשירים ישנים השליטה תישאר היענית?

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

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

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

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

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