Разработка игр

Мобильные игры

Мобильный gaming - это $90B рынок, больше консолей и PC вместе взятых. Clash of Clans зарабатывает $5M в день. Genshin Impact - $1.8B за первый год. И всё это на устройствах с 4GB RAM, 2W тепловым пакетом и сенсорным экраном вместо контроллера. Разработка мобильных игр - это баланс между производительностью, UX и монетизацией на каждом шагу.

  • **Clash Royale** использует adaptive качество: на старых iPhone графика автоматически снижается до Medium, на iPhone 15 Pro - Ultra. Одна кодовая база, разный опыт
  • **PUBG Mobile** добавил Thermal State detection: при перегреве снижает draw distance и particle count, показывая пользователю уведомление 'устройство нагрелось'
  • **Candy Crush Saga** зарабатывает $1B+/год через rewarded ads и IAP, оставаясь бесплатной: 70% дохода - от 0.5% аудитории (whales)
  • **Monument Valley** - premium модель: $3.99 upfront, 10M+ загрузок, минимальная поддержка - доказательство что premium может работать с правильным продуктом

Touch Input и мобильные контролы

**Mobile touch input принципиально отличается от мыши.** Нет hover state. Нет right-click. Нет точного курсора - палец шириной ~7mm закрывает кнопку. Мультитач требует отслеживания каждого касания по fingerId. Жесты (swipe, pinch, long press) нужно строить поверх raw touch events - либо самостоятельно, либо через gesture recognizer.

Hit target size: Apple HIG рекомендует минимум 44×44pt для touch targets. Google Material Design - 48×48dp. Маленькие кнопки = промахи = негативные отзывы. Лучшая практика: visible элемент может быть 32×32, но invisible hit area вокруг него - 48×48. В Unity реализуется через EventTrigger с oversized collider.

Игрок жалуется, что кнопка '!' не нажимается с первого раза. Кнопка 32×32 пикселя. Как исправить без изменения дизайна?

Управление потреблением батареи

**Мобильная игра, разряжающая батарею за час** - игра, которую удалят. Основные потребители: GPU (рендеринг), CPU (логика, физика), экран (яркость), сеть (Wi-Fi, 4G). Базовый принцип: не делать лишнюю работу. Если ничего не происходит (меню, пауза) - снизить FPS до 30 или даже 10.

Adaptive Performance (Unity) и Adaptive Resolution (Unreal) автоматически снижают качество при падении FPS или перегреве. Samsung Adaptive Performance SDK позволяет читать температуру CPU/GPU и thermal headroom напрямую. При thermal throttling лучше самому снизить качество контролированно, чем ждать пока OS снизит частоту процессора непредсказуемо.

Бенчмарк показывает: рендеринг при 60fps потребляет 2.1W, при 30fps - 1.4W. Игровая сессия длится 30 минут. Стоит ли переключать игру на 30fps?

Thermal Throttling и перегрев

**Thermal throttling** - механизм защиты: когда температура чипа превышает порог (~85°C), OS снижает тактовую частоту CPU/GPU в 2-4 раза. Игра при этом замедляется непредсказуемо - пользователь чувствует рывки и лаги. iPhone 12 в металлическом корпусе перегревается быстрее iPhone SE в пластиковом. Нагрузочное тестирование обязательно проводить в thermal soak условиях (30 минут непрерывной игры).

Heat dissipation design: iPhone 15 Pro использует titanium frame частично для теплоотвода. Некоторые Android геймерские телефоны (ASUS ROG Phone, Black Shark) имеют активные cooling fans. Для разработчиков это означает: одна и та же игра может throttle на iPhone 12 и не throttle на iPhone 15 Pro из-за разной thermal capacicity корпуса.

Игра работает отлично первые 10 минут, затем FPS падает с 60 до 30-35 без изменений в геймплее. В чём причина?

Монетизация и Game Economy

**Топ мобильных игр зарабатывают $1-5M в день** через in-app purchases, не через upfront payment. Средний платящий пользователь (whale) тратит $100-500/месяц и обеспечивает 80% дохода при составляя 5% аудитории. Это требует продуманной game economy: сложно заработать currency без денег, но при этом нельзя делать игру pay-to-win настолько явно, чтобы это вызывало отторжение.

Apple и Google берут 30% commission с IAP. С 2021 Apple снизил до 15% для разработчиков с годовым доходом < $1M. App Store требует использовать StoreKit API для IAP - обход через внешние ссылки запрещён. Google Play аналогично через Play Billing Library. Unity IAP package инкапсулирует оба SDK через единый API.

Pay-to-win монетизация максимизирует доход мобильной игры

Pay-to-win может дать краткосрочный всплеск, но разрушает долгосрочный retention. Clash Royale, Genshin Impact - миллиарды долларов без прямой продажи победы

Платящие пользователи (whales) хотят статус и прогресс, а не просто победу. Если free players уходят из-за p2w - whales теряют аудиторию для демонстрации статуса. Сбалансированная экономика удерживает обе группы

Мобильная игра имеет 1M MAU, ARPU $1.20, conversion rate 3%. Какой ARPPU?

Ключевые идеи

  • **Touch Input:** hit area минимум 44-48dp, мультитач через fingerId, gesture recognizer строить поверх raw events
  • **Battery:** адаптивный FPS (меню 30fps, gameplay 60fps); Screen Percentage снижает GPU load без заметного ухудшения качества
  • **Thermal Throttling:** 10-30 минут до throttling на большинстве устройств; читать thermal state API и снижать качество контролированно
  • **Монетизация:** ARPPU = ARPU / conversion rate; лучшие F2P монетизируют cosmetics/convenience, не победу; Apple/Google берут 30% IAP

Связанные темы

Мобильная разработка требует специфических знаний из нескольких областей:

  • Производительность: GPU и CPU — Мобильные GPU (Apple A-series, Mali, Adreno) имеют tile-based rendering - batch и culling стратегии отличаются от desktop
  • Memory Management в играх — iOS OOM kill происходит без предупреждения при превышении ~1.5GB - memory budgets на мобильных жёстче, чем на консолях
  • Game Pipeline и CI/CD — Мобильный CI включает автоматическое тестирование на физических устройствах, thermal soak тесты и submission в App Store/Google Play

Вопросы для размышления

  • Tile-based rendering (Apple A-series, ARM Mali) принципиально отличается от immediate mode rendering (NVIDIA, AMD). Как это влияет на оптимизацию мобильных шейдеров, и почему overdraw критичнее на мобильных GPU?
  • Genshin Impact одновременно является top-grossing мобильной игрой и console/PC игрой с общим прогрессом. Как cross-platform монетизация влияет на game economy design, если на PC можно использовать block-list для IAP давления?
  • Apple SKAdNetwork ограничивает attribution данные для приватности пользователей: разработчики видят aggregate метрики с задержкой 24-72 часа. Как это меняет подход к UA (User Acquisition) оптимизации?

Связанные уроки

  • la-01-vectors-intro
Мобильные игры

0

1

Войти