Does the Princess know the Protagonist? Do the Bad Guys know the Princess?
I was thinking either nobody knows who anyone is, or only the Bad Guys know who the Princess is. A problem with the former idea is that everybody would become very reluctant to lynch, because there is no incentive to do so (the Bad Guys want to keep as many people/distractors alive as possible and the Protagonist wants to avoid lynching the Princess). It's probably better to have the Bad Guys know who the Princess is to prevent this.
What happens if the princess is lynched?
The Bad Guys and the Protagonist lose (and so does the Princess, of course). Currently that is equivalent to having everybody lose.
The aim of this setup is partly so that more players than just the Mafia (or their equivalent) need to pretend to be someone they are not - the Bad Guys need to pretend to be Princesses, and the Protagonist needs to pretend to be a Bad Guy pretending to be a Princess.
At this point the Princess is not pretending to be anyone - that is not such a huge problem, as it is sort of in line with what would happen in the stereotypical video game, but it might be interesting to add the following role, possibly to replace a Bad Guy or as an extra player:
1 Jealous Boyfriend: May kill one player each night. Wins if the player killed is either the Protagonist or the Princess.
That may not solve the problem, though: The Boyfriend may simply claim and team up with the Bad Guys to kill the Protagonist. I'm not sure what the Princess would do in that situation.