Mobile Merge Game Development
Merge games are hybrid idle/puzzle with unique mechanic: two identical objects merge into one higher level. Genre popular due to instant dopamine response from merge and deep progression system.
Board and merge mechanic
Key invariant: each board cell contains maximum one object. Merge operation is atomic: remove two sources, create result. If animation interrupted (tap on other object), state mustn't become invalid.
Implementation via Grid<T> with nullable cells + Command Pattern:
MergeCommand:
sourceA: Vector2Int
sourceB: Vector2Int
result: ItemType
Execute() → remove A and B, place result
Undo() → reverse operation
Animation: object B flies to A via DOTween transform.DOMove, at end Instantiate result with scale punch effect. Important: don't delete object B until flight completes, otherwise you get a jump.
Object generation and board economy
Overcrowded board is merge game death. Need generation system balancing fullness: spawn only if free cells > N. Low-level objects spawn from "sources" (generators) which are themselves board objects—genre standard.
Merge chains (level 1→2→3→...→20) must be time-balanced. Too fast—player reaches max and loses purpose. Too slow—quits. Firebase Remote Config for tuning spawn probabilities and generator speed without update.
Monetization through space scarcity
Genre classic: selling additional board cells, accelerating generators, special objects for IAP. Rewarded video for free spawn of random high-level object. Conversion to rewarded high: player literally sees what they get.
Timeline: merge game with 15-level object chain, basic monetization—2–4 months.







