Vapih Games · Game Design Document · v1.0

Merge Downhill

Stand at the top of a massive ramp, drop objects down it, watch them smash through everything — and merge them into bigger and bigger objects until you're rolling entire buildings down a mountain.

Platform
Roblox
Genre
Physics Merge Sim
Target
10,000+ CCU
Status
Pre-production
Elevation profile — the entire game in one line 800 → 4,000 studs
FARM SUBURBIA VILLAGE FOREST CITY PEBBLE HAMMER ANVIL PIANO METEOR ×1 ×12 ×180 ×3,000 ×50,000

Object mass grows 130,000× from tier 1→25. World multiplier grows 50,000×. Every world is a re-skin of one mechanic — drop, roll, smash, merge — at a larger scale.

📋
01

Executive Summary

What the game is, and why this specific combination works on Roblox.

Why this works

The game combines three mechanics that are individually proven top-100 performers.

MechanicProven byWhy it works
Physics destructionDestruction Simulator, A Dusty TripInstant dopamine, screenshot-able, no skill floor
Merge progressionMerge sims, Pet Sim lineClear next goal at all times, grasped visually
Idle / AFK incomeThe tycoon genreRetains players who can't play actively; extends sessions
The differentiator

The ramp itself. Almost no merge game has a physical, watchable payoff. Every player action produces a 5–15 second cinematic of destruction. That is the retention hook and the TikTok hook simultaneously.

Audience

  • Primary: 9–15, mobile-first — Roblox mobile is ~70% of DAU.
  • Secondary: 16–24, the "satisfying content" / cozy destruction audience.
  • Region: Global English, fully localized. Low-text game = cheap localization.

Non-goals (v1)

  • No combat or PvP
  • No building or placement mechanics
  • No open world — the ramp is the world
  • No complex crafting trees
🔄
02

Core Loop

Four nested loops, from three seconds to eight hours.

STEP 1
🎯
Drop
Release an object at the launch line
STEP 2
🏔️
Roll
Physics takes over, it accelerates down
STEP 3
💥
Smash
Obstacles break, combo builds, cash accrues
STEP 4
🔗
Merge
Two same-tier objects fuse into the next tier
LoopDurationPurpose
Micro3–8 secDrop → roll → cash. Must feel instant.
Small30–90 secEnough cash to buy or merge the next object
Medium15–40 minComplete a world, unlock the next ramp
Macro3–8 hrsRebirth
🚨
Critical rule

The player must never wait more than 8 seconds between doing something and being rewarded. Auto-Drop reduces this to near zero — that's exactly why it sells.

⛷️
03

The Ramp

The central mechanic and the only piece of geometry that matters.

Physical structure

PropertyWorld 1World 5
Length800 studs4,000 studs
Width60 studs140 studs
Average slope18°18°

Slope varies along the length — flat sections, steep drops, curves, and jumps. Player is locked to a platform at the top; camera follows the object or stays put (player's choice).

The drop — 3 parameters

  1. Lane — left, center, or right, each with different obstacle density
  2. Launch force — from an upgrade, adds initial velocity
  3. Angle — unlocked in World 3, adds a light skill layer

The roll

A run ends when the object stops (velocity below threshold for 1.5s), reaches the bottom collection zone (best case, bonus multiplier), or hits a 20-second hard timeout.

The payoff

┌──────────────────────────────┐ │ DISTANCE 1,204 studs │ │ SMASHED 38 objects │ │ COMBO ×4.2 │ │ ──────────────────────── │ │ EARNED $12,470 │ └──────────────────────────────┘

Numbers count up with sound. This is load-bearing game feel — do not ship it flat.

🪨
04

Object Tiers

25 tiers from pebble to meteor. Bigger = heavier, faster, richer.

TierObjectMassScaleValueMergeWorld
01Pebble1$11
05Bucket15$802×T41
10Barrel230$19K2×T92
15Refrigerator2,100$4.5M2×T143
20Car16,000$1.1B2×T194
25Meteor130,000$260B2×T245
⚖️
Balance note

Value scales ×3.0 per tier, merge cost is 2× previous. Creates a permanent ~50% gain per merge — always feels worth it, curve never breaks.

Variants

Every tier can roll a variant on purchase — the collection layer and main long-tail retention driver.

VariantChanceMultiplierVisual
Normal78%×1.0Standard
Bronze15%×1.5Bronze tint, light particles
Gold5%×3.0Gold shader, sparkles
Diamond1.5%×8.0Crystal, refractive, trail
Void0.4%×25Black + purple rim, distortion
Rainbow0.1%×100Animated hue cycle, screen shake

Merge rule: same-variant preserves it; mixed yields the lower. Creates real decision-making.

Announcement: Void/Rainbow drops trigger server-wide chat with the player's name. Free social pressure.

🌍
05

Worlds

Five distinct biomes, each introducing a new mechanic layer.

🌾 World 1 — The Farm

800 studs · ×1 · Tiers 1–5
Palette
Warm green, straw yellow, barn red, soft daylight
Obstacles
Hay bales, wooden fences, scarecrows, milk cans, pumpkins, tractors (rare)
Goal
Teach the loop. Everything is soft and forgiving. Nothing punishes the player.
Exit gate
Tier 5 + $25,000 total earned

🏡 World 2 — Suburbia

1,400 studs · ×12 · Tiers 6–10 · Unlocks at $25K
Palette
Clean pastels, mowed grass, asphalt grey, noon light
Obstacles
Mailboxes, garden gnomes, chairs, grills, cars, pools
New mechanic
Jumps. Launch pads throw the object airborne — airtime feeds combo multiplier.
Exit gate
Tier 10 + $2M total earned

🏘️ World 3 — The Village

2,200 studs · ×180 · Tiers 11–15 · Unlocks at $2M
Palette
Stone grey, timber brown, terracotta roofs, golden-hour light
New mechanic
Angle control (±20°) opens high-value lanes. Staged collapse — buildings fall in pieces.
Exit gate
Tier 15 + $500M total earned

🌲 World 4 — The Forest

3,000 studs · ×3,000 · Tiers 16–20 · Unlocks at $500M
Palette
Deep greens, moss, god-rays, mist
New mechanic
Chain reactions. One good drop cascades 8 seconds. Highest viral clip ceiling. Mud slows, ice accelerates, water resets combo.
Exit gate
Tier 20 + $200B total earned

🌃 World 5 — The City

4,000 studs · ×50,000 · Tiers 21–25 · Unlocks at $200B
Palette
Night, neon, wet asphalt reflections, chrome — Vapih silver on navy
New mechanic
The Skyscraper. Server-wide destructible at the bottom. Everyone damages it together; when it falls, everyone gets paid.
Endgame
Rebirth

Level design rules

  1. Density increases toward the bottom. Early ramp is sparse; bottom third is the climax.
  2. Every 200 studs has one moment — a jump, a big destructible, or a hazard.
  3. Sightlines matter. Player must see 400+ studs ahead from the top.
  4. Readability over realism. Destructible = bright & saturated; static = desaturated.
  5. Bottom is a spectacle zone. Wide open, max density, confetti + coin explosion on arrival.
💥
06

Obstacles & Scoring

Seven obstacle classes, one combo curve, one payout formula.

ClassHPValueBehavior
Chaff1×0.5Pops instantly — fences, pots. Density filler.
Standard3×1.0Breaks into debris — crates, stalls, hay
Heavy10×4.0Slows the object, chunky break — cars, boulders
Structure30×15Multi-stage collapse — buildings, towers
Mega100×80One per ramp, gated, big payout
Hazard×0Never breaks — slows or stops the object
Bonus1×20Rare golden obstacle, random spawn, glows

Combo

Every obstacle destroyed within 1.2s of the previous one increments the combo.

comboMultiplier = 1 + (comboCount × 0.08)   -- capped at ×10

Screen edges warm up at ×3, percussion layer at ×6, full intensity at ×9.

Run payout formula

runPayout = objectBaseValue × variantMult × worldMult
           × (1 + obstacleValue) × comboMult × distanceBonus
           × upgradeMult × petMult × rebirthMult × gamepassMult

All multipliers are multiplicative — intentional. Makes stacking feel powerful, drives gamepass attach.

💰
07

Economy & Balance

Pacing targets, three currencies, and the guards that keep them honest.

MilestoneFree-to-playPaid
Reach World 212 min5 min
Reach World 355 min22 min
Reach World 43.5 hrs1.2 hrs
Reach World 59 hrs3 hrs
First rebirth14 hrs5 hrs
⚖️
Design principle

Paid progression is ~2.5× faster, never more. Above 3× free players quit. Below 2× nobody converts.

Currencies

CurrencySourceSinkNotes
Cash $Rolling objectsObjects, upgrades, worldsPrimary. Resets on rebirth.
Gems 💎Quests, dailies, RobuxPets, crates, cosmeticsPremium-adjacent. Survives rebirth.
Cores ⚡Rebirth onlyPermanent upgradesNever purchasable with Robux.

Anti-inflation guards

  • All currency operations are server-authoritative
  • Payout capped per run at 200× object base value
  • Rate limit: 4 drops/second/player, server-enforced
🔗
08

Merge System

A physical bench, not a menu.

┌───────────────────────────────────────┐ │ M E R G E B E N C H │ │ [ ROCK ] + [ ROCK ] │ │ ▼ ▼ │ │ ═══════════════════════════ │ │ [ BUCKET ] │ │ [ M E R G E ] │ └───────────────────────────────────────┘

Rules

  • Two same-tier objects → one of the next tier
  • Same variant preserves; mixed → lower variant
  • Auto-Merge (gamepass) fuses automatically when matches exist
  • Merge Luck: 3% base double-merge chance. Big VFX + sound — this is the jackpot moment.
💡
Why merge instead of just buying up

Merging creates a decision (merge now, or hold for variant match?) and a physical ritual. Pure purchase progression is flat. Don't simplify this away.

⬆️
09

Upgrades

Eight lines, all visible from minute one.

UpgradeEffect / levelLevelsCost curve
Launch Force+5% velocity50500 × 1.35ⁿ
Cash Multiplier+8% payout1001K × 1.40ⁿ
Drop Speed−4% cooldown252K × 1.50ⁿ
Weight+3% mass401.5K × 1.42ⁿ
Combo Window+0.05s timer205K × 1.60ⁿ
Merge Luck+0.5% double308K × 1.55ⁿ
Storage+2 slots303K × 1.45ⁿ
Magnet Range+10% pickup201.2K × 1.40ⁿ
📏
Rule for designers

Tune cost curves so at any moment the player can afford something within ~90 seconds. Simulate it; don't hand-tune.

🐾
10

Pets

Highest-ROI system in the genre — collection, display, trading & monetization at once.

RarityChanceMultiplier
Common55%×1.05–1.15
Uncommon25%×1.2–1.4
Rare13%×1.5–2.0
Epic5%×2.2–3.5
Legendary1.7%×4–7
Mythic0.3%×10–20

Systems

  • Slots: 3 base, up to 8 via gamepass and upgrades
  • Fusing: 5 identical → Golden (×2.5); 5 Goldens → Rainbow (×6). The long-tail chase.
  • Crates: Gems or Robux, world-specific pools
  • Trading: gated behind 24hr account age + level 10 (anti-scam/bot)
♻️
11

Rebirth

The macro loop — the one shop that must stay honest.

Unlocks at World 5, Tier 20.

LostKept
Cash, objects, cash upgrades, world unlocks Pets, gems, gamepasses, cosmetics, Cores, permanent upgrades, badges
coresEarned = floor(3 × rebirthNumber^0.85) + 5
permanentMultiplier = 1 + (0.35 × totalRebirths)

Rebirth 1 → ×1.35, rebirth 10 → ×4.5, rebirth 50 → ×18.5. Curve flattens deliberately — late rebirths are about Cores and cosmetics.

🚨
Do not cut "Start at World N"

This is the difference between a healthy rebirth loop and churn. Without it, rebirth 5+ becomes tedious — the #1 retention failure in Roblox simulators.

🎫
12

Gamepasses

14 passes — each shown at the exact moment the player feels its absence.

💡
Design rule

Never sell power the player can't already see. Sell speed and cosmetics; never gate progression.

#PassR$EffectSell moment
01VIP499×2 cash, chat tag, VIP lanePersistent banner
02Auto-Drop399Drops at max rateAfter 20 manual drops
03Auto-Merge299Merges automaticallyAfter 5 merges
04×2 Cash349Stacks with VIPFirst "can't afford"
05×2 Luck299Doubles variant chancesFirst Bronze
07Triple Drop599Three objects at onceWorld 2 entry
10Fast Rebirth799−30% requirementsFirst rebirth screen
14Ultimate Bundle2,499Passes 1–8, ~30% offShop hero slot

Total value: ~6,300 Robux. Target attach rate: 4–7% of DAU.

📱
13

UI & Controls

Flat HUD, thumb-friendly, designed for portrait and landscape mobile.

HUD elements (always visible)

  • Cash counter (top center), Gems (top right)
  • DROP button (bottom center, massive, thumb-reach)
  • Current object + tier badge (left of drop button)
  • Combo counter — scales up with combo, glows at high values

Menus

  • Inventory, Upgrades, Shop, Pets, Settings — bottom tab bar
  • No nested menus deeper than 2 levels
  • Every tab opens in under 150ms

Camera

  • Follow mode (default): smooth chase behind the object
  • Stationary mode: locked at the top, player watches from above
  • Toggle via tap on a camera icon — persists between sessions
📊
14

Social & Marketing

Discovery, retention hooks, and the external funnel.

In-game social

  • Leaderboards: longest distance ever, total rebirths, rarest pet
  • Chat announcements: rare variants, mega kills, server boosts, rebirths
  • Trading is pets only — objects are progression backbone, trading them breaks economy

Title strategy

Launch as 🏔️ Merge Downhill [UPDATE 3]. The suffix signals activity to players and algorithm. Change it every update — free signal boost.

External funnel

  • TikTok: 3 clips/week — "watch this 30s roll", "merged 25 times", "rarest drop"
  • Roblox Group: member rewards — joining is a free conversion
  • Discord: codes, leaks, bug reports, event announcements
  • A/B test icon + thumbnail from day one. On Roblox, the icon is worth more than any feature.
🏗️
15

Technical Architecture

Stack, structure, server authority — and the physics problem that decides whether this game lives.

Stack

  • Language: Luau, strict mode (--!strict)
  • Framework: Knit or lightweight in-house service/controller pattern
  • Data: ProfileService (session locking mandatory)
  • Networking: RemoteEvents for actions; avoid RemoteFunctions in hot paths

Repository structure

src/
├── ReplicatedStorage/Shared/  Config, Types, Util, Remotes
├── ServerScriptService/Services/
│   ├── DataService, EconomyService, DropService
│   ├── MergeService, PetService, ShopService
│   ├── QuestService, AntiExploit
└── StarterPlayer/Controllers/
    ├── DropController, SimulationController (CLIENT physics)
    ├── UIController, CameraController, EffectsController
🔥
The physics problem — read before writing any code

If every dropped object + every obstacle is a server-side physics part, 30 players × 3 objects × 200 obstacles blows the physics budget in seconds. The naive approach will fail.

Required: Hybrid simulation

  1. Client simulation, server validation. Each player's object runs on their client. Destruction events are batched and validated server-side against a coarse trajectory model.
  2. Per-player obstacle instancing. Each player sees their own obstacles via CollisionGroup + client-only models from a server seed. Zero multi-player physics contention.
  3. Debris budget: 60 parts max per client, pooled, despawn after 2.5s with scale-down tween.
  4. Object pooling: No Instance.new() in hot paths. Pre-warm: objects 20, debris 80, VFX 40, sounds 30.
  5. LOD: Low-poly beyond 400 studs, not rendered beyond 800. Use StreamingEnabled.

Server authority — mandatory

  • Client never sends a currency amount — only "I dropped X in lane Y"
  • All multipliers read from server-side profile data
  • Rate limits: drops 4/s, merges 10/s, purchases 2/s
  • Payout sanity-checked against theoretical max. Auto-kick at 10×.
16

Performance Budget

Enforced in CI, not by discipline.

MetricTarget
FPS, mid-range Android30+ sustained
FPS, iPhone 12+60
Memory< 900 MB
Server heartbeat (30 players)> 55 Hz
Network out per player< 40 KB/s
Load to playable< 12 s
Rendered parts per ramp< 3,000
Physics parts per client< 120
Triangles on screen< 300,000

Enforcement: CI check opens the place file and fails the build when budgets are exceeded.

🎨
17

Art Direction

Stylized-realistic, high saturation, chunky forms.

Reference points: Rocket League's clarity, Untitled Goose Game's prop readability, mobile hyper-casual color grading.

Rules

  • Silhouette first. Every tier must be identifiable as a black silhouette.
  • Escalating visual weight. Tier 25 must look ~50× more imposing than tier 1.
  • Destructible = saturated + emissive rim; static = desaturated.
  • One accent per world: Farm yellow, Suburbia cyan, Village orange, Forest emerald, City silver.
  • Future lighting technology with per-world atmosphere and color correction.
🎯
Game feel is not polish — it IS the product

A game with this exact design and no juice is dead on arrival. Budget real time for:

  • Screen shake scaled to mass and impact (capped to prevent nausea)
  • Hit stop: 40ms freeze on Heavy-class destruction+
  • FOV widens 70° → 85° with speed
  • Speed lines at screen edge above velocity threshold
  • Number pop-ups on every hit, color-coded, pooled
  • Coin magnet: cash flies to HUD on an arc with rising pitch
  • Drop preview: object hovers, rotates slowly, casts shadow. Anticipation matters.
🔊
18

Audio

Layered music, material-based impacts, and a game that reads on mute.

ElementDirection
MusicPer-world loop + percussion layer at combo ×3, ×6, ×9
Impact SFXMaterial-based (wood, glass, metal, stone). 4+ variations each.
Roll SFXContinuous rumble, pitch/volume mapped to velocity
Merge SFXRising chime, pitch climbs with tier — tier 25 should sound epic
Rare dropDistinct sting per rarity. Rainbow = 3s orchestral hit server-wide.

Ship with master volume + music/SFX split. Game must be fully readable without audio.

🎮
19

First 90 Seconds

This alone decides 10k CCU or death at 300.

TimeWhat happens
0:00Spawn already at the top of the ramp, camera looking down. No lobby, no menu.
0:03Glowing DROP button pulses. One line: "Drop it."
0:05Pebble rolls, smashes 6 hay bales, earns $12. Confetti.
0:12"Buy another." Arrow → $10 pebble. One tap.
0:18Two pebbles. "Merge them." Arrow → bench (5 studs away).
0:25Merge VFX. They hold a stick. Visibly bigger. Drop it. Destroys more.
0:40Tutorial ends. First quest: reach tier 4.
1:30First upgrade affordable. Auto-Drop prompt appears once, non-modal.

Rules

  • No text walls — 6 words max per tutorial prompt
  • No blocking modals in first 90 seconds
  • Skippable, persists
  • Instrument every step. If step 3 completion < 85%, the step is broken.
🗺️
20

Roadmap

Twenty weeks to launch, with hard gates between phases.

PhaseWeeksDeliverableGate
0 — Prototype1–2Grey-box ramp, rolling physics, destruction, cashIf not fun for 10 min, stop
1 — Vertical slice3–6World 1 art-passed, tiers 1–5, merge, saving, mobile20 testers, 15+ min session
2 — Content7–14Worlds 2–5, all 25 tiers, variants, pets, rebirth, all monetizationFeature complete
3 — Polish15–18Game feel, performance, audio, localization, anti-exploitBudgets met on mid-range Android
4 — Soft launch19Unlisted, 200–500 CCU via DiscordD1 ≥ 30%, session ≥ 14 min
5 — Launch20+A/B icon, Roblox ads, 15–25 influencers, daily TikTok
📅
Update cadence

Ship every 10–14 days, without exception. Roblox's algorithm rewards active games. Build the pipeline so a new world is data and assets, not new code.

📈
21

KPIs

What "working" looks like in numbers.

MetricMinimumTargetExcellent
D1 retention25%35%45%
D7 retention8%14%20%
Average session11 min18 min28 min
Tutorial completion75%88%94%
ARPDAU (Robux)2.55.09.0
Paying users2.5%5%8%
CCU, month 11,5005,00012,000
Like ratio82%90%94%
Protect the like ratio

Below 80% the algorithm suppresses the game regardless of retention. Never ship a build that breaks saves.

🗄️
22

Data Schema

The player profile, typed.

type PlayerProfile = {
    Cash: number, Gems: number, Cores: number,
    CurrentWorld: number,         -- 1..5
    HighestTier: number,          -- 1..25
    Rebirths: number, TotalEarned: number,

    Objects: { [string]: { Tier: number, Variant: string, Count: number } },
    StorageCapacity: number,

    Upgrades: {
        LaunchForce: number, CashMultiplier: number,
        DropSpeed: number, Weight: number,
        ComboWindow: number, MergeLuck: number,
        Storage: number, MagnetRange: number,
    },

    Pets: { [string]: { Id: string, Rarity: string, Mult: number, Golden: boolean } },
    EquippedPets: {string},

    Gamepasses: { [string]: boolean },
    Settings: { CameraMode: string, SFXVolume: number, MusicVolume: number },
    Stats: { TotalDrops: number, TotalSmashed: number, LongestDistance: number },
}

Save on currency change (debounced 30s), merge, purchase, world unlock, rebirth, player leave, and BindToClose. Session locking via ProfileService is mandatory.

🔮
23

Live Ops Roadmap

10 planned updates, each with a fixed date and a single KPI it targets.

#NameWeekHeadlineKPI target
01Sandstorm+2World 6 — Desert, tiers 26–30D7 for launch cohort
02Trading Post+4Pet trading systemSessions per DAU
03Golden Hour+6First limited event, 10 daysLapsed player return
04Frostline+8World 7 — Arctic, ice physicsD30
05Crews+10Clans up to 20 playersSocial retention, D14
06The Machine+12Auto-droppers + offline incomeARPDAU
07Eruption+14World 8 — Volcano, heat meterSession length
08Mutations+16Second modifier layer on objectsDepth without new worlds
09Orbit+18World 9 — Space, low gravityViral clip potential
10Ascension+20World 10 + second prestige tierEndgame retention, D60

Ships with every update, no exceptions

  • One new redeemable code (posted to Discord + TikTok same hour)
  • At least one new pet — pets are why people read patch notes
  • In-game patch notes, not Discord-only
  • Refreshed thumbnail (even if just the badge text changes)
  • Title suffix incremented: [UPDATE N]
  • Performance regression check against budgets before going live
  • One fix from the most-repeated review complaint
📅
The cadence IS the product

A smaller update on time beats a larger update late, every time. If a feature isn't ready on day 12, cut it and ship the rest. Roblox measures whether you shipped, not how much.

✂️
A

Cut Order

If scope must shrink, cut from the top. The bottom is untouchable.

  1. Worlds 4–5ship with 3
  2. Tradingdefer
  3. Angle controldefer
  4. Skyscraper server eventdefer
  5. Variants above Golddefer
  6. Petsmonetization
  7. Rebirthretention
  8. Game feelthe product
  9. Mobile performance70% of audience
  10. Drop → Roll → Smash → Mergethe game
🏆
B

The Bar

What "legendary" actually means here.

A 10k CCU Roblox game is not the one with more features. It's the one where:

  1. 01The first 30 seconds are instantly understandable and immediately satisfying
  2. 02Every action produces visible, audible, escalating feedback
  3. 03There is always a next goal, visible and reachable within 90 seconds
  4. 04It runs at 30 FPS on a cheap Android phone
  5. 05It updates every two weeks, forever
  6. 06Players record it without being asked

Everything in this document serves those six lines. When a decision is unclear, choose the option that serves them.