10 KiB
Level Progression System - Neural Nexus
Overview
The level progression system in Neural Nexus is designed to provide a smooth learning curve that gradually introduces complexity while maintaining player engagement. The system balances challenge escalation with skill development to create optimal flow state.
Progression Algorithm
Node Count Scaling
const nodeCount = Math.min(5 + Math.floor(level * 0.7), 12);
Progression Curve:
- Levels 1-3: 5-6 nodes (learning phase)
- Levels 4-7: 6-8 nodes (skill building)
- Levels 8-12: 8-10 nodes (competency development)
- Levels 13-20: 10-12 nodes (mastery phase)
- Levels 21+: 12 nodes (expert challenge)
Design Rationale:
- Exponential growth prevents overwhelming new players
- Cap at 12 nodes maintains visual clarity on mobile devices
- Gradual increase allows pattern recognition skill development
- Consistent maximum ensures predictable complexity ceiling
Connection Complexity
const connectionCount = Math.min(
nodeCount - 1 + Math.floor(level / 2),
nodeCount * 2
);
Connection Density:
- Early Levels: Minimum spanning tree (nodeCount - 1 connections)
- Mid Levels: Additional parallel paths (+1-3 connections)
- Advanced Levels: Near-complete graphs (approaching nodeCount * 2)
Complexity Examples:
- Level 1: 5 nodes, 4 connections (simple chain)
- Level 5: 6 nodes, 6 connections (basic network)
- Level 10: 9 nodes, 13 connections (complex web)
- Level 20: 12 nodes, 19 connections (dense network)
Time Limit Progression
const timeLimit = Math.max(45, 60 - Math.floor(level / 3) * 2);
Time Allocation:
- Levels 1-2: 60 seconds (generous learning time)
- Levels 3-5: 58 seconds (slight pressure introduction)
- Levels 6-8: 56 seconds (building urgency)
- Levels 9-11: 54 seconds (moderate pressure)
- Levels 12+: Continues decreasing by 2 seconds every 3 levels
- Minimum: 45 seconds (maintains playability)
Level Design Philosophy
Phase 1: Introduction (Levels 1-5)
Objective: Teach core mechanics without frustration
Pattern Characteristics:
- Simple linear chains (A→B→C)
- Clear source and target nodes
- Obvious connection paths
- Minimal branching
- Forgiving time limits
Example Patterns:
Level 1: O---O---O (3 nodes, 2 connections)
Level 2: O---O---O---O (4 nodes, 3 connections)
Level 3: O (5 nodes, 4 connections)
/|\
O-O-O
Success Criteria:
- 95% completion rate for levels 1-3
- Average completion time under 30 seconds
- Players understand connection mechanics
- No confusion about objectives
Phase 2: Skill Building (Levels 6-15)
Objective: Develop pattern recognition and strategic thinking
Pattern Characteristics:
- Hub-and-spoke patterns
- Simple symmetrical designs
- Multiple valid solution paths
- Introduction of parallel connections
- Moderate time pressure
Example Patterns:
Level 8: O-O-O (6 nodes, 7 connections)
|/|\|
O-O-O
Level 12: O (8 nodes, 11 connections)
/ | \
O--O--O
\ | /
\|/
O
Success Criteria:
- 80% completion rate for levels 6-10
- Players develop efficient connection strategies
- Reduced hesitation in pattern recognition
- Consistent improvement in completion times
Phase 3: Challenge (Levels 16-30)
Objective: Test mastery and provide satisfying difficulty
Pattern Characteristics:
- Complex interconnected networks
- Near-optimal path planning required
- High connection density
- Increased time pressure
- Multiple interdependent components
Example Patterns:
Level 20: O-O-O-O (10 nodes, 16 connections)
|X|X|X| (X represents crossing connections)
O-O-O-O
|X|X|
O-O
Success Criteria:
- 60% completion rate for levels 16-20
- Players demonstrate advanced pattern recognition
- Strategic planning becomes evident
- High replay value for optimization
Phase 4: Mastery (Levels 31+)
Objective: Provide endless challenge for expert players
Pattern Characteristics:
- Maximum complexity within constraints
- Algorithmic pattern generation
- Emphasis on optimization
- Tight time constraints
- Pattern variations to prevent memorization
Design Principles:
- Every level should be solvable within time limit
- Patterns avoid pure trial-and-error approaches
- Visual clarity maintained despite complexity
- Reward efficient solutions with better scores
Pattern Generation Algorithm
Basic Generation Process
function generateLevel(level) {
// 1. Calculate parameters
const nodeCount = calculateNodeCount(level);
const connectionCount = calculateConnectionCount(level, nodeCount);
const timeLimit = calculateTimeLimit(level);
// 2. Place nodes in circular arrangement with variation
const nodes = generateNodePositions(nodeCount);
// 3. Generate valid connection pattern
const pattern = generateConnectionPattern(nodes, connectionCount);
// 4. Ensure pattern is solvable
validatePattern(pattern, timeLimit);
return { nodes, pattern, timeLimit };
}
Node Placement Strategy
function generateNodePositions(count) {
const positions = [];
const centerX = canvas.width / 2;
const centerY = canvas.height / 2;
const radius = Math.min(canvas.width, canvas.height) * 0.3;
for (let i = 0; i < count; i++) {
const angle = (i / count) * Math.PI * 2;
const x = centerX + Math.cos(angle) * radius + randomVariation();
const y = centerY + Math.sin(angle) * radius + randomVariation();
positions.push({ x, y, id: i, type: determineNodeType(i, count) });
}
return positions;
}
Pattern Validation
function validatePattern(pattern, timeLimit) {
// Ensure pattern is connected
if (!isConnectedGraph(pattern)) {
throw new Error('Pattern must form connected graph');
}
// Estimate solution time
const estimatedTime = estimateSolutionTime(pattern);
if (estimatedTime > timeLimit * 0.8) {
throw new Error('Pattern too complex for time limit');
}
// Check visual clarity
if (hasOverlappingConnections(pattern)) {
throw new Error('Pattern has unclear visual elements');
}
return true;
}
Difficulty Balancing
Player Skill Metrics
The system tracks implicit player skill indicators:
- Completion Time: Average time to complete levels
- Accuracy: Ratio of valid to invalid connection attempts
- Efficiency: Optimal vs actual connection sequence
- Consistency: Variance in performance across similar levels
Dynamic Adjustment (Future Feature)
function adjustDifficulty(playerMetrics, level) {
const skillLevel = calculateSkillLevel(playerMetrics);
const baseComplexity = getBaseComplexity(level);
// Adjust complexity based on player performance
if (skillLevel > 1.2) {
return baseComplexity * 1.1; // Increase challenge
} else if (skillLevel < 0.8) {
return baseComplexity * 0.9; // Reduce challenge
}
return baseComplexity; // Maintain standard progression
}
Balancing Principles
- Fail-Forward Design: Failure teaches rather than punishes
- Multiple Success Paths: Avoid single "correct" solutions when possible
- Predictable Escalation: Players can anticipate difficulty increases
- Skill Transfer: Patterns teach techniques useful in later levels
- Recovery Opportunities: Difficult levels followed by easier consolidation
Testing and Iteration
Playtesting Metrics
- Completion Rates: Target 70%+ for each difficulty phase
- Time Distribution: Histogram of completion times per level
- Abandonment Points: Where players stop playing
- Replay Patterns: Which levels players retry most
A/B Testing Framework
const levelVariants = {
control: generateStandardLevel(level),
variant: generateAlternativeLevel(level),
test: generateExperimentalLevel(level)
};
function trackLevelPerformance(variant, playerResults) {
// Record completion rate, time, satisfaction
analytics.track('level_performance', {
variant,
level,
completed: playerResults.completed,
time: playerResults.completionTime,
attempts: playerResults.attempts
});
}
Continuous Improvement
- Weekly Analysis: Review player performance data
- Monthly Balancing: Adjust difficult outlier levels
- Quarterly Evolution: Introduce new pattern types
- Annual Overhaul: Comprehensive progression review
Future Enhancements
Adaptive Progression
- Machine learning-based difficulty adjustment
- Personalized level generation based on player strengths
- Dynamic time limits based on individual performance
- Skill-based matchmaking for competitive modes
Content Expansion
- Themed level packs with unique mechanics
- Community-generated level sharing
- Seasonal events with special progression tracks
- Achievement-based unlock system for advanced levels
Accessibility Options
- Colorblind-friendly pattern variations
- Simplified patterns for cognitive accessibility
- Extended time limits for motor accessibility
- Tutorial replay system for learning reinforcement
Success Metrics
Player Retention Indicators
- Session Length: Average time spent per play session
- Return Rate: Percentage of players returning within 24 hours
- Progression Rate: Average levels completed per session
- Satisfaction Score: Implicit satisfaction based on play patterns
Difficulty Curve Validation
- Completion Rate Curve: Smooth decline from 90% to 60% across levels
- Time Investment Curve: Gradual increase in average completion time
- Replay Frequency: Higher replay on challenging but fair levels
- Abandonment Analysis: Minimal dropoff at any single difficulty spike
The level progression system serves as the backbone of player engagement, ensuring that Neural Nexus provides a consistently challenging and rewarding experience that grows with the player's developing skills.
Last Updated: June 2025
Next Review: July 2025 (Monthly progression analysis)