Experience

Experience is gained both by killing enemies and by surviving unbeaten songs for the first time.

Each hero saves their own experience value. As experience is built up, that hero gains levels.

Level Effects
Every time a hero gains a level, the following effects take place:
 * The hero's basic stats (STR, MAG, DEF, HP) increase.
 * The hero may unlock one or more new abilities.
 * The base strength of attacks and cures increases (in addition to the effect of STR,MAG).
 * The base resistance to attacks increases (in addition to the effect of DEF).

Gaining Exp

 * Every time a song is beaten for the first time, all active party members receive a baseline bonus of exp.
 * However, for the most part, experience is gained through defeating enemies.

All enemies give the same amount of base exp - except for bosses and minibosses who give variably more.

The higher the level of the enemy in comparison to the hero, the more exp that hero will receive. Conversely, the higher that hero is over the enemy, the less exp they will receive. This effect has diminishing returns; however an enemy (roughly) four levels lower than a hero will no longer give that hero any exp toward leveling up. This effect is calculated per-hero and not per-party. So, a low level healer will gain more from the same battle than a higher level, say, tank.

This means that the more enemies killed in a song, the more the party will level up. This is the primary means of leveling. There is no cap of exp per song.


 * Note: Experience gained by non-active party members is greatly reduced. The Training Room reduces this effect, making inactive party members gain more (but still not full) exp.

Cap Hero Level
The max level in the game is currently level 50. If main-game enemies get too outleveled to provide a boost, Daily Challenges can push you the last few steps.

Enemy Levels
Enemy levels are calculated dynamically when a song is chosen.

Songs can be played in any (available) order, and enemies will still scale in a straight line. Each time a song is beaten for the first time, the "native level" of the enemies in that song is locked in. This is really just song-order. Thereafter, all subsequent unbeaten songs have enemies whose "native level" is exactly one level higher than the last. So, enemies in the first three songs will have levels of One, then Two, then Three - regardless of which songs those are. Once a song is beaten, that song's "native level" is now locked in.

Thereafter, however, for revisted (past beaten) songs, the "actual level" of enemies in a song is compressed somewhat to keep older songs fun/interesting/relevant. Instead of a one-level gap between songs, past songs are actually (roughly) 1/3 of a level lower than the level after them. The math is a bit more complicated than this, with some diminishing returns, but this is basically the gist.

This means, every time you beat a new song, all the old songs raise in enemy level just a very tiny bit. (Not nearly as fast as you level.) This compression means that your first song, after beating your fiftieth, is still fun and relevant - even if much easier than the fiftieth.

Enemy Level Indicator
When picking a song to play, the level of the enemies, calculated relative to your party average level, is displayed under Enemy Difficulty on a scale of 1 to 5. The scale is as follows:

1: Enemy level <= -2

2: -2 < Enemy level < -0.7

3: -0.7 <= Enemy level < 1

4: 1 <= Enemy level < 2

5: 2 <= Enemy level

This notably tallies with the WHIRLINGMCGOO cheat code, which sets enemy level to party average plus 2.

Freeplay
The levels of both heroes and enemies is locked in Freeplay Mode. However, hero abilities will open progressively, as they're unlocked in Story Mode.