Ми розробляємо хардкорні мобільні ігри — найбільш технічно вимогливий сегмент мобільного геймінгу. Аудиторія знає, що таке input lag, вимагає чесного хітбоксу і помічає, коли анімація атаки на 2 фрейми довша. Розробка під таку аудиторію — постійний компроміс між консольною якістю та обмеженнями мобільного заліза. Зв'яжіться з нами, щоб обговорити ваш проект — ми допоможемо вибрати стек та оцінити обсяг робіт. Вартість розробки розраховується індивідуально після оцінки проекту і може варіюватися від 8 до 18 місяців роботи команди.
У чому головні складнощі розробки хардкорних мобільних ігор?
Головний ворог хардкору — затримка введення
На мобільних пристроях між дотиком до екрана і реакцією персонажа проходить мінімум 1–2 фрейми через стек обробки тач-подій в OS. Якщо гра працює на 60fps, це 16–33ms лише на рівні ОС. Додаємо час рендеру — і вже 50–70ms. Для action-ігор з parry-механікою або combo-системою це критично.
В Unity рішення — Input System Package з InputAction.performed замість застарілого Input.GetKeyDown. Згідно з документацією Unity Input System, підписка на performed у фіксованому Update (FixedUpdate) дає стабільність фізики, але збільшує затримку. Для action-ігор краще обробляти ввід в Update з буферизацією команд на 3–5 фреймів (Input Buffering). Це стандартна техніка з файтингів: команда «стрибок» залишається валідною, якщо натиснута за 3 фрейми до моменту, коли стрибок технічно можливий.
На Android додаткова проблема — GameActivity vs NativeActivity. Використання GameActivity з Android Game Development Kit знижує overhead обробки тача через JNI. Різниця на Snapdragon 8 Gen 2 — близько 2ms, але в хардкорі це відчутно. Замовте прототип кор-механіки, щоб протестувати керування на реальних пристроях.
Чому точні хітбокси критичні для геймплею?
Для хардкорних ігор з point-precise геймплеєм (платформери, soulslike, roguelite з парируванням) стандартний Unity Physics на основі PhysX не завжди підходить. PhysX використовує discrete collision detection за замовчуванням — при високих швидкостях тонкі об'єкти проходять крізь один одного (tunneling). Потрібен Continuous Collision Detection (CCD) на Rigidbody, або перехід на Unity Physics (DOTS) з детермінованими результатами.
Хітбокси — окрема тема. У хардкор-іграх хітбокс атаки повинен активуватися і деактивуватися в строго визначені фрейми анімації. Стандартний підхід — Animation Events в AnimationClip. Проблема: події спрацьовують в LateUpdate, після фізичного кроку. Якщо у вас кастомний Animator Controller з AvatarMask і кількома шарами, подія може зміститися на фрейм. Надійніше — кастомний Frame Data в ScriptableObject: [AttackStart: frame 4, AttackEnd: frame 11] і ручна перевірка animatorStateInfo.normalizedTime в FixedUpdate.
Як забезпечити 60fps на середньому Android?
Цільова платформа для хардкору — mid-range Android (Snapdragon 7s Gen 2, Dimensity 7020) та iPhone 13+. Бюджет кадру на 60fps — 16.6ms. Типовий розподіл:
| Система | Бюджет |
|---|---|
| CPU ігрової логіки | 3–4ms |
| Анімації (Animator + IK) | 2–3ms |
| Рендер (draw calls, culling) | 5–6ms |
| UI (Canvas rebuild) | 1–2ms |
| Запас / GC | 2ms |
Щоб триматися в бюджеті: URP (Universal Render Pipeline) замість Built-in, GPU Instancing для повторюваних мешів, Occlusion Culling для складних рівнів, Object Pooling для всього що спавниться — снаряди, ефекти, вороги. GC-паузи від Instantiate/Destroy в бою — найчастіша причина мікрофризів на середніх Android.
Для VFX — VFX Graph (працює на GPU) замість Particle System (CPU). Різниця на сцені з 500+ частинками — принципова. VFX Graph вимагає підтримки Compute Shader, що є на всіх пристроях з Vulkan/Metal підтримкою (Android 7+, iOS 12+).
Як досягти 60fps: покроковий план
- Виберіть URP в налаштуваннях проекту.
- Увімкніть GPU Instancing для статичних об'єктів.
- Налаштуйте Occlusion Culling.
- Реалізуйте Object Pooling для часто спавнящихся об'єктів.
- Замініть Particle System на VFX Graph.
- Профілюйте з Frame Debugger.
Порівняння підходів до візуалізації:
| Технологія | Навантаження на CPU | Якість | Сумісність |
|---|---|---|---|
| Particle System (CPU) | Висока | Середнє | Всі пристрої |
| VFX Graph (GPU) | Низька | Високе | Vulkan/Metal (Android 7+, iOS 12+) |
Приклад оптимізації: в одному проекті Particle System займала 8ms на CPU. Перехід на VFX Graph знизив навантаження до 2ms, звільнивши ресурси для анімацій та фізики. Економія часу та бюджету — результат грамотного вибору технології. Завдяки такій оптимізації ми можемо знизити бюджет проекту на 20–30% на етапі пост-продакшну.
Як реалізувати серверну валідацію в PvP?
Хардкор + PvP — обов'язково серверна авторитарність, інакше чіти неминучі. Архітектура: Server Authoritative з клієнтським передбаченням (Client-Side Prediction) та серверною корекцією (Server Reconciliation). Для реалізації: Photon Fusion в режимі Shared Mode для невеликих лобі (2–8 гравців) або Fish-Net для більшого контролю над серверною логікою.
Серверна частина на C# (Photon Cloud) або окремий game server на Go/Rust для мінімального latency. Детермінована фізика — обов'язкова умова для відтворюваності матчів та захисту від desync.
Що входить в розробку хардкорної гри під ключ
Ми пропонуємо повний цикл: від прототипу кор-механіки до публікації в сторах. В розробку входить:
- Прототипування та тестування core loop
- Реалізація геймплею з нульовим input lag та точними хітбоксами
- Оптимізація продуктивності під mid-range пристрої (60fps)
- Інтеграція серверної валідації для PvP (Photon Fusion/Fish-Net)
- Публікація в App Store та Google Play з дотриманням всіх гайдлайнів
- Технічна документація та підтримка після релізу
Наша команда має 10+ років досвіду в мобільному геймдеві та 30+ випущених проектів. Гарантуємо стабільну роботу та відповідність App Store Review Guidelines.
Скільки часу займає розробка?
Хардкор-проект з нуля — від 8 до 18 місяців. Прототип кор-механіки — 4–8 тижнів. Це перше, що потрібно зробити та протестувати: якщо core loop не «чіпляє» на рівні відчуттів на прототипі — фінальний продукт не врятує жодна кількість контенту.
Зв'яжіться з нами для оцінки вашого проекту та отримайте консультацію з вибору стеку технологій. Замовте прототип кор-механіки для тестування core loop.







