פיתוח ארקייד למובייל: ביצועים ומונטיזציה
ארקייד חי על 30 השניות הראשונות. אם השחקן לא מקבל את התחושה של "עוד פעם אחת" בחלון הזה, הוא עוזב ולעולם לא חוזר. אנחנו פותרים זאת טכנית: ספאון מיידי, טעינת נכסים אסינכרונית ללא מסכי טעינה, קלט רספונסיבי עם פיצוי חביון תת-פריים. כל אלפית שנייה של עיכוב מפחיתה את השימור ב-5–10%. אנחנו מעצבים את המשחק כך שאחרי המגע הראשון, לשחקן אין זמן לחשוב—רק להגיב. אנו משתמשים בחבילת Input System כדי לבטל עיכובים באנדרואיד ו-iOS. בתחילת הדרך, אנו מנתחים תרחישי משחק טיפוסיים ומזהים צווארי בקבוק—מ-GC Allocs ופיצול זיכרון ועד עומס GPU. רק אז אנו מתחילים באב-טיפוס. תשומת לב מיוחדת ניתנת לשני הרמות הראשונות—הן מלמדות את המכניקה ובונות הרגל. הניסיון שלנו: 5 שנים בפיתוח משחקי מובייל, 50+ פרויקטים ששוחררו עם למעלה מ-2 מיליון התקנות סה"כ ולמעלה מ-2 מיליון דולר בהכנסות מפרסומות עבור לקוחות.
הבטחת 60fps במכשירים תקציביים
משחק ארקייד דורש 60fps יציב. ירידה ל-45fps לשתי פריימים מרגישה כמו באג, לא כמו נורמה. ב-Unity, זה אומר:
- Object Pooling לכל מה שדינמי (קליעים, מטבעות, אויבים, אפקטים)—הפול יוצר מראש 20–50 אובייקטים ומשתמש בהם מחדש, ומונע GC Allocs ופיצול זיכרון. Object Pooling מקצר את זמן הפריים בחצי בהשוואה ליצירה דינמית.
- Static Batching לאלמנטים נייחים ברמה. אם הרמה פרוצדורלית, אנו ממזגים סטטיים במהלך טעינת הסצנה.
- Canvas יחיד ל-HUD במשחק עם
Canvas.renderMode = RenderMode.ScreenSpaceOverlay. יצירת Canvas מחדש בכל שינוי UI הורגת ביצועים דרך dirty rebuild. - אנו משתמשים ב-Unity Profiler עם Deep Profiling כדי לזהות נקודות חמות ולייעל נתיבי קוד תלויי CPU באמצעות Jobs System ו-Burst Compiler.
לקלט מגע—Input System Package עם EnhancedTouch.Enable() ו-Touch.activeTouches במקום Input.touches הישן. זה מסיר את העומס של JNI marshaling נוסף באנדרואיד. בפרויקט אחד, ראינו ירידות ב-Samsung Galaxy A50: שימוש ב-CPU זינק ב-12% בגלל Input.touches. לאחר המעבר ל-Input System, הבעיה נעלמה, וזמן הפריים ירד מ-18ms ל-14ms. כפי שצוין ב-התיעוד הרשמי של Unity, Input System היא הדרך המומלצת לטפל בקלט. עבור iOS, אנו גם משתמשים ב-IL2CPP כדי להפחית עומס ולשפר ביצועים.
בעיות טיפוסיות ופתרונות
| בעיה | סימפטום | פתרון |
|---|---|---|
| GC Spike בספאון אויב | הקפאה ל-100–200ms עקב הקצאת heap | Object Pooling + שחרור ידני דרך DestroyImmediate |
| עומס GPU בסצנות עם אפקטים | FPS יורד ל-20 | Particle System עם MaxParticles 200, השבתת Collision, שימוש ב-GPU instancing, קבוצות LOD, occlusion culling |
| חביון קלט באנדרואיד | תגובה לא מיידית | Input System + EnhancedTouch, הימנעות מעדכון EventSystem, שימוש בזיהוי שלב מגע |
שילוב פרסומות מבלי לאבד משתמשים
פרסומות הן מקור ההכנסה העיקרי בארקייד, אבל הצגתן בזמן הלא נכון הורגת שימור. פרסומות עם תגמול עובדות פי 3–4 טוב יותר מאינטרסטיציאליות אם הן מוצגות ברגע ההפסד. אינטרסטיציאליות—רק בין רמות, עם טיימר מינימלי של 30 שניות. אנו משתמשים ב-AppLovin MAX לתיווך—הוא בוחר אוטומטית את הרשת עם ה-eCPM הגבוה ביותר. בדיקות A/B של תזמון הצגה הן חובה: בפרויקט אחד, העברת פרסומות עם תגמול מתחילת הרמה למסך המוות הגדילה את ה-CTR מ-12% ל-38%.
| סוג פרסומת | מיקום | CTR טיפוסי |
|---|---|---|
| עם תגמול | אחרי מוות | 35–50% |
| אינטרסטיציאלית | בין רמות | 10–15% |
למה לוחות הישגים לבדם לא מספיקים לשימור
לוחות הישגים הם קו בסיס, אבל ויראליות מגיעה מקישור עמוק לניקוד ספציפי. כששחקן משתף שיא ברשתות חברתיות, הקישור צריך לפתוח את המשחק ישירות על מסך "נצח את הניקוד שלי". Firebase Dynamic Links יוצר קישור קצר עם תצוגה מקדימה של OG (ניקוד, אווטאר). ב-iOS—Universal Links, באנדרואיד—App Links. בלי זה, לוח ההישגים שלך הוא רק רשימת מספרים, לא כלי רכישה.
תהליך עבודה בפיתוח ארקייד
- אנליטיקה ואב-טיפוס—2–3 שבועות ($5,000–$10,000), יצירת ארקייד מינימלי עם מכניקה אחת. בדיקה על 10 משתמשים, בדיקת שימור Day1.
- עיצוב—עיצוב רמות, סאונד, טבלאות לוחות הישגים. שילוב Google Play Games Services ו-Game Center.
- יישום—מחזור מכניקה מלא, רינדור אופטימלי, הגדרת Input System, Object Pooling.
- מונטיזציה—פרסומות עם תגמול דרך AppLovin MAX ורכישות בתוך האפליקציה (StoreKit 2 / Billing 6). פרסומות עם תגמול מוצגות רק אחרי מוות—CTR 35–50% לעומת 10–15% בתפריטים.
- בדיקות—על 20+ מכשירים אמיתיים, בדיקת fps, צריכת סוללה, קריסות. שימוש ב-Unity Profiler עם Deep Profiling במכשירי אנדרואיד נמוכים.
- שחרור ותמיכה—פרסום ל-App Store ו-Google Play, ניטור דוחות קריסה.
מה כלול
אנו מספקים:
- קוד מקור של Unity עם הערות (C#)
- צינורות בנייה מוגדרים (iOS/Android)
- תיעוד על הגדרת פרסומות ולוחות הישגים
- גישה ל-Google Play Console ו-App Store Connect
- הדרכה לצוות הלקוח (1–3 שעות)
- אחריות ל-30 יום לתיקוני באגים קריטיים
- תמיכה שעתית אופציונלית ב-$120 לשעה לעבודה לאחר האחריות
דוגמה ל-Object Pooling
```csharp public class ObjectPool : MonoBehaviour { [SerializeField] private GameObject prefab; private Queuepublic GameObject Get() {
if (pool.Count == 0) return Instantiate(prefab);
var obj = pool.Dequeue();
obj.SetActive(true);
return obj;
}
public void Return(GameObject obj) {
obj.SetActive(false);
pool.Enqueue(obj);
}}
</details>
### Сроки и стоимость
Прототип — 2–3 недели, полноценная аркада с 5–7 механиками, leaderboards, монетизацией — 2–4 месяца. Стоимость рассчитывается индивидуально после оценки объёма – свяжитесь, чтобы получить точное коммерческое предложение. Получите консультацию по вашему проекту уже сегодня.
Мы гарантируем стабильные 60fps на устройствах среднего сегмента и соблюдение App Store Review Guidelines (Section 4.2/5.1). Закажите разработку аркады под ключ — оценим проект за 2 дня.







