Alignment is always a tricky issue to deal with in D&D because of disagreements on how it should influence play and role-play. I am personally in the camp that D&D alignment is meant to be descriptive rather than prescriptive: players should not be basing their choices around how they expect their alignment to behave (cries of “but I’m chaotic neutral!” send chills down anybody else’s spine?); rather, they should be playing their character! Their alignment should come from their actions, not the other way around.
If you want to go one step further, you can keep track of how your players’ alignments shift through time. This is something I’ve done in the past, and may again in the future, but you’ll have to decide if it’s right for you.
I’m not sure where I first heard of this method of recording alignment, but the basic idea is that the law-chaos and good-evil axes are scored on scales from 1 to 100, with 1 being completely chaotic or evil and 100 being completely lawful or good. Start your players off with scores representing the alignments they choose for themselves.
Chaotic/Evil: 20 (1-35)
Neutral: 50 (36-65)
Lawful/Good: 80 (66-100)
This shows the starting value and the range over which the player can be said to have that alignment. Every time a player performs a significant act that corresponds to a particular alignment, roll 1d100. You are rolling against the player’s alignment and need to “beat” it in the appropriate direction (which means that if they committed a chaotic/evil act, you need to roll lower than their corresponding score, but if they committed a lawful/good act, you need to roll higher). If you do, their alignment changes by one in the appropriate direction. If you don’t beat their score, nothing happens. Only roll on one of the two axes at a time. If a player commits an act which could feasibly affect both scores, choose only the one it matches most.
Example: Jonah the Lawful Good paladin (Law 83, Good 85) breaks a curfew law in order to chase after a criminal. Jonah’s DM decides that this act of disobedience represents a chaotic act (and ignores any good/evil aspects of the deed), so rolls to see if Jonah’s Law score will decrease by 1. The DM rolls an 11, which is lower than Jonah’s current Law score of 83, so his score drops to 82.
If an act is extreme enough, you can increase the amount by which the score will change. I suggest you try and keep the amount between about 1 and 3.
Example: Maximilian the Chaotic Neutral fighter (Law 17, Good 54) kills a captured enemy who was begging for mercy. The DM decides that this is a significantly evil act, so will decrease his Good score by 2 if the check succeeds. However, the DM rolls an 83, so Maximilian’s Good score remains 54.
The benefit of this system is that it becomes harder to push your alignment towards the two extremes the closer you get to them, and easier to fall back towards neutral. It’s up to you to decide if you inform your players whenever you roll to shift their alignment, or only when they change to a new category. Of course, feel free to change the specifics of the starting alignments and alignment ranges to suit your needs.