Friday, September 13, 2002

Magic: The System

[Magic icon]

I’ve been struggling with a reasonable magic system for my IRC-based MUD. I want a system that is intricate, but easy to use. Last night, I came up with a system that I’m pleased with. Here’s how it goes, though note that the details are open to change:

Through the ages, wizards have searched for sources of mystical power. Over time, they have discovered five sources of magical power, each of which is embodied in a color: Red Magic, the magic of chaos and destruction; Blue Magic, the magic of air and water; Green Magic, the magic of life and forests; White Magic, the magic of the mind; and Brown Magic, the magic of the earth.

[Slayn from Record of Lodoss War]

Each character has a skill level in each of these magical sources. A character with no magical ability has a skill level of 0 in all five sources. A character with some initial aptitude in magic will have a skill level of 1 in one of those sources, and will know a few random spells.

There are four types of spells:

  1. Enchantments, which only affect inanimate objects.
  2. Charms, which only affect animate objects (people, animals, or undead).
  3. Effects (there must be some better term for this), which are not directed at a specific thing. An example of this would be an Illumination effect.
  4. Enhancements, a special kind of spell which enhances a spell being cast. An example of this would be an enhancement that makes a charm last half again longer than it normally would.

Each of these spells has a casting minimum for a particular magical color, which is used to test to see if a particular spell works. This is best explained with an example. Let’s say that the Stupify charm has a casting minimum of 20 for Blue Magic. If a player knows Stupify and attempts to cast it, the system multiplies the character’s skill level in that spell’s color — Blue, in this case — by 50, then picks a random number between 0 and that number. If our character has a skill of 1 in Blue Magic, the system would pick a random number between 0 and 50. If that random number is greater than the casting minimum for the spell, the spell is successfully cast.

[Lodoss war screenshot]

Once a player has racked up a lot of successful spell casts — say, fifty — the system announces to the player that s/he has increased in skill to the point where s/he can “level up” — choose a color to increase in skill. Our player might choose Blue, so that s/he has a skill level of 2 and has a better chance of successfully casting a spell, or might choose another color so s/he can use spells from that color.

New spells are learned by reading about them. Some temples around town will have spells inscribed on the temple itself, so that some spells can be learned that way. Other spells may be hidden in libraries, on scrolls deep in Weirden, etc. Once a spell is learned, it doesn’t go away (though I may eventually add a feature which makes characters forget a spell if they don’t use it for a very, very long time, like a couple of years of game-time).

I use this system of learning spells for two major reasons. One, it gives players a reason to explore the world, to find new spells. Two, there’s little reason for players to keep track of the locations at which they learned spells. They’ll probably never have to go back. As a result, while players will probably point out these locations to other players, there won’t be an incentive to build massive, canonical lists of all known spell locations.

(And if a particular spell becomes popular, we can always produce an event in the world which causes that location to be destroyed, and place an inscription for that spell somewhere else.)

After attempting to cast a spell, whether it succeeds or fails, there’s a short “catching of breath” delay of perhaps ten seconds before the player can cast a spell again. This is to keep a high-level wizard from unleashing a barrage of low-level spells, multiple times per second, mowing down all enemies. I think it’s more realistic for high-level wizards to concentrate on more powerful spells rather than a lot of little ones.

Enhancements can be added to any spell, but if the spell succeeds, that enhancement cannot be used again for a while (perhaps a day of game-time).

With this system, players have a fair amount of information to juggle: available spells, skill levels in the five magical sources, enhancements, etc. But it all operates at different scales; your skill levels will change slowly, your enhancements will change more rapidly, and you can be juggling individual spells more often than that. This should provide for an interesting system that won’t completely overwhelm the player.

At least, that’s the idea.

Leave a Reply

I work for Amazon. The content on this site is my own and doesn’t necessarily represent Amazon’s position.