... now with 35% more arrogance!

Monday, August 16, 2010

Build-a-Spell II: Variables

My spell-building system isn't usable yet, but I want to record my thoughts during the process, so that I don't lose anything. In my previous post about the spell-building system, I laid down some basic concepts:
  • spell forms (ranged damage spell, obstacle spell) of specific levels;
  • don't tinker with individual spell elements on a per-spell basis;
  • swap or add features into forms to create specific spells;
  • customize on a spell-list-by-spell-list basis.
So, for example, the Magic-User spell list has two ranged damage spells, Fireball and Lightning Bolt, which are both 3rd level. I want the damage for both to be level-based and identical, and the range to be level-based and identical; the difference is that Fireball creates a burst area effect at the indicated range, while Lightning Bolt can reflect or bounce. Another spell list, like Illusionist, might have ranged damage spells at a much higher base level, in exchange for other spell-list-wide features, like illusions being indefinitely renewable. For a given spell list, all spells of a given type will have similar base durations, ranges, areas, and so on.

I don't like the bulky AD&D-style spell blocks, particularly since my "similar base elements for similar spell types" approach would make the information very repetitious. So, I was working on compressing the spell blocks as much as possible. If, for example, all variable damage spells do damage equal to 1d6 x caster level or HD, I could just note that in the description of the spell list, and use a single-character code to indicate that a particular spell has variable damage ... maybe a "D", so Fireball might be written like this:
Fireball (Attack: DRA) creates a fiery explosion at the indicated location.
And Lightning Bolt becomes:
Lightning Bolt (Attack: DR) strikes target in indicated direction, can bounce.
Then something occurred to me: Fireball is a 3rd level spell with three level-based variables; Lightning Bolt is a 3rd level spell with two level-based variables plus one feature (bounce.) I could define spell level in terms of # of variables + # of extra features.

Cantrips (0-level spell effects) have no variables and no real features; they duplicate ordinary actions, but suspend one requirement normally associated with those actions. A Spice cantrip duplicates the action of sprinkling spice on something, but suspends the requirement of having that spice physically on-hand; a Gather cantrip duplicates the action of gathering nearby items into a pile, but suspends the requirement of actually touching the items. Adding a feature -- expanding Spice into a generic small quantity of substance creation spell, Create Ingredient -- would make the spell 1st level; its range, quantity created, duration, and other factors would be fixed, but would be better than the equivalent cantrip. Similarly, adding variable range to a Gather cantrip to define a Snatch Item spell would make the spell 1st level; its range would be something like 1" x level.

I haven't fully tested this against the existing spell list, but it looks promising.

4 comments:

  1. Normally I'm not a big fan of build-a-spell formulas, but when I notice that your four guiding principles are the exact reasons that I don't like other spell building guides, I'm all for this.

    Cool stuff.

    ReplyDelete
  2. I've started to analyze the existing LBB spells to see if they'll fit reasonably into the simple framework above; I'll explore them in a couple posts.

    But yeah, I don't like many build-a-spell formulas, because then you need stats for individual spell ranges, durations, and the like, and it's harder to remember stuff off the top of your head. Better to say that all 1sr level spells last one base unit of time, all 2nd level spells last a larger base unit, and so on, unless the spell includes Variable Duration, which is 1 unit/level. Then, all you need to remember is what the base units are for all spell levels, or all spells of a given type.

    ReplyDelete
  3. Thanks for bringing this to my attention! Awesome, plain and simply put!

    TB

    ReplyDelete
  4. @The Bane: You might want to check later stuff I've been doing along these lines, though. These early posts are mainly useful for looking at the background behind what I'm trying to do.

    I do want to create a full-fledged cantrip system based on what I describe here, though.

    ReplyDelete