iserith
Magic Wordsmith
I’m coming to a similar conclusion, i think i’ll stick with milestone leveling for the rest of this campign. I’ll experiment with alternative approaches at the beginning of the next campaign.
I really don’t like the DM fiat approach of “you level when *I* say you level!” though.
Milestone XP is still XP though - you're just tying the XP rewards to certain events or challenges. As long as they know what events and challenges get them the XP, then they can pursue those things. This is how you keep the players on track with a pre-determined storyline such as an adventure path because wandering off and doing anything else is worth 0 XP.
Session-based advancement is basically "show up to level." You're rewarding attendance. So that's not really "DM fiat" as you describe either. Story-based advancement can be a little more like you describe unless you specifically tie the levels to the accomplishment of particular goals of which the players are aware. It only gets to be "you level when I say you level" if they aren't aware of the specific goals that will net them the level-ups.
I change how I handle XP with each and every campaign so as to reward the behaviors that speak to the campaign's premise. I definitely recommend giving that a hard look before you start your next one.