🏁 100 Countries Marble Elimination — Full Plan
Overview
- 100 country-flag marbles, countryballs style (circle + flag texture)
- 7 elimination stages — each with a unique obstacle course
- ~4 minutes total (snappier than Bluza's 15 min — higher energy density)
- 1920×1080 @ 30fps, dark background (#0a0a0a), neon UI accents
- pymunk 2D physics (real gravity, collisions, elasticity, friction)
- Upload via
publish_youtube.sh --privacy public
Tech Stack
- Python + pymunk + PIL + numpy + ffmpeg
- Flag images: procedurally drawn simplified flags (solid colors + basic shapes — no bitmap dependencies)
- Each marble = pymunk Circle body with flag texture baked onto it
- Camera: vertical scrolling, follows the pack
The 7 Stages
Stage 1: "The Drop" — 100 → 64
Layout: Wide funnel entrance at top → peg board (Galton board style) → 2 exit chutes at bottom. Left chute = SAFE (64 slots), Right chute = ELIMINATED (36 slots).
Obstacles:
- 12 rows of offset pegs (like a Plinko board)
- Random deflections create natural separation
- Funnel narrows toward the split point
Duration: ~40 seconds
Why it works: Pure chaos. Everyone starts together, physics decides who drifts left vs right. Viewers immediately pick favorites.
Stage 2: "The Gauntlet" — 64 → 32
Layout: Narrow vertical corridor with alternating barriers from left and right walls, creating a zigzag path. Bottom has a gate that closes after 32 pass through.
Obstacles:
- 8 alternating shelf barriers (marbles must roll off each edge)
- 2 spinning paddle wheels (static segments that deflect)
- Narrow bottleneck before the finish gate
Duration: ~35 seconds
Why it works: Tight spaces = collisions. Faster marbles get stuck behind slower ones. Dramatic pile-ups at the bottleneck.
Stage 3: "Splitsville" — 32 → 16
Layout: Track splits into 4 parallel lanes via Y-splitters. Each lane has different obstacles. Bottom 4 from each lane are eliminated.
Obstacles:
- Lane A: Bumpy terrain (small random pegs)
- Lane B: Narrow squeeze + wide valley
- Lane C: Step drops (staircase)
- Lane D: Curved funnel with central pillar
Duration: ~30 seconds
Why it works: Lane assignment feels like fate. "My country got the hard lane!" Different visual variety keeps it fresh.
Stage 4: "Pinball Madness" — 16 → 8
Layout: Full pinball-style arena. Marbles drop in from top, bounce off bumpers, flippers (static angled segments), and rubber bands. First 8 to reach the bottom exit survive.
Obstacles:
- 6 large circular bumpers (high elasticity)
- 4 angled flippers
- 3 trap pockets (marbles that fall in are eliminated)
- 1 exit chute at bottom center
Duration: ~35 seconds
Why it works: Most chaotic stage. Marbles ping everywhere. Impossible to predict. The trap pockets create gasps.
Stage 5: "The Maze" — 8 → 4
Layout: Top-down maze with multiple paths. Some paths are dead ends, some loop back. First 4 to exit the maze at the bottom survive.
Obstacles:
- 15×10 grid maze with 3 valid paths to exit
- Dead ends have slight slopes that roll marbles back
- One shortcut tunnel that only 1 marble can fit through
Duration: ~30 seconds
Why it works: Tension shifts from speed to luck-of-path. Viewers can see marbles taking wrong turns. "NO GO LEFT!"
Stage 6: "Cliff Hanger" — 4 → 2
Layout: Series of narrow platforms with gaps. Marbles must roll off one platform, freefall, and land on the next. Miss = eliminated. 5 platforms descending.
Obstacles:
- 5 platforms, each slightly offset from the one above
- Platforms get progressively narrower (wide → tiny)
- Small lip on each platform edge creates unpredictable launch angles
Duration: ~25 seconds
Why it works: High stakes. Only 4 marbles, every move is visible. Falling off is instant drama.
Stage 7: "The Final" — 2 → 1 🏆
Layout: Head-to-head race track. Two parallel lanes, mirror image. Both marbles drop simultaneously. First to cross the finish line wins.
Obstacles:
- 3 loop-de-loops (circular track segments)
- Peg section in the middle
- Final ramp into finish zone
- Slow-motion replay of the finish (last 2 seconds rendered at 0.25x speed)
Duration: ~20 seconds (+ 8 seconds slow-mo replay)
Why it works: Classic 1v1 showdown. Clean, dramatic, easy to follow. Slow-mo gives the climactic payoff.
UI Overlay
- Top bar: Stage name + "X countries remaining"
- Bottom ticker: Scrolling country flags of eliminated nations (greyed out)
- Side panel (stages 5-7): Remaining country flags with names
- Finish: Winner flag full-screen with fireworks particle effect + country name
Audio
- Procedural ambient drone (like existing renderers) with rising intensity per stage
- Each stage slightly higher pitch/tempo
- Final stage adds rhythmic pulse
- Victory: bright chord resolve
Country Selection
Top 100 countries by population, ensuring good geographic diversity. Each gets a simplified 2-3 color flag rendered procedurally (no external assets needed).
Video Metadata
Title: "100 Countries Marble Race 🌍 | Epic Elimination Tournament"
Description: "100 country-flag marbles enter. Only 1 survives. 7 stages of pure physics chaos. Which country will win? 🏆\n\nComment your country below! 🗳️"
Tags: "marble race,country flags,countryballs,elimination,marble run,physics simulation,100 countries"
Category: 24 (Entertainment)
Privacy: public
Rendering Estimate
- ~7,200 frames total (4 min × 30fps)
- At ~2 fps render speed (pymunk + PIL): ~1 hour
- ffmpeg encode: ~2 min
- Total: ~1 hour pipeline