Розробка мобільної гри Idle/Clicker
Idle-ігри технічно простіше більшості жанрів, але монетизуються краще за багатьох — якщо правильно настроєна крива прогресії. Тут виграє математика, а не графіка.
Великі числа: робота з Decimal та BigInteger
Idle-ігри використовують числа, які не вмішуються в double. Через 10 годин гри у гравця може бути 1.23e+150 монет. double дає точність 15–17 значущих цифр, після чого додавання малої суми до гігантської просто ігнорується — гравець перестає бачити приріст від слабких генераторів.
Рішення: користувацький BigDecimal або готова бібліотека BreakInfinity.cs (спеціально створена для idle-ігор, працює в Unity, у 10 разів швидше за стандартний BigInteger). Форматування: 1.23e+12 → «1.23T» або «1.23 трильйона» — користувацький formatter зі словником суфіксів.
Offline-прогрес та чесність
Розраховувати offline-прибутки при наступному відкритті гри — стандарт. Важлива нюанс: обмежуйте offline-період (наприклад, максимум 8 годин), інакше гравець може «накопити» 30 днів та миттєво пройти весь контент. Премиум-пропозиція «збільшити offline-ліміт до 16 годин» — популярний IAP у жанрі.
Збереження: поточні ресурси + timestamp останнього закриття + версія балансу. При завантаженні: offlineSeconds = min(now - lastClose, maxOfflineSeconds). Потім earned = productionPerSecond * offlineSeconds. Виробництво на секунду кешується та перелічується лише при покупці апгрейду, не кожен тик.
Сповіщення як інструмент retention
FCM scheduled notifications: «Твої генератори заповнені, забери ресурси!». На Android — AlarmManager через Unity plugin для точних таймерів. На iOS — UNNotificationRequest з UNTimeIntervalNotificationTrigger. Не відправляй сповіщення раніше ніж через 2 години після закриття додатку — інакше дратує.
Графік: базовий idle/clicker з 20 апгрейдами, offline-прогресом та монетизацією — 6–10 тижнів. З сезонними ивентами та розширеною прокачкою — 3–4 місяці.







