Разработка мобильной игры Merge
Merge-игры — гибрид idle и puzzle с уникальной механикой: два одинаковых объекта сливаются в один более высокого уровня. Жанр популярен из-за моментального дофаминового отклика от мержа и глубокой системы прогрессии.
Доска и механика слияния
Ключевой инвариант: каждая клетка доски содержит максимум один объект. Операция мержа — атомарная: убрать два источника, создать результат. Если анимация прерывается (тап на другой объект) — состояние не должно оказаться в невалидном виде.
Реализация через Grid<T> с nullable ячейками + Command Pattern:
MergeCommand:
sourceA: Vector2Int
sourceB: Vector2Int
result: ItemType
Execute() → удалить A и B, поставить result
Undo() → обратная операция
Анимация: объект B летит к A через DOTween transform.DOMove, в конце — Instantiate результата с scale punch эффектом. Важно: не удаляй объект B до завершения полёта, иначе получишь прыжок.
Генерация объектов и экономика доски
Переполненная доска — смерть для merge-игры. Нужна система генерации, которая балансирует заполненность: спавн только если свободных клеток > N. Объекты низкого уровня генерируются из «источников» (генераторов), которые сами являются объектами на доске — это стандарт жанра.
Цепочки мержа (уровень 1→2→3→...→20) должны быть выверены по времени. Слишком быстро — игрок доходит до максимума и теряет цель. Слишком медленно — бросает. Firebase Remote Config для тюнинга вероятностей спавна и скорости генераторов без апдейта.
Монетизация через дефицит пространства
Классика жанра: продажа дополнительных клеток доски, ускорение генераторов, специальные объекты за IAP. Rewarded video — за бесплатный спавн случайного объекта высокого уровня. Конверсия в rewarded высокая: игрок буквально видит, что получает.
Сроки: merge-игра с цепочкой из 15 уровней объектов, базовой монетизацией — 2–4 месяца.







