Skip to content

Multi-Scale Gameplay System

From micro-management to god's-eye view - one world, infinite perspectives


Why Multi-Scale Gameplay is Revolutionary

This is Gameplay Accessibility (a11y)

Multi-Scale Gameplay isn't just responsive UI - it's responsive GAMEPLAY.

Traditional "responsive design":

Mobile  →  Smaller buttons, simplified UI
Desktop →  Bigger buttons, more UI elements

RESULT: Same game, different button sizes

CASCADA's "Gameplay Accessibility":

Mobile  →  Different CONTROL SCALE (micro-management)
Desktop →  Different CONTROL SCALE (macro-management)

RESULT: DIFFERENT gameplay experience, SAME world, EQUAL VALUE

This is true a11y: The game adapts not just visually, but mechanically to your device's capabilities!


The Problem with Traditional Games

Traditional approach: One game = one interface = one device type

Mobile game  →  Simplified controls, limited view
Desktop game →  Complex controls, full view
Tablet game  →  Compromise between both

Result: 3 different games for 3 different devices

The Real-World Analogy: Artist & Canvas

Think about how real creative tools work across devices:

Digital Artist's Workflow

Morning - iPad Mini (portable device):
├─ Artist with small stylus (precise tool)
├─ Working on DETAILS: eyes, texture, highlights
├─ Zoomed IN very close (2000%)
└─ MICRO control: every pixel matters

Evening - iMac 27" (desktop):
├─ Same artist, same canvas
├─ Now sees ENTIRE composition
├─ Adjusts colors, balance, layout
└─ MACRO control: overall vision

Key insight: Same project, same artist, but different level of control based on device!

Architect's Workflow

On-site - iPhone (phone):
├─ Checking specific room measurements
├─ Detail view: door placement, window height
└─ MICRO: individual elements

Office - Ultrawide Monitor:
├─ Entire building layout
├─ Urban planning, traffic flow, city integration
└─ MACRO: strategic planning

🎵 Music Producer

Commute - Smartphone + AirPods:
├─ Fine-tuning individual instrument
├─ EQ adjustments, single track editing
└─ MICRO: detail work

Studio - Multi-monitor setup:
├─ Full song arrangement
├─ Mixing 50+ tracks simultaneously
└─ MACRO: orchestration

The Pattern Emerges

All professional creative tools follow this principle:

╔══════════════════════════════════════════════════════╗
║                                                      ║
║  Small Device  →  DETAIL WORK  →  MICRO CONTROL     ║
║                                                      ║
║  Large Device  →  OVERVIEW     →  MACRO CONTROL     ║
║                                                      ║
║  Same Project. Same User. Different Perspective.    ║
║                                                      ║
╚══════════════════════════════════════════════════════╝

Why Games Should Work the Same Way

Current problem:

  • You play a different game on mobile vs desktop
  • Progress doesn't translate
  • Skills don't translate
  • Experience is fragmented

CASCADA's solution:

  • ONE world, multiple scales
  • Play as individual hero on phone during commute
  • Play as god of civilization on desktop at home
  • Same account, same progress, same world
  • Actions at MICRO level affect MACRO level (and vice versa!)

The Five Scales of Gameplay

CASCADA provides 5 abstraction levels that adapt to your device:

NANO     →  Individual character (mobile portrait)

MICRO    →  Squad control (mobile landscape)

MESO     →  Battle tactics (tablet)

MACRO    →  Strategic map (desktop)

MEGA     →  God's eye view (ultrawide)

Automatic Adaptation

Device Detection & Mode Assignment

typescript
Mobile Portrait (any size)
NANO MODE 
See: Character details, animations, nearby objects
Control: Direct character movement, combat

Mobile Landscape (>600px width)
MICRO MODE 
See: Squad of 5-10 units, tactical area
Control: Squad commands, formations

Tablet Portrait
MICRO MODE 
See: Tactical battlefield
Control: Multiple squads

Tablet Landscape (>1000x700)
MESO MODE 
See: Entire battlefield, army units
Control: Strategic commands, auto-battles

Desktop Small (1024x768+)
MESO MODE 
See: Regional map
Control: Army management

Desktop Medium (1440x900+)
MACRO MODE 
See: Strategic map, multiple regions
Control: Grand strategy, diplomacy

Desktop Large (1920x1080+)
MEGA MODE 
See: Entire world
Control: God powers, civilization management

Real-World Scenario: One Day, Three Devices

Morning - Subway (iPhone 375x667 Portrait)

7:30 AM - Commuting to work
Device: iPhone in portrait
Mode: NANO  (automatic)

Gameplay:
├─ You control ONE hero
├─ Detailed RPG-style combat
├─ Quest: "Deliver cargo to Port A"
├─ Combat: Fought 3 pirates, won
└─ Result: +100 gold, cargo delivered

Impact:
└─ Port A now has cargo (stored in world state)

Lunch Break - iPad (1024x768 Landscape)

12:00 PM - Cafe with tablet
Device: iPad in landscape
Mode: MESO  (automatic)

Gameplay:
├─ You see REGION overview
├─ Port A shows "+5% activity" (from morning!)
├─ Action: Build new trade route to Port B
└─ Result: Trade network expands

Impact:
└─ Cities along route start growing

Evening - Home PC (1920x1080)

8:00 PM - Desk setup
Device: Desktop PC
Mode: MEGA  (automatic)

Gameplay:
├─ You see ENTIRE world map
├─ Region shows "Economic boom +2%" (from your day!)
├─ Action: Bless winds → all ships get speed boost
└─ Result: Global trade increases

Impact:
└─ Tomorrow morning, your hero gets tailwind! (synergy!)

The Magic

╔══════════════════════════════════════════════════════╗
║                                                      ║
║  Morning NANO action  →  Delivered cargo             ║
║      ↓ CASCADAs up                                   ║
║  Lunch MESO decision  →  Built trade route           ║
║      ↓ CASCADAs up                                   ║
║  Evening MEGA power   →  Blessed winds               ║
║      ↓ CASCADAs down                                 ║
║  Tomorrow NANO        →  Hero sails faster!        ║
║                                                      ║
║  YOUR ACTIONS MATTER ACROSS ALL SCALES               ║
║                                                      ║
╚══════════════════════════════════════════════════════╝

Quick Start Guide

Test It Right Now

bash
pnpm dev

# In game:
1. Press TAB Cycle through modes
2. Press 1-5 Jump to specific mode
3. Press A Toggle auto-mode ON/OFF
4. Resize window Watch automatic adaptation!

What You'll See

Top-right corner shows:
┌─────────────────────────┐
│  MEGA MODE           │
│ Zoom: 0.3x | Speed: 10x │
│ [TAB] Change | [A] Auto │
└─────────────────────────┘

Press TAB → Mode changes:
MEGA → MACRO → MESO → MICRO → NANO → MEGA...

Resize window → Automatic mode switch!

Mode Comparison Table

ModeScaleZoomTimeControlUse Case
NANOIndividual2.5x1.0x1 characterRPG, Action
MICROSquad1.5x1.0x5-10 unitsTactics
MESOBattle0.8x2.0xArmiesRTS
MACRORegion0.4x5.0xStrategyGrand Strategy
MEGAWorld0.3x10.0xCivilizationGod Game

CASCADA System: How Actions Flow

Up-CASCADA (Detail → Overview)

NANO Action:    Player delivers cargo
    ↓ Aggregates
MICRO Effect:   Port activity +1%
    ↓ Aggregates
MESO Effect:    Regional trade +5%
    ↓ Aggregates
MACRO Effect:   City growth triggered
    ↓ Aggregates
MEGA Outcome:   Economy boom +0.01%

Down-CASCADA (Overview → Detail)

MEGA Decision:  God blesses winds
    ↓ Decomposes
MACRO Effect:   Region wind direction changes
    ↓ Decomposes
MESO Effect:    All ships get speed boost
    ↓ Decomposes
MICRO Effect:   Squad moves faster
    ↓ Decomposes
NANO Impact:    Your character sails 2x faster!

Mode Details

NANO Mode - Individual Control

When: Mobile portrait, small screen

typescript
{
  device: "Mobile Portrait",
  zoom: 2.5,
  timeScale: 1.0,

  CAN:
   Control character directly (WASD/Touch)
   See animations, effects, details
   Tactical combat
   Interact with NPCs
   Pick up items

  CANNOT:
   Control other units
   Change landscape
   See full map
}

Example: You're in subway with phone → Play as RPG hero


MICRO Mode - Squad Tactics

When: Mobile landscape, small tablet

typescript
{
  device: "Mobile Landscape / Small Tablet",
  zoom: 1.5,
  timeScale: 1.0,

  CAN:
   Select squad (5-10 units)
   Tactical commands
   Formations (F1-F5)
   Slow motion in battle
   Mini-map

  CANNOT:
   Divine powers
   Landscape manipulation
}

Example: Tablet on couch → Squad-based tactics


MESO Mode - Battle Management

When: Tablet landscape, small desktop

typescript
{
  device: "Tablet Landscape / Desktop",
  zoom: 0.8,
  timeScale: 2.0, // Time speeds up!

  CAN:
   Control armies
   Raise/lower terrain (Populous style!)
   Auto-battles (no micromanagement)
   Strategic map
   Build structures

  CANNOT:
   Control individual units
   See animation details
}

Example: Home desktop → RTS-style gameplay


MACRO Mode - Strategic Command

When: Large desktop (1440p+)

typescript
{
  device: "Desktop 1440p+",
  zoom: 0.4,
  timeScale: 5.0, // Time flies!

  CAN:
   Manage entire map
   Divine powers (limited)
   Landscape manipulation
   Grand strategy
   Diplomacy, trade

  CANNOT:
   See individual soldiers
   Micromanagement
}

Example: Strategy gamer's setup → Civilization-style


MEGA Mode - God's Eye View

When: Very large screen (1920p+, ultrawide)

typescript
{
  device: "Desktop 1920p+ / Ultrawide",
  zoom: 0.3,
  timeScale: 10.0, // Time rockets!

  CAN:
   ALL divine powers (Populous!)
   Earthquake, Flood, Volcano
   Terrain manipulation
   Civilization observation
   Simulation (Conway's Life inspired)

  CANNOT:
   Control units (too small)
   Micromanagement
}

Example: Ultrawide monitor → God game (Populous/Black & White style)


API Reference

GameModeManager

typescript
// Initialize
gameModeManager.init();

// Get current mode
gameModeManager.getCurrentMode();
// → GameModeType.NANO

// Set mode manually
gameModeManager.setMode(GameModeType.MEGA, "manual");

// Cycle modes
gameModeManager.cycleMode(); // Next
gameModeManager.cycleModeReverse(); // Previous

// Check capabilities
gameModeManager.can("canUseDivinePowers");
// → false (in NANO mode)

// Subscribe to changes
gameModeManager.onModeChange((event) => {
  console.log(`${event.oldMode} → ${event.newMode}`);
  console.log(`Reason: ${event.reason}`);
});

// Auto-mode
gameModeManager.setAutoMode(true); // Enable
gameModeManager.setAutoMode(false); // Disable

⌨️ Keyboard Controls

TAB          - Cycle mode forward
SHIFT + TAB  - Cycle mode backward

1            - NANO MODE 
2            - MICRO MODE 
3            - MESO MODE 
4            - MACRO MODE 
5            - MEGA MODE 

A            - Toggle Auto Mode ON/OFF

Capability Flags

Full Capability Matrix

CapabilityNANOMICROMESOMACROMEGA
Control Units
Command Squads
Command Armies
Manipulate Terrain
Divine Powers
Show Individual Units
Show Tactical Details
Show Strategic Map
Can Pause
Can Slow Time
Auto-battles

Multiplayer Scenarios

Scenario 1: Co-op Across Scales

Player 1 (Mobile, NANO):
├─ Controls hero
├─ Completes quests
├─ Fights enemies
└─ Explores dungeons

Player 2 (Desktop, MEGA):
├─ Sees entire map
├─ Helps with divine powers
├─ Creates obstacles for enemies
└─ Guides hero to objectives

Synergy: Hero + God = Ultimate team!

Scenario 2: PvP Different Scales

Army (Desktop, MESO):
└─ Controls large army

Heroes (Mobile, NANO):
└─ 3-5 players control individual heroes

Balance:
- Army strong in open field
- Heroes can do sabotage/raids
- Different skill ceiling

What's Already Working

bash
pnpm dev

# In game:
 Auto-mode detection by viewport
 Smooth mode transitions (500ms)
 Camera zoom changes
 Time scale changes
 Keyboard shortcuts (TAB, 1-5, A)
 Mode info display (top-right)
 Console logs on mode change

📐 UI Adaptation Example

typescript
gameModeManager.onModeChange((event) => {
  const uiConfig = gameModeManager.getUIConfig();

  // Adapt icon size
  switch (uiConfig.iconSize) {
    case "small":
      this.setIconSize(16);
      break;
    case "medium":
      this.setIconSize(24);
      break;
    case "large":
      this.setIconSize(32);
      break;
  }

  // Show/hide minimap
  if (uiConfig.showMinimap) {
    this.minimap.setVisible(true);
    this.minimap.setScale(uiConfig.minimapScale);
  } else {
    this.minimap.setVisible(false);
  }

  // Simplify HUD
  if (uiConfig.simplifiedHUD) {
    this.hideDetailedStats();
  } else {
    this.showDetailedStats();
  }
});

Best Practices

1. Use Capability Flags

typescript
//  GOOD
if (gameModeManager.can("canUseDivinePowers")) {
  this.showDivinePowersUI();
}

//  BAD
if (gameModeManager.getCurrentMode() === GameModeType.MEGA) {
  this.showDivinePowersUI();
}

2. Subscribe to Changes

typescript
//  GOOD - Reactive
gameModeManager.onModeChange((event) => {
  this.updateUI();
  this.updateGameplay();
});

//  BAD - Polling in update()
update() {
  if (this.currentMode !== this.gameModeManager.getCurrentMode()) {
    // Heavy and inefficient
  }
}

3. Save State on Mode Change

typescript
gameModeManager.onModeChange((event) => {
  // Save current state
  this.savePlayerState();

  // Switch mode
  this.switchVisuals(event.newMode);

  // Restore state
  this.restorePlayerState();
});

Roadmap

v1.0 - Mode System (DONE)

  • [x] Define 5 modes
  • [x] Auto-detection by viewport
  • [x] Keyboard shortcuts
  • [x] Smooth transitions
  • [x] Capability flags

v1.1 - Gameplay Adaptation

  • [ ] Different logic per mode
  • [ ] UI adaptation
  • [ ] Performance optimization
  • [ ] Touch controls for NANO (mobile)

v1.2 - Multiplayer Sync

  • [ ] Simultaneous play in different modes
  • [ ] Action synchronization
  • [ ] Balance

🎉 Conclusion

╔══════════════════════════════════════════════════════╗
║                                                      ║
║  MULTI-SCALE GAMEPLAY IS THE FUTURE                 ║
║                                                      ║
║  🏠 Home (Desktop) → MEGA VIEW                      ║
║     └─ Manage civilization                          ║
║                                                      ║
║  🚇 Subway (Mobile) → NANO MODE                     ║
║     └─ Control hero                                 ║
║                                                      ║
║   Rotate device → Auto mode switch                ║
║                                                      ║
║   One world - Multiple perspectives!              ║
║                                                      ║
╚══════════════════════════════════════════════════════╝

**Test it now: pnpm dev → START GAME → Press TAB! **


📚 See Also


Created: October 2025

MIT Licensed