Classic XP is action-oriented. Do something in-game, and your character gains experience points. It’s right there in the name - experience. In OSR games that means retrieving gold. In D&D that means (mostly) killing monsters. In Blades in the Dark, it means whatever your XP triggers are.
There’s a couple things I don’t like about action-oriented XP systems:
First, it penalizes players who can’t play every time. Personally, I don’t believe that XP should be a reward for showing up. The reward for showing up is getting to play the game. The double whammy of not getting to play and having your character fall behind can be very demoralizing.
Second, action-oriented XP incentivizes certain actions. If it’s D&D, you’re incentivized to kill everything. If it’s OSR, you’re incentivized to get as much gold as possible. For some games, this incentive is the point - the XP system pushes players to have their characters take actions they might otherwise not. In some cases this can be interesting, in games that want to explore a specific type of situation.
However, I think in most mainstream roleplaying games, characters are expected to do what the player thinks the character would do, irrespective of the pressures of the game. In those cases, XP rewards for specific actions actually work against the roleplaying aspect of the game. Any time a player considers what action to take, they have the dual pressures of what they think their character would do, and the push of not wanting to fall behind other characters in advancement.
I have heard that most D&D campaigns these days use milestone XP. In the scheme of roleplaying games, this is a pretty radical departure. The XP comes from achieving story-related objectives, not game-related actions.
This is good, because it is story-driven, instead of game-driven. But it suffers from a couple problems - first, it assumes you have a clear idea of what the major milestones will be in your game, which is not true of all games. Second, the time between milestones is highly dependent on the players. They could easily faff around for six sessions without accomplishing what you consider to be a major milestone, and then they could accomplish 3 milestones in the same session.
So, while I think milestones are close to the right answer, we need to go just a little bit further.
In my opinion, the best way to do character advancement is simply to make it a given part of the game. Characters will continually grow in power slowly as the game progresses.
In D&D terms that means characters will gain a new level every 2-4 sessions, depending on the length of your session and how often you play. This can be converted to whatever other game you play. In games like Blades in the Dark where you get XP to spend on character attributes, you get so many XP per session, and everyone gets the same XP whether you’re there or not.
This neatly solves almost all the above problems. It applies zero pressure on the players to have their characters conform to what the game thinks they should be doing. They’re free to simply consider the story impact of their actions. Second, it keeps the pacing steady - there’s no huge gaps where no one is gaining any new abilities, and there’s no chance of going up so fast that you haven’t tried out the new abilities you just got before getting more new abilities.
The one potential drawback of this is that players may feel they aren’t really “earning” their XP, since it’s not tied to in-game actions. I’m not sure this is actually all that likely - surely the characters have done something in-game for the last 3 sessions? And if your players complain about it, you can always slow down advancement… but I rarely hear of players complaining they advance too quickly.
Let me know what you think of this, would you do it in your game? Do you like action-oriented XP?