Mobile Game Development

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.
Showing 1 of 1 servicesAll 242 services
Mobile Game Development
Complex
from 1 week to 3 months
FAQ
Our competencies
What are the stages of Game Development?
Latest works
  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    663
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    859
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    533

Mobile Game Development

Mobile isn't "simplified PC game." Fundamentally different constraints: thermal throttling after 15 minutes on mid-range Android, 3-7 minute sessions on subway, touch controls instead of mouse, AppsFlyer instead of Steam Analytics. A game ported from PC without adaptation almost always fails.

Why mobile projects break technically

Thermal throttling — invisible wall

Snapdragon 778G maintains stable 60 FPS first 10 minutes. Then CPU/GPU overheat, system reduces frequency to 50-60% peak, game starts stuttering — no errors in logs. User doesn't understand why and just uninstalls.

Throttling test — mandatory QA: 30 minutes continuous gameplay monitoring CPU/GPU temperature via Android GPU Inspector or Snapdragon Profiler. If temperature exceeds 45°C — game overheats device.

Solutions: target FPS limiting (Application.targetFrameRate = 30 for casual games), adaptive performance via Unity Adaptive Performance package (supported by Samsung and others), aggressive batching and draw call reduction.

Memory management on iOS

iOS has no swap. When app exceeds memory budget (depends on model: 1.2 GB on old iPhone to 4+ GB on Pro), system kills it silently. ApplicationDidReceiveMemoryWarning — last chance to free resources.

Practice: subscribe to Application.lowMemory and immediately unload non-critical assets. Addressables.Release() for everything not needed right now. Texture2D.Compress() for dynamically created textures.

Memory profiling on iOS — only via Xcode Instruments → Memory Graph. Unity Profiler shows managed heap but not native memory and Metal GPU memory. Full picture — only from Xcode.

Android fragmentation specifics

4000+ Android device models in circulation. Vulkan available on Android 7.0+ and most modern GPUs, but implementations vary. OpenGL ES 3.0 — baseline for compatibility. Unity chooses API automatically based on PlayerSettings.Android.targetSdkVersion, but must test on real devices from multiple manufacturers.

Minimum test device set: Samsung mid-range (Android 12+), legacy Xiaomi/Redmi (Android 10, Mali GPU), modern Pixel (stock Android, reference), cheap budget phone (2 GB RAM, PowerVR or Adreno 610). Covers most problematic cases.

Mobile game architecture

Game loop for short sessions

3-7 minute session — not limitation, it's design pattern. Game should complete in one session or have correct exit points without progress loss. OnApplicationPause(true) — save point. OnApplicationFocus(false) — backup save.

Auto-save every N seconds via coroutine with yield. Not synchronously in OnApplicationPause — save can take multiple frames and app closes before completing.

Touch controls

Unity Input System with Touchscreen device. For swipes — separate GestureDetector on InputSystem with delta and time threshold. Not via legacy Input.GetTouch() — outdated API.

Touch target sizes: minimum 48×48dp (Google guidelines), optimal 56×56dp. On 360dp wide screen that's significant space percentage. Design UI with margin.

Multi-touch: explicitly specify max simultaneous touches via InputSystem. Default Unity limits 5 touches — usually sufficient but check for rhythm and fighting games.

Asset optimization

Textures: ASTC 6x6 for iOS (Metal), ETC2 for Android. Atlases via Sprite Atlas — critical for mobile UI. Meshes over 65k vertices — split (Unity uses 16-bit index buffer by default on mobile, can enable 32-bit optionally on 2021 LTS+).

Audio: PCM → Compressed to MP3 (Android) or AAC (iOS). Sample rate 22050 Hz sufficient for game sounds, only voice actors need 44100 Hz.

Mobile project stack

Backend: PlayFab (recommended) or Firebase. PlayFab — ready economy, leaderboards, matchmaking, A/B tests. Firebase — more flexible, cheaper at small scale, requires more custom development.

Analytics: Firebase Analytics — free, deep Google Ads and Play Store integration. AppsFlyer or Adjust for attribution (user source).

Monetization: Unity IAP + IronSource/AppLovin MAX for ads. Mediation increases eCPM by 20-40% vs. single network.

Push notifications: Firebase Cloud Messaging. Mandatory permission flow on Android 13+.

CI/CD: Unity Cloud Build + fastlane for iOS signing, GitHub Actions for Android. Automatic builds on develop push → TestFlight / Firebase App Distribution upload for testing.

Release and post-release

Soft launch (limited region) — mandatory before global for mobile. Lets validate retention metrics and monetization on real users without global risk.

Go/no-go decision metrics: D1 retention >40%, D7 >20%, D30 >10% — casual game benchmarks. ARPU, ARPPU, LTV — depend on genre.

Game Type Approximate Timeline
Hyper-casual 4-8 weeks
Casual with progression 2-4 months
Midcore (meta + PvP) 4-8 months
Midcore with guild/clan 6-12 months

Cost calculated after analyzing mechanics, backend requirements, and target platforms (iOS, Android, or both).