I'm developing a damage formula for an RPG. I've checked many popular titles formulas for reference (Final Fantasy, Chrono Trigger, Golden Sun and Castlevania) and most seem to use linear functions.

My issue is that for linear functions, the % in which damage increases when leveling up goes down in every level. For example, when you go from Lvl 2 to Lvl 3 and damage increments 50%, however when you go from Lvl 50 to Lvl 51, an attack only does 0.5% more damage to the same enemy.

This coupled with the fact that XP to level up goes up exponentially in these titles doesn't make sense to me. So while I'm tempted to forgo this type of function for my game, I feel there's something I must be missing since many of my favorite games use them. Moreover I have played these titles and I never noticed this.

Eg: Golden Sun damage calculation is a simple: Damage = Attack - Defense. Pokemon's damage formula below is a bit more complex but absolute damage growth also decreases on each level.

enter image description here

Am I right to think in these games damage increases at a lower percentage on each level?

How do they balance the game so that levels are still important later on the game?


3 Answers 3


This is intentional, because making levels important is not the goal.

Usually for RPGs there are two conflicting design goals: to give players freedom in how they play (and therefore how much grinding/side-quests to do, and hence their XP), and to make sure the difficulty of the game scales predictably for the length of the game. You don't want to make the game too easy for those that complete all the side-quests and earn as much XP as possible, but you also don't want the end of the game to be impossibly hard for those that are rushing through.

A common method is to make the XP between levels to grow, so for example 100 XP missed may matter a lot at lower levels, but at higher levels it makes no difference. What you're describing is simply another method of achieving the same aim; by making stat growth diminish in percentage terms, the difference between levels also diminishes.

Compared to the former, the latter has the advantage of still giving the player regular level ups (which players tend to enjoy) whilst maintaining the difficulties of later stages of the game. Usually RPGs use a bit of both techniques.

This is in contrast to, say, MMOs, which have a number of reasons to use more of the former than the latter, such as:

  • Using exponential XP curves to stretch out the game time and make more money from subscribers
  • Making sure that level differences are meaningful to create envy between different players, and hence encourage players to stay in the game

In most RPGs the damage formula itself only tells part of the story. Things outside level also affect the formula and aren't linear - good equipment is normally gated carefully, and better spells and abilities unlock higher damage options in later levels (Pokemon and Chrono Trigger are both good examples of this). Tactical options also increase at higher levels, with various non-damaging effects becoming available, and this reflects the shift in later levels from beginner play (hit it until it stops moving) to expert play (more tactical options, more prep before battles to optimise your party, less dependence on sheer grinding).

Essentially, what the damage formula tells you is that if your tactic is to out-level your opponents, then this strategy is viable at low levels but time-consuming at high levels. The exact balance is one factor that determines how beginner-friendly your game is.


In our game we use the level like in the Pokémon formula, but use other stats like strength and so on that increases the damage more. But the Main point is that the stats & level aren't so important for damage. They are just percentage values and the real damage comes from items. 0,5% of 100 damage are the same like 5% of 10 damage - so the percentage goes down, but the damage itself increases anyway.

And to prevent one hits against low level mobs we use the capped level difference - so the level doesn't go directly in the calculation.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .