Mobile Simulator Development: Offline Progression, Physics, and Agents

We often get orders for mobile simulators – from farming timer games to full-scale physical simulations of transport or construction. They all share one thing: complex interconnected systems that must work in sync and provide a "living" world feel even when the app is closed. We develop such project

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
Mobile Simulator Development: Offline Progression, Physics, and Agents
Complex
from 2 weeks to 3 months

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    599

We often get orders for mobile simulators – from farming timer games to full-scale physical simulations of transport or construction. They all share one thing: complex interconnected systems that must work in sync and provide a "living" world feel even when the app is closed. We develop such projects turnkey: from concept to store release.

How to ensure offline progression without data loss?

The main technical feature of simulators is offline progression. The player returns after 8 hours, and events should have occurred: crops ripened, resources generated, production chains completed.

A naive approach: on app open, run a loop with deltaTime step and calculate everything from the last save. This works for simple systems. For complex interdependencies (resource A needed for B, B for C, and A may run out mid-period), you need discrete simulation with a fixed tick.

Follow these steps:

  1. Save lastTickTimestamp and game state each tick.
  2. On resume, compute missedTicks = (now - lastTick) / tickInterval.
  3. Run simulation for missedTicks steps with tickInterval (e.g., 1 minute). Each tick is deterministic: apply production, consumption, events.
  4. Limit maxOfflineTicks (e.g., 8 hours = 480 ticks); overflow is lost or accumulated in a buffer.
Method Complexity Performance Suitable for
Simple loop on open Low High Simple linear processes
Discrete simulation with ticks Medium Medium Interdependent chains
Hybrid (ticks + triggers) High Low Very complex event-driven systems

For games with market economy (prices change every 15 minutes) we use a hybrid approach: ticks for base production and separate events for external influences. This reduces CPU load by 30% compared to full simulation.

Physics in transport and construction simulators

For physical simulators (bus, crane, road construction) in Unity we use Configurable Joint for complex articulations + Rigidbody.AddForceAtPosition for physically correct control. Standard WheelCollider is good for basic car physics, but its limitations quickly appear for non-standard vehicles.

Important: physical simulators with many Rigidbody (30+) on scene require tuning Physics.simulationMode. Using SimulationMode.Script (manual call Physics.Simulate(fixedDeltaTime)) gives precise control over step order – critical when physics combines with game logic.

On Android, physics with Vulkan and ARMv8 is significantly faster due to NEON SIMD optimizations in PhysX – achieving up to 2x speedup over OpenGL ES 3.0. If targeting low-end Android with OpenGL ES 3.0, limit active rigidbody count via Sleep Threshold and Rigidbody.IsSleeping().

Parameter Vulkan / ARMv8 OpenGL ES 3.0 / ARMv7
Physics speed High (NEON SIMD) Medium (no NEON)
Max active Rigidbody 60+ 30
Recommended simulationMode Automatic or Script Script with manual control

Why agent-based model fits management simulators?

For tycoon simulators (restaurant, airport, hospital) – agent-based model. Each NPC is an autonomous agent with Behaviour Tree or Utility AI. Unity NavMesh Agent for movement, custom task system for actions (take order, deliver, clean).

For 50+ agents, switch to ECS-based agents via Unity DOTS: positions and states in NativeArray, path calculations via Job System. Unity DOTS – official package for ECS. DOTS agents are up to 5x faster than MonoBehaviour agents for 100+ NPCs. NavMesh Agents on DOTS are still in preview, but for 2D isometric simulators, custom tile navigation with A* Pathfinding Project (Aron Granberg's A* Pathfinding Project) gives 3x better performance.

Example: waiter behavior in restaurant simulator Agent: waiter. Behaviour Tree: - Take order (move to table, receive order) - Deliver order to kitchen (move to kitchen, pass order) - Pick up ready dishes (move to serving area, take tray) - Serve dishes to customers (move to table, give tray) - Clear dishes (move to table, take plates) Parallel: if free – take new order. If customer leaves without paying – call manager.

Saving complex state

Simulators with hundreds of objects and their states – hundreds of kilobytes of save data. Unity's JsonUtility can't handle complex object graphs. We use Newtonsoft.Json with custom converters or MemoryPack for binary serialization (5–10x faster for large volumes). Autosave via UniTask.Delay on background thread – serialize in Task.Run, write to disk in UniTask.SwitchToMainThread with minimal impact. Crash during write must not corrupt existing save – write to temp file, then atomic rename.

What's included

  • Concept document with architecture and metrics.
  • Prototype of key mechanics (offline simulation, physics, agents).
  • Full code with comments and README.
  • Build instructions (iOS/Android).
  • Post-release support – bug fixing, optimization, updates for new OS versions.

Timeline and cost

Development timeline: from 4 months for simple simulators to 15 months for complex projects with physics. Cost is calculated individually – contact us so we can assess your project within 2 days. Typical budgets start at $15,000 for a basic simulator, with proven results from 7+ years of experience and 15+ projects in stores.

We guarantee high-quality work and transparent communication. Reach out – we'll discuss your simulator details. Get a consultation for your project right now.