Разработка мобильных игр: оптимизация под iOS и Android

Наша компания по разработке видеоигр ведет независимые проекты, совместно с клиентом создает игры и оказывает дополнительные операционные услуги. Опыт нашей команды позволяет нам охватить все игровые платформы и разработать потрясающий продукт, соответствующий видению клиента и предпочтениям игроков.

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Разработка мобильных игр: оптимизация под iOS и Android
Сложный
от 1 недели до 3 месяцев
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1457
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    979
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    605
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    674
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    29

Падение проекта на iPhone 11 после 10 секунд геймплея — знакомая проблема. Загрузка текстур под 800 MB — не редкость, а тепловой троттлинг превращает первый уровень в слайд-шоу. Мы предлагаем разработку мобильных игр под ключ с фокусом на производительность. Более 5 лет в геймдеве, сертификация Unity и Unreal Engine, сотня оптимизированных проектов. Выбор игрового движка — Unity или Unreal — определяет дальнейшую оптимизацию. Оптимизация мобильной игры под разные платформы — ключевая задача. Гарантируем стабильные 60 FPS на устройствах от бюджетных до флагманских. Свяжитесь с нами для оценки вашего проекта.

Почему мобильные игры разваливаются технически?

Тепловой троттлинг — невидимая стена

Snapdragon 778G держит стабильные 60 FPS первые 10 минут. Потом CPU/GPU перегреваются, система снижает частоту до 50–60% от пика. Пользователь не понимает причину и удаляет игру. Тест на троттлинг — обязательная часть QA: 30 минут геймплея с мониторингом через Android GPU Inspector или Snapdragon Profiler. Если температура превышает 45°C — игра перегревает устройство. На Samsung Galaxy A52 после 15 минут температура поднимается до 47°C — мы экономим батарею автоматическим снижением детализации. Решения: ограничение целевого FPS (Application.targetFrameRate = 30), Adaptive Performance (поддерживается Samsung), агрессивный батчинг. Использование Adaptive Performance снижает количество троттлинговых событий в 2 раза по сравнению с обычной реализацией.

Memory management на iOS

На iOS нет свопа. Когда приложение превышает бюджет (от 1.2 ГБ на старых iPhone до 4+ ГБ на Pro), система убивает его без предупреждения. Каждая iOS игра должна проходить тестирование в Xcode Instruments. Подписываемся на Application.lowMemory и немедленно выгружаем некритичные ассеты. Addressables.Release() для всего, что не нужно прямо сейчас. Профилирование — только через Xcode Instruments (Memory Graph).

Специфика фрагментации Android

4000+ моделей Android в обращении. Минимальный набор тестовых устройств: Samsung mid-range (Android 12+), устаревший Xiaomi (Android 10, Mali), современный Pixel, бюджетник с 2 ГБ RAM. Vulkan доступен с Android 7.0+, но реализации различаются.

Как мобильный game loop адаптирован под короткие сессии?

Сессия 3–7 минут — дизайн-паттерн. Игра должна завершаться за одну сессию или корректно сохранять прогресс. OnApplicationPause(true) — точка сохранения. Автосохранение каждые N секунд через coroutine с yield. Не используйте синхронный save в OnApplicationPause.

Что входит в работу по разработке игры?

Мы предоставляем полный цикл: аналитика → проектирование → прототип → реализация → QA → публикация. Включаем обучение вашей команды, документацию, доступы к репозиторию и послерелизную поддержку. Оптимизация может сократить затраты на инфраструктуру на 20–40%. Закажите консультацию — мы подготовим оценку. Получите бесплатный аудит производительности вашей игры — мы покажем, какие узкие места можно устранить.

Touch controls

Unity Input System с Touchscreen device. Для свайпов — GestureDetector на InputSystem с threshold. Размеры touch targets: минимум 48×48 dp (Google guidelines), оптимум 56×56 dp. Multi-touch: явно указываем максимальное количество касаний. Обработка жестов — через InputSystem.onEvent.

Оптимизация ассетов

Текстуры: ASTC 6×6 для iOS (Metal), ETC2 для Android. Атласы через Sprite Atlas. Меши больше 65k вершин — разбиваем (Unity использует 16-bit index buffer по умолчанию на мобайле, можно включить 32-bit). Аудио: PCM → MP3 (Android) или AAC (iOS). Частота 22050 Гц достаточна для большинства sound effects. Добавляем MIP maps для всех 3D-текстур — иначе драйвер генерирует ближайшую, снижая качество. Использование Addressables вместо прямых ссылок снижает пиковое потребление памяти на 30%.

Как мы добиваемся стабильных 60 FPS: пошаговый процесс

  1. Профилирование: Frame Debugger, Unity Profiler, Instruments, Android GPU Inspector.
  2. Оптимизация: SRP batcher, static batching, LOD, occlusion culling.
  3. Тест на троттлинг: 30 минут на 3+ устройствах.
  4. Снижение draw calls до 100–150 на кадр.
  5. Проверка памяти: исключаем утечки через Memory Profiler.
Платформа Особенности оптимизации
iOS Memory budget, Metal, ASTC, Touch ID, Game Center
Android Vulkan/GLES, фрагментация, Adaptive Performance, 4000+ моделей

Стек мобильного проекта

Бэкенд: PlayFab (рекомендуем) или Firebase. Аналитика: Firebase Analytics + AppsFlyer для attribution. Монетизация: Unity IAP + IronSource/AppLovin MAX (медиация повышает eCPM на 20–40%). Push: Firebase Cloud Messaging. CI/CD: Unity Cloud Build + fastlane (iOS) + GitHub Actions (Android).

Релиз и после релиза

Soft launch (ограниченный регион) обязателен. Метрики для go/no-go: D1 retention >40%, D7 >20%, D30 >10%. Стоимость рассчитывается индивидуально после анализа механик. Закажите консультацию — мы подготовим оценку.

Тип игры Ориентировочные сроки
Гипер-казуальная 4–8 недель
Казуальная с прогрессией 2–4 месяца
Мидкор (мета + PvP) 4–8 месяцев
Мидкор с guild/clan 6–12 месяцев
Типичные ошибки при загрузке ассетов - Загрузка всех текстур сразу (нужно Addressables с чанками). - Неиспользование MIP map (драйвер генерирует ближайшую, снижая качество). - Отсутствие асинхронной загрузки для UI. - Синхронная загрузка на главном потоке вызывает stutter.

Проектирование механик: с чего начинается отзывчивое управление

Прежде чем говорить о геймдизайне, зафиксируем разграничение: геймдизайн — это не «придумать идею». Придумать может любой. Задача — спроектировать систему правил, которая производит конкретный эмоциональный и поведенческий результат. Это инженерная дисциплина, только вместо компилятора — человеческий мозг.

Первая боль: вам кажется, что управление «дубовое», а почему — непонятно. Чаще всего проблема не в коде, а в отсутствии coyote time и jump buffering. Или в линейном ускорении, которое не даёт ощущения веса. Мы это чиним на этапе прототипа.

Какие услуги геймдизайна мы предлагаем

Полный цикл: от концепта до выверенного билда. Под ключ — вы получаете геймдизайн-документ (GDD), таблицы баланса, прототип ключевых механик на Unity/Unreal, и сопровождение вплоть до релиза.

Что входит в работу:

  • Документация: GDD, спецификации механик, нарративные деревья, API для разработчиков
  • Таблицы баланса: прогрессия, экономика, DPS-калькуляторы
  • Прототипы: интерактивные сцены с core loop (движение, бой, инвентарь)
  • Конфигурация в движке: ScriptableObject, DataTable, анимационные событий
  • Проведение плейтестов и итераций по метрикам (удержание, монетизация, retention)

Оцените ваш проект — свяжитесь для расчёта сроков. Подход основан на методологии MDA и опыте 50+ реализованных проектов с 2012 года.

Как проектировать боевую систему: глубокий разбор

Боевая система — самая дорогая ошибка: на первый взгляд простая, на деле — ад из edge cases. Разберём melee combat.

1. Выбор метода hit detection

Hitbox — коллайдеры на оружии. Просто, но при быстрых атаках возникает tunneling: оружие пролетает сквозь противника за кадр. Решение — Physics.CCD (Continuous Collision Detection), но это дорого. Raycast/spherecast — кастуем лучи вдоль траектории оружия. Точнее, меньше зависит от fps. Мы предпочитаем spherecast для action-игр. Подробнее о методах — в Wikipedia.

2. Настройка окон атаки

Каждая атака — три фазы: Startup, Active, Recovery. Длинный startup создаёт «тяжёлые» удары. Короткий recovery даёт агрессивный стиль. В Unity аниматор кидает событие через AnimationEvent, код включает/выключает hitbox. Типичные тайминги для рукопашного боя: startup 200–400 мс, active 100–150 мс, recovery 300–500 мс.

3. Построение state machine

Персонаж — конечный автомат. Базовые состояния: Idle, Moving, Jumping, Attacking, Hurt, Dead. Бизнес-логику выносим в C#-код, аниматор отвечает только за переходы анимаций. Иерархические state machine (через Override Animator Controller) позволяют вложенные подсостояния, не дублируя переходы.

Почему математическая модель экономики критична?

Экономику «на глаз» не делают — получается развал через месяц после релиза. Базовая прогрессия: линейная (скучно), экспоненциальная (XP(n) = base * multiplier^n, multiplier 1.5–2.0), полиномиальная (a * n^b, b 1.5–2.5). Мы строим таблицы в Google Sheets за 2–3 дня, проверяя, сколько часов игрок потратит на каждый уровень.

Потоки валют

Принцип: каждая валюта — явный источник (tap) и сток (sink). Пример двухвалютной системы:

Мягкая валюта (золото) Твёрдая валюта (кристаллы)
Источник Квесты, враги, ежедневные награды Покупка, редкие достижения
Сток Расходники, улучшения, здания Пропуск времени, редкие предметы
Конвертация → кристаллы: нет → золото: да (однонаправленно)

Однонаправленная конвертация защищает монетизацию. Дисбаланс легко обнаружить по DPS и TTK: если TTK оружия вдвое ниже остальных — оно становится meta. Мы выявляем это на этапе прототипа, сокращая последующие правки на 40%.

Нарратив и левел-дизайн: как обучать без текста

Environmental storytelling — расположение объектов, звуков, следов — часто эффективнее диалогов. Для диалогов используем Ink (интеграция с Unity). Ink-скрипты читает нарративный дизайнер без программиста. Каждый уровень проверяем по принципу: игрок должен понять механику действием, а не по подсказке.

Инструменты в процессе

Задача Инструмент
GDD Notion, Confluence
Баланс Google Sheets (формулы, сводные)
Прототипы Unity 2022 LTS, Godot 4
State machine Miro, draw.io
Нарратив Ink, Twine
Конфиги ScriptableObject (Unity)
Аналитика Firebase, GameAnalytics

Итерация и плейтестинг: 2-недельный цикл

Первый прототип всегда неудобен — это норма. Наш цикл: плейтест каждые 2 недели. После — список изменений с числами: «startup 400 мс → 250 мс». Мнения без цифр не принимаются. Фиксируем ощущения, меняем цифры, повторяем.

Свяжитесь для консультации — мы оценим сроки и бюджет вашего проекта. Наши заказчики экономят от 2 до 3 недель на итерациях за счёт чёткого процесса.