Generate experience point curves (linear, exponential, custom) for games and progression systems
Level | XP Required | XP From Previous |
---|
Linear curves add a fixed amount of XP per level (e.g., +100 XP each level). This creates steady progression where each level takes slightly less time relative to the player's power.
Exponential curves multiply the XP requirement by a factor each level (e.g., 1.2× each level). This creates accelerating progression where higher levels take significantly more time.
The best curve depends on your game design:
The custom formula uses JavaScript syntax. You have access to:
level
- The current level (1 to maxLevel)baseXP
- Your configured base XP valueExample formulas:
// Quadratic growth return baseXP * level * level; // Slow early, fast late return baseXP * Math.pow(level, 1.5); // Step function (same XP for groups of levels) return baseXP * (Math.floor((level-1)/5)+1) * 100;
Consider:
Start with rough estimates, generate the curve, then adjust based on playtesting.
Yes! If you know the XP requirements for several levels, you can:
After exporting your curve:
For large level caps, consider calculating values at runtime using your formula to save memory.