The 2d6 curve is a real thing of beauty, but the implementation above is more complex than it needs to be.
Add your wizard level and your intelligence bonus (+1 for 13+, +2 for 16+ and +3 for 18) together and subtract the bonus from any armor worn. (leather provides AC 8, so a wizard in leather has a -2 to this roll)
This is easy to calculate, giving a 'magic bonus' which works very much like a 'to hit bonus'.
The next step is to subtract both the level of the spell and the number of times you have cast it already. This creates two problems, the overhead of tracking the spells cast per day, and this awkward double mathematical operation
Here is my new idea.
You get an arcane pool of 2d6. You get an additional d6 to your pool for every caster level you have and the intelligence bonus adds a 1d6 for every point of bonus (+1d6 for 13+, +2d6 for 16+ and +3d6 for 18).
You get an arcane pool of 2d6. You get an additional d6 to your pool for every caster level you have and the intelligence bonus adds a 1d6 for every point of bonus (+1d6 for 13+, +2d6 for 16+ and +3d6 for 18).
You may roll as many dice as you wish to cast a spell. Compare the total of the roll to the table below. Any die that comes up with a number equal to or less than the level of the spell you are casting is lost and cannot be regained till you rest and memorize new spells. Armor reduces the number of dice you have available. For every point of protection a piece of armor gives you, lose a 1d6 from your spell pool.
Doubles are wild surges, and snake eyes are spell mishaps.
You memorize spells as normal. You announce spellcasting at the start of the round (as indicated on page B28) If you get hit, the spell for that round is canceled, it is only lost on a roll of 5 or less.
2 | Spell fails. Lose the spell |
3-5 | Spell goes off at end of the round. Lose the spell |
6-8 | Spell goes off during the magic spell phase, Lose the spell |
9-11 | Spell goes off during the magic spell phase, you can cast the spell again |
12 | Spell goes off at the start of the round, you can cast the spell again |
You memorize spells as normal. You announce spellcasting at the start of the round (as indicated on page B28) If you get hit, the spell for that round is canceled, it is only lost on a roll of 5 or less.
This has three important effects. Your spell power and utility increases with level. Using more power (rolling more dice) makes it more likely that the spell will go off before combat, that you will be able to cast the spell again, versus the cost of draining your magical power more quickly and causing surges and mishaps to become much more frequent.
That is: Accessing large amounts of raw magical power is useful, but dangerous. This allows casters to have access to more magic while giving them options as to how they use it. Their power drains over time, and drains much faster when they cast more powerful magic. Powerful spells (level 6+) always drain the caster of power.
Conversions
The above is for B/X or OSE style games that have a phased initiative system: Morale first, then movement, then missile attacks, then magic spells, and finally melee. But it is trivially transposed to simple over/under systems by having results of 6+ casting the spell when the player acts. In 5th edition, your spell slots become your magic pool, a second level slot providing 2d6 dice.
This dovetails nicely with equipment like wands, which can increase/decrease/modify spell dice for certain spells or schools (e.g. a wand of illusion that gives you a free 1d6 die when you cast an illusion spell, or a wand of transmutation that reduces the power drain: instead of losing dice that come up 1,2, or 3 when you cast a third level spell, you would only lose dice that come up as a 1 or 2 because the wand makes the spell easier to cast)
It makes magic less reliable, more of an interesting choice, and allows more spellcasting then slots.
This post was originally published on 07/09/2013, and is available in the DMP5: Chainmail Style Casting for Fantasy RPG's from DrivethruRPG for free, along with an Ad-free version for patreons!