- Added a new WGSL shader for background rendering with volumetric fog effects. - Created components for game entities including Circle, Velocity, Explosion, and ChainReaction. - Introduced game state management with GameState enum and LevelState resource. - Implemented event system for explosion requests and circle destruction notifications. - Developed plugins for game logic, input handling, movement, reactions, scoring, and UI. - Configured game settings through GameConfig resource with adjustable parameters. - Enhanced UI with configuration options and game over screens. - Integrated spatial grid for efficient collision detection and explosion handling.
2.4 KiB
2.4 KiB
Chain Reaction - Game Design Document
Core Concept
Players click once to create a static explosion that destroys floating circles. The goal is to clear the screen with one strategic click, triggering chain reactions of destruction.
Gameplay Mechanics
Primary Mechanic:
- Click anywhere to create explosion at position
- Explosions destroy circles within radius
- Destroyed circles trigger secondary explosions (chain reaction)
- Game ends when all circles are destroyed or time expires
Circle Properties:
- Random radii (10-50px)
- Random alpha transparency (0.3-1.0)
- Random colors (pastel palette)
- Physics: Smooth movement, collision detection
Explosion Mechanics:
- Static explosion at click position
- Explosion radius = 100px (tunable)
- Chain reaction: Destroyed circles explode after 0.1s delay
- Secondary explosions have 50% smaller radius
Core Loop
30-second gameplay cycle:
- Start with 20-30 circles
- Player clicks strategically to create chain reactions
- Game ends when all circles destroyed OR time runs out (30 seconds)
- Win condition: Clear screen before time expires
Scoring System
- Points = circles destroyed × multiplier
- Multiplier increases with consecutive chain reactions (1x, 2x, 4x, 8x...)
- Bonus points for clearing all circles in single click
Visual Design
Art Style: Minimalist circles with:
- Pastel color palette (blues, purples, pinks)
- Alpha transparency (0.3-1.0)
- Smooth movement animations
- Particle effects on destruction
UI Elements:
- Score display
- Timer countdown
- "Chain Reaction" indicator
- Restart button
Technical Requirements
Spatial Partitioning: Grid-based system for efficient collision detection Performance: Handle 500+ circles with 60fps target Physics: Smooth movement, realistic collision response
Game States
- Menu: Start screen, instructions, high score
- Playing: Main gameplay loop
- GameOver: Score display, restart option
Implementation Roadmap
- Basic window + circle generation (5min)
- Click detection + explosion mechanics (10min)
- Chain reaction logic + destruction system (15min)
- Scoring + game states (10min)
- Polish + optimization (20min)
Optional Enhancements
- Power-ups (larger explosions, slower circles)
- Different circle types (fast/slow, larger/smaller)
- Time pressure mechanic
- High score system with local persistence