Add comprehensive core game mechanics documentation

This commit is contained in:
2025-06-13 09:43:49 +02:00
parent 7bb25cc1c4
commit b7d015138b

View File

@@ -0,0 +1,229 @@
# Core Game Mechanics Documentation
## Connection System
### Basic Mechanics
The core gameplay revolves around connecting neural network nodes to form specific patterns. Players click and drag between nodes to create connections that match a target pattern shown as dotted lines.
### Node Types
```javascript
const nodeTypes = {
normal: {
color: '#333366',
activeColor: '#00d4ff',
description: 'Standard connection points'
},
source: {
color: '#00ff64',
description: 'Starting points for network patterns'
},
target: {
color: '#ff6400',
description: 'End points for network completion'
}
};
```
### Connection Rules
1. **Valid Connections**: Any node can connect to any other node
2. **Bidirectional**: All connections work in both directions
3. **No Self-Connection**: Nodes cannot connect to themselves
4. **No Duplicates**: Only one connection allowed between any two nodes
5. **Visual Feedback**: Invalid attempts show clear feedback
### Interaction Patterns
- **Desktop**: Click and drag between nodes
- **Mobile**: Tap and drag with finger
- **Feedback**: Immediate visual response to all interactions
- **Error Handling**: Graceful handling of invalid connection attempts
## Level Generation System
### Difficulty Progression
```javascript
const difficultyProgression = {
beginner: {
levels: '1-5',
nodes: '3-4',
connections: '2-3',
timeLimit: '60s',
focus: 'Learning basic mechanics'
},
intermediate: {
levels: '6-15',
nodes: '4-7',
connections: '3-6',
timeLimit: '50-60s',
focus: 'Pattern recognition skills'
},
advanced: {
levels: '16-25',
nodes: '7-10',
connections: '6-12',
timeLimit: '40-50s',
focus: 'Complex network strategy'
},
expert: {
levels: '26+',
nodes: '10-12',
connections: '8-16',
timeLimit: '30-45s',
focus: 'Master-level challenges'
}
};
```
### Pattern Types
1. **Linear Chains**: Simple A→B→C→D connections
2. **Hub Networks**: Central node connecting to multiple others
3. **Parallel Paths**: Multiple independent connection chains
4. **Complex Networks**: Intricate interconnected patterns
5. **Symmetrical Designs**: Balanced, aesthetically pleasing layouts
### Algorithm Approach
```javascript
function generateLevel(levelNumber) {
const nodeCount = Math.min(5 + Math.floor(levelNumber / 2), 12);
const connectionCount = Math.min(nodeCount - 1 + Math.floor(levelNumber / 3), nodeCount * 2);
// Place nodes in circular pattern with randomization
const nodes = generateNodePositions(nodeCount);
// Generate valid connection pattern
const targetPattern = generateConnections(nodes, connectionCount);
// Ensure pattern is solvable and engaging
return validatePattern(nodes, targetPattern);
}
```
## Scoring System
### Point Calculation
```javascript
const scoring = {
basePoints: {
levelComplete: 100,
timeBonus: 10, // per second remaining
levelMultiplier: 'level * 50'
},
bonuses: {
perfectCompletion: 'no invalid attempts * 50',
speedBonus: 'completion under 30s * 100',
consecutiveLevels: 'streak multiplier * 25'
}
};
```
### Example Score Calculation
```
Level 5 completion in 35 seconds with no mistakes:
- Base: 100 points
- Time bonus: 25 seconds remaining * 10 = 250 points
- Level multiplier: 5 * 50 = 250 points
- Perfect bonus: 50 points
- Total: 650 points
```
### High Score Tracking
- Local storage persistence
- Weekly/monthly leaderboards (future)
- Achievement system integration
- Progress tracking across sessions
## Timing and Pacing
### Time Limits
```javascript
const timingSystem = {
baseTime: 60, // seconds for level 1
reduction: 2, // seconds reduced every 3 levels
minimum: 30, // never less than 30 seconds
calculation: 'Math.max(30, 60 - Math.floor(level / 3) * 2)'
};
```
### Flow State Management
- **Gradual Ramp**: Difficulty increases smoothly
- **Recovery Levels**: Occasional easier levels to maintain confidence
- **Time Pressure**: Creates urgency without panic
- **Clear Progress**: Visual indication of completion status
## Visual Feedback System
### Connection States
1. **Target Pattern**: Dotted white lines showing required connections
2. **Active Connections**: Solid colored lines for completed connections
3. **Current Drag**: Semi-transparent preview line during connection creation
4. **Invalid Attempts**: Red glow and shake animation for errors
5. **Completion**: Particle burst effects and color changes
### Node Animation
```javascript
const nodeAnimations = {
idle: {
pulse: 'breathing effect with sine wave',
glow: 'subtle outer glow animation'
},
hover: {
scale: '1.1x size increase',
brightness: 'increased luminosity'
},
connected: {
energy: 'flowing particles through connections',
color: 'shift to active state'
}
};
```
## Audio Design Framework (Planned)
### Sound Categories
```javascript
const audioDesign = {
feedback: {
nodeTouch: 'soft electronic blip',
connectionMade: 'satisfying snap/lock sound',
connectionFailed: 'gentle error tone',
levelComplete: 'triumphant harmonic sequence'
},
ambient: {
background: 'subtle electronic atmosphere',
nodeHum: 'quiet frequency-based ambience',
energyFlow: 'soft electrical crackling'
},
ui: {
buttonPress: 'clean interface sounds',
menuTransition: 'smooth whoosh effects'
}
};
```
### Audio Implementation Principles
- **Subtle**: Never overwhelming or distracting
- **Responsive**: Immediate feedback for actions
- **Contextual**: Different sounds for different game states
- **Optional**: Always allow muting for accessibility
- **Performance**: Lightweight files, efficient playback
## Accessibility Considerations
### Visual Accessibility
- **Color Blind Support**: Pattern recognition doesn't rely solely on color
- **High Contrast**: Clear visual distinction between elements
- **Scalable UI**: Responsive design for different screen sizes
- **Clear Typography**: Readable fonts and appropriate sizing
### Motor Accessibility
- **Touch Targets**: Minimum 44px touch areas on mobile
- **Drag Tolerance**: Forgiving connection detection
- **Alternative Inputs**: Keyboard navigation support (future)
- **Timing Options**: Adjustable time limits (future)
### Cognitive Accessibility
- **Clear Instructions**: Obvious gameplay mechanics
- **Progressive Disclosure**: Complexity introduced gradually
- **Visual Hierarchy**: Important information is prominent
- **Consistent Patterns**: Predictable interface behavior
This documentation serves as the foundation for all game design decisions and should be updated as mechanics evolve.