Разработчик создал 7 idle-игр за 30 дней — и вот что рассказал о дизайне инкрементальных проектов
Инди-разработчик Aguier за месяц выпустил семь браузерных idle-игр на чистом JavaScript — каждая весит менее 30 КБ. В подробном разборе он делится выводами о том, что делает «простой кликер» по-настоящему затягивающим.
Idle-игры репутацию «тупых кликеров» не заслужили — за лаконичной оболочкой скрываются одни из самых продуманных игровых циклов в мобильном и браузерном гейминге.
30 дней, 7 игр, чистый JavaScript
Инди-разработчик, публикующийся под ником Aguier, задался вопросом: насколько маленькой может быть idle-игра, чтобы всё равно ощущаться завершённой? Спустя месяц у него было семь браузерных инкрементальных проектов — без единой внешней зависимости, без фреймворков, без движков. Самая крупная игра весит менее 30 КБ, самая компактная — 4 КБ.
Автор открыто признаёт, что использовал инструменты с AI-ассистенцией как при разработке игр, так и при написании статьи. Сам текст вышел на dev.to — популярной платформе для разработчиков — и представляет собой не столько репортаж, сколько методическое пособие по дизайну idle-игр. Давайте разберём ключевые тезисы.
Базовый цикл: клик → доход → апгрейд → повтор
Каждая idle-игра сводится к одному замкнутому циклу: игрок кликает, зарабатывает ресурс, покупает улучшение, которое ускоряет заработок, и повторяет. Вся магия — в том, как этот цикл «упакован».
Вот примерно как это выглядит в коде:
function gameLoop(dt) {
resources += rate * dt;
rate = baseRate * upgradeMultiplier;
if (resources >= nextUpgradeCost) {
showUpgradePrompt();
}
}
Четыре строки — и вся механика жанра на месте. Но разница между скучным кликером и игрой, от которой не оторваться, — в десятках решений вокруг этих строк.
Первый проект Aguier — AI Trainer Simulator — иллюстрирует это наглядно. Игрок кликает, чтобы «тренировать нейросеть», зарабатывает вычислительные мощности, покупает видеокарты, автоматизирует процесс. Математически это тот же самый «добыча золота», но тематическая обёртка меняет восприятие. Игроки взаимодействуют не с числами, а с нарративом вокруг чисел.
Три столпа дизайна
1. Осмысленные апгрейды
Не всякое улучшение одинаково полезно. Апгрейд, который просто увеличивает число на 10%, — это скучно. Апгрейд, который меняет способ игры, — вот что удерживает внимание.
В Idle Mine первые улучшения просто ускоряют кирку. Но пятое по счёту открывает автоматизированных дронов-добытчиков. Это не просто рост статистики — это смена фазы. Игрок переходит от активного кликинга к пассивному доходу, и игра буквально меняет характер.
Автор формулирует правило: каждая фаза должна занимать 3–5 минут активной игры. Слишком быстро — игрок выжжет контент. Слишком медленно — уйдёт.
2. Система «престижа»
Престиж — это сброс прогресса в обмен на постоянные бонусы. Это главный инструмент удержания в idle-играх. Без него игрок упирается в стену и закрывает вкладку. С ним — перезапускается добровольно, причём каждый новый забег ощутимо быстрее.
Ключевой принцип: престиж должен ощущаться как ускорение, а не как наказание. Если после сброса игрок не чувствует разницу в первые 30 секунд — система престижа не работает.
Aguier реализует это через множительную формулу на основе квадратного корня: ранние сбросы дают большой скачок мощности, последующие — всё меньше. Это создаёт естественную кривую сложности без явного «левел-дизайна».
3. Прогресс в оффлайне
Игрок закрыл вкладку. Вернулся через восемь часов. Что он видит?
Наивный ответ — дать полный доход за время отсутствия. Правильный ответ — дать сниженную ставку, которая всё равно ощущается наградой. Автор использует коэффициент 0,5 от нормальной скорости. Этого достаточно, чтобы закрытие вкладки ощущалось продуктивным, но недостаточно, чтобы активная игра потеряла смысл.
Игрок всегда должен чувствовать, что «здесь и сейчас» — лучше, чем «пришёл позже». Но отсутствие не должно ощущаться потерянным временем.
Пятиминутный тест
Каждая из семи игр должна была пройти один тест: способен ли новый игрок добраться до первого осмысленного решения за 5 минут?
Если нет — ранняя фаза слишком затянута. Idle-игры конкурируют с TikTok за внимание пользователя. Двадцати минут на «раскачку» нет. Есть 30 секунд на вопрос «это вообще интересно?» и, может быть, ещё четыре минуты на «ладно, что дальше?».
Рецепт всегда один: ускорить первый фазовый переход. Первая покупка — в пределах 60 секунд. Первая автоматизация — за 3 минуты. Первый престиж — за 10–15 минут.
Типичные ошибки
Автор выделяет несколько ловушек, в которые легко попасть:
-
Синдром таблицы. Когда игрок видит все числа сразу — тайна исчезает. Хорошие idle-игры раскрывают информацию постепенно. Показывайте ближайшие 2–3 апгрейда, а не все 20.
-
Линейное масштабирование. Если стоимость улучшений растёт линейно, наступает «мёртвая зона», где прогресс ощущается ледниково медленным. Экспоненциальная кривая (автор предпочитает коэффициент 1,15 за уровень) сохраняет ощущение каждого заработанного апгрейда.
-
Отсутствие цели. Idle-игры без системы престижа или конечной точки теряют игроков после первой сессии. Даже простое достижение «набрать 1 000 000» даёт направление.
Философия нулевых зависимостей
Все семь проектов написаны на ванильном JavaScript. Никакого React, Phaser, Unity или другого движка. Причина — не технофобия, а прагматизм.
Браузерные игры живут и умирают скоростью загрузки. Игра весом 4 КБ загружается раньше, чем палец игрока отпустит кнопку мыши. Игра на 400 КБ показывает прогресс-бар, а прогресс-бары — это то место, где внимание пользователя умирает.
Кроме того, ограничение без фреймворков дисциплинирует. Когда невозможно спрятаться за абстракциями движка, каждая функция должна оправдывать свой вес в байтах. Результат — более компактные и сфокусированные игры.
Что это значит на практике
Aguier продаёт свои игры на itch.io (четыре из семи — условно-бесплатные, остальные — платные), и на момент публикации проводит августовскую распродажу со скидкой 45%. Но коммерческий успех здесь, похоже, вторичен — главная ценность эксперимента в методологии.
Для начинающих разработчиков этот опыт — наглядное подтверждение того, что не нужен ни мощный движок, ни большая команда, ни месяцы разработки, чтобы создать игру с работающим геймдизайном. Ограничения (30 КБ, ноль зависимостей, 30 дней) оказались не препятствием, а инструментом, который заставляет принимать более чёткие дизайнерские решения.
Для опытных геймдизайнеров тезисы о фазовых переходах, балансе оффлайн-прогресса и пятиминутном тесте не новы — но редко кто формулирует их настолько компактно и с привязкой к конкретному коду.
Главный вывод из этого эксперимента, пожалуй, такой: жанр idle-игр — это не про «бессмысленный кликинг», а про искусство управления вниманием через математически выверенные циклы. И для того, чтобы это продемонстрировать, оказалось достаточно чистого JavaScript и месяца работы.