CHORUS MVP Scope — Day 1 Experience
For Gin's Review — Feb 21, 2026
1. MVP Philosophy
What v1 MUST do:
- Prove the day/night loop is fun in under 5 minutes of play
- Show the cause mirror working (actions map to real malaria prevention)
- Demonstrate rewarded video drives real impact (net counter ticks up)
- Create emotional attachment to 4 named families in 10 seconds
What v1 INTENTIONALLY defers:
- Chorus Circles (social/guilds)
- IAP cosmetics and themes
- Chorus+ subscription
- Android build (iOS only v1)
- Multi-charity partner selector
- Full AMF data API integration (manual cause updates OK for launch)
- Cross-village mechanics
- Seasonal events
The test: A new player downloads, plays 5 minutes, and says either "I want to protect those families again tomorrow" or "meh." v1 exists to get that reaction.
2. Day 1 Experience — First 5 Minutes (Scene by Scene)
Scene 1: First Launch → Tutorial Village (0:00-0:30)
What player sees:
- App opens to a small village on a hill — warm golden light, stardew-valley aesthetic
- 4 homes visible, each with a family:
- The Mensah family (grandmother + mother + boy Kwame)
- The Kofi family (father + mother + girl Ama)
- The Diallo family (elderly couple)
- The Kamara family (young couple, pregnant mother)
- A community well in the center
- A murky green pool at the bottom of the hill (stagnant water — danger)
Tutorial overlay text: "Welcome to your village. These families need your help."
Player action: None yet. Just look.
Scene 2: First Action — Net the Mensah Home (0:30-1:00)
What player sees:
- One home (Mensah) has a subtle open-window indicator (no net)
- Tapping it highlights with a soft glow
- A net icon appears in a bottom tray — player drags net onto home
The animation (CRITICAL — must be excellent):
- Net unfurls over the home — soft whoosh sound
- Shimmer effect ripples across the net — like light through mosquito net material
- The home's windows glow soft blue-white
- Speech bubble from Kwame: "Thank you!" with a little wave
- Cause meter ticks: +5 Cause Points
This moment plants the seed. 10 seconds. Player knows the family, protected them, saw the cause impact.
Scene 3: Daytime Actions — The Queue (1:00-3:00)
Player sees their action queue:
- 🏊 Drain the pool (murky green at bottom of hill) — tap to start drain
- 💊 Treat sick (none yet — will appear after night)
- 🏗️ Build — not yet unlocked
Action 1: Drain the Pool
- Player taps the murky pool
- Animation: water swirls, drains through a channel, murky green clears to brown earth
- Larvae sprites visible being swept away
- Cause meter: +3 Cause Points
Resource gathering:
- Player taps the well — collects water supplies
- Taps a small resource icon in corner — sees they've earned 10 Drops (currency)
By end of daytime: Player has drained the pool, netted the Mensah home, collected resources. The village looks slightly different — cleaner, safer.
Scene 4: Night Falls (3:00-3:30)
Transition:
- Sky dims from warm gold to deep indigo
- Stars appear
- Sound design shifts: crickets, low hum
- Alert: "Night is falling. The mosquitoes are coming."
What player sees:
- Village at night — windows glowing warm yellow
- Mosquito sprites appear at screen edges, moving toward homes
- 3 wave indicators at top: Wave 1, Wave 2, Wave 3
Scene 5: Night Defense — Wave 1 (3:30-4:00)
The mechanic (Flappy Bird territory):
- Single mosquito approaches the Mensah home
- Player taps to swat — satisfying thwap sound + sparkle burst
- Mosquito splatters — +1 score floats up
- Home shows green shield briefly (held)
Tutorial hint: "Tap to swat mosquitoes before they reach the homes!"
Wave 2: Two mosquitoes, different paths. Player taps both. Success.
Wave 3: Three mosquitoes. One gets through to the Diallo home (no net yet). Red flash. Sick villager indicator appears on that home.
Scene 6: Dawn Reveal (4:00-5:00)
The animation (CRITICAL — emotional payoff):
- Slow sunrise — golden light sweeps across village
- Each protected home glows soft gold as light touches it
- Families emerge: Mensah grandmother steps out, stretches
- The breached home (Diallo) shows a red sick indicator
Tally screen:
- 3/4 homes protected
- 1 family member needs treatment
- +18 Cause Points earned tonight
Cause meter visible: Shows progress toward first net (e.g., "87/200 Cause Points to your first bed net")
Social share prompt (optional):
- Auto-generates card: "My village: 3/4 protected tonight. Join me in the fight against malaria."
First Session Complete
Player has experienced:
- 4 named families they now recognize
- The protective joy of netting a home (animation)
- The urgency of night defense (tap mechanic)
- The emotional dawn reveal
- Cause points accumulating toward a real net
- A reason to come back tomorrow
That's the MVP. Everything else builds on this.
3. Core Loop — The Daily Repeat
Every Session Looks Like This:
OPEN APP
│
▼
DAWN REVEAL (30 sec)
│ ───► See which homes held overnight
│ ───► See who got sick
│ ───► Check cause meter progress
│
▼
DAYTIME ACTIONS (5-10 min)
│
├──► Drain any new stagnant pools (spawned overnight)
├──► Net any unprotected homes (priority: families without nets)
├──► Treat sick villagers (from last night's breaches)
├──► Collect resources (well, trees, etc.)
├──► [OPTIONAL] Watch rewarded ad → +Cause Points +Resources
│
▼
NIGHTFALL TRANSITION (10 sec)
│
▼
NIGHT DEFENSE (1-3 min)
│
├──► Waves 1-8 escalate in difficulty
├──► Tap/swipe to swat mosquitoes
├──► Net quality provides passive defense
├──► Some homes will breach — that's OK
│
▼
DAWN REVEAL → NEXT DAY
Day/Night Timing:
- Real-time option: Night falls at player's local 8pm-2am (actual mosquito hours)
- Accelerated option: 5-minute day → 1-minute night cycle for players who want faster gameplay
- v1 default: Accelerated (daytime 5 min, night 1-2 min) — faster for testing
4. GDevelop Build Scope — What Actually Gets Built
Scenes (v1)
| Scene |
Purpose |
Complexity |
MainVillage |
The village map with 4 homes, well, pool |
Medium |
NightDefense |
The tap/swat mosquito game |
High (wave logic) |
DawnReveal |
Sunrise animation + tally |
Medium |
TutorialOverlay |
First-launch instructions |
Low |
CauseMeter |
Global impact display (persistent UI) |
Low |
PauseMenu |
Settings, sound, rewarded ad trigger |
Low |
Objects (v1)
| Object Type |
Count |
Examples |
| Homes |
4 |
Mensah, Kofi, Diallo, Kamara — each with family name, health state |
| Characters |
12+ |
Family members with simple sprites, sick/healthy states |
| Environmental |
5 |
Well, pool (drained + full states), brush, path, community center |
| Mosquitoes |
4 types |
Basic, darting, grouped, stealth — introduced gradually |
| UI Elements |
15+ |
Cause meter, resource counter, wave indicator, health bars |
Events/Logic (v1)
| System |
Description |
| Day/Night Cycle |
Timer-based scene switch + sky color tween |
| Pool Drain |
Tap → animation → state change → cause points |
| Home Net |
Drag net → shimmer animation → home protected flag |
| Treat Sick |
Tap sick home → sparkle animation → villager healed |
| Mosquito Wave Spawner |
Wave 1-8 with increasing count/speed |
| Swat Detection |
Tap collision with mosquito hitbox |
| Home Breach |
Mosquito reaches home → health decrement → sick state |
| Cause Point Accumulator |
All actions add to counter → milestone check |
| Save/Load |
Local storage for village state, cause points, day count |
v1 vs v2 Scope Split
| Feature |
v1 |
v2 |
| Village homes |
4 |
10-15 |
| Family names |
4 fixed |
Unlock more |
| Daytime actions |
3 (drain, net, treat) |
+Clear brush, build |
| Mosquito types |
1 (basic) |
4 (basic, darting, group, stealth) |
| Night waves |
3 |
8+ |
| Cause meter |
Visible, manual update |
Auto-connected to revenue |
| Rewarded ads |
1 placement (end of day) |
Multiple triggers |
| IAP/Cosmetics |
None |
Full store |
| Social sharing |
Basic card |
Full wrapped stats |
| AMF integration |
Text attribution |
Real distribution data |
| Platform |
iOS |
+Android |
5. Impact Integration — Cause Meter in v1
The Cause Meter Display:
- Persistent bar at top of village screen
- Shows: "X / 200 Cause Points → 1 Bed Net"
- Fills with gold as points accumulate
- Subtle pulse animation when points are earned
How Points Accumulate (v1)
| Action |
Cause Points |
| Net a home |
+5 |
| Drain a pool |
+3 |
| Treat sick villager |
+2 |
| Survive night wave |
+1 per wave |
| Watch rewarded ad |
+15 |
Milestone Celebration (v1)
When meter hits 200:
- Screen brightens with gold
- Text: "Your first bed net is funded!"
- Small animation: a net shimmer cascades across the village
- Counter: "You have funded 1 real bed net through AMF"
- Attribution: AMF logo + "nets funded: 1"
- Share prompt
v1 limitation: This is manual/cosmetic. Real revenue tracking and AMF distribution trigger happens outside game (Gin monitors, triggers milestone manually). v2 automates this.
6. Monetization in v1 — Rewarded Video Only
Placement:
- End-of-day prompt: After dawn reveal, soft prompt: "Double tonight's Cause Points?" → Watch Ad → +15 bonus
- Resource drought: If player runs low on nets/medicine: "Watch to restock"
- Frequency cap: 5 rewarded ads per day max per player
v1 Ad Stack:
- Network: AdMob via GDevelop native extension
- Format: Rewarded video (15-30 sec)
- CPM target: $20+ (launch in US/UK tier-1 markets)
v1 Revenue Assumption:
- If 10K DAU, 3 ads/day avg = 30K impressions/day
- At $20 CPM = $600/day → $18K/month
- 70% to cause fund = ~$12,600/month → 6,300 nets/month funded
What v1 Does NOT Include:
- ❌ Interstitial ads (disruptive, not aligned with cause-first UX)
- ❌ Banner ads (clutters village view)
- ❌ IAP cosmetics
- ❌ Chorus+ subscription
- ❌ Brand sponsorships
v1 focus: Prove rewarded video works, cause meter fills, players watch ads for impact.
7. What v1 Deliberately EXCLUDES
| Feature |
Reason Deferred |
| Chorus Circles (guilds) |
Requires backend, social graph, moderation. Not core to proving the loop. |
| IAP Cosmetics |
Need baseline retention first. Can't optimize cosmetics without DAU data. |
| Chorus+ Subscription |
Need baseline ad revenue first. Subscription is a retention play for v2. |
| Android Build |
Ship iOS first, prove metrics, then replicate. Faster iteration. |
| Multi-charity Partner |
AMF is confirmed. Don't complicate with multi-partner until v2. |
| Full AMF Data API |
Manual milestone triggers fine for v1 launch. Automate in v2. |
| Family Events (births, anniversaries) |
Nice to have. Core loop (protect/defend) is the priority. |
| Clear Brush Action |
3 daytime actions is enough for v1. More in v2. |
| Stealth/Darting Mosquitoes |
Basic mosquito is enough to prove night defense mechanic. |
| Village Expansion beyond 4 homes |
Lock expansion for v2. 4 homes = focused emotional attachment. |
8. Build Timeline Estimate
Using GDevelop AI Agent
| Week |
Milestone |
| Week 1 |
Project setup, village grid, 4 homes with families |
| Week 2 |
Netting animation + treat animation (critical feel) |
| Week 3 |
Daytime actions (drain pool, collect resources) |
| Week 4 |
Night defense core (wave spawner, tap detection, breach logic) |
| Week 5 |
Dawn reveal animation + cause meter display |
| Week 6 |
Rewarded video integration (AdMob) |
| Week 7 |
Tutorial overlay + first-play flow |
| Week 8 |
Save/load system + polish |
| Week 9 |
iOS export + TestFlight |
Honest Assessment:
- Best case: 6 weeks (if AI Agent is efficient and no major roadblocks)
- Realistic: 8-9 weeks (including testing + iteration)
- Buffer: Add 2 weeks → 10 weeks to MVP
What Speeds This Up:
- GDevelop AI Agent creating events from prompts
- Simple 2D art (can use placeholders initially)
- Focused scope (4 homes, 3 actions, basic night mode)
What Slows This Down:
- Animation polish (the netting shimmer must feel magical)
- AdMob integration quirks
- iOS App Store compliance
9. 🚧 GIN DECIDES — Decisions Before Build
Before Max can start in GDevelop, Gin must confirm:
Decision 1: Game Title
The game needs its own name. CHORUS is the company/brand. The game needs a title.
Options:
- Village of Night — simple, evocative, describes the core
- Net Defense — clear but generic
- Malaria Defense — too on-the-nose
- Kwame's Village — character-forward, emotional
- The Night Watch — epic but maybe too serious
Gin: What's the game called?
Decision 2: Single Partner vs Multi-Partner at Launch
v1 commits to AMF. But does v1 show only AMF, or set up for multi-charity later?
Option A — Single Partner (AMF only):
- Simpler. Clean messaging: "This game funds bed nets."
- All cause meter points go to AMF.
- Harder to pivot later if AMF partnership changes.
Option B — Multi-Partner Ready (v1 architecture, single launch):
- Build the selector UI in v1 but default to AMF.
- Show: "Cause: Bed Nets (AMF)" with a dropdown that does nothing yet.
- Easier v2 pivot: add "Deworming (SCI)" or "Clean Water (charity:TBD)" as options.
- Slight extra dev time (~1 day) for selector UI.
Gin: Single AMF partner now, or build multi-partner architecture from day 1?
Decision 3: Accelerated vs Real-Time Day/Night
How fast does the game loop run?
Option A — Accelerated (v1 default):
- 5-minute day → 1-2 minute night = ~7 min per full cycle
- Faster to test, faster to reach "morning" during play sessions
- Better for casual play sessions
Option B — Real-Time:
- Night falls at player's local 8pm-2am (player's actual time)
- Day is the rest of the day
- More immersive, matches real mosquito behavior
- Harder to test, may frustrate players who want to defend NOW
Gin: Accelerated (faster loops) or Real-Time (immersive)?
Summary — Can We Build This?
The v1 MVP is:
- 4 named families on a village map
- 3 daytime actions (drain, net, treat)
- 3-wave night defense (tap to swat)
- Dawn reveal animation with cause meter
- Rewarded video ads that fill the cause meter
- Manual milestone celebrations
This is buildable in GDevelop by Max using AI Agent.
The unknowns are the 3 decisions above. Once Gin says "yes, build this with [title], [partner strategy], [timing preference]," Max starts Week 1.
QC SIGN-OFF
- ✅ MVP philosophy articulated (must do vs defer)
- ✅ Day 1 experience is specific (scene by scene, 5 minutes)
- ✅ Core loop defined (daytime → night → dawn)
- ✅ GDevelop scope is concrete (scenes, objects, events split v1/v2)
- ✅ Impact integration explained (cause meter, milestone)
- ✅ Monetization scoped (rewarded video only in v1)
- ✅ Exclusions listed with reasons
- ✅ Timeline honest (10 weeks realistic)
- ✅ 3 pending decisions flagged for Gin
Ready for Gin's reaction.