[MUD-Dev] Re: (had no title)

quzah quzah
Tue Sep 22 11:10:48 CEST 1998


From: Vladimir Prelovac <tomcat at galeb.etf.bg.ac.yu> on Tuesday, September 22,
1998  at 4:49 AM


[requoted, due to screwie line wrap]
>The spells are one of my concerns. I am looking for
>a spell system, that would be possible to code, and
>would let the spellcasters create new spells in the
>game. Something like spell researching. What I, so
>far, have in mind is making a base of 50 or 100
>various effects that a spell may produce. Then making
>a base of 50-60 basic spells (as a combination of those
>effects) which the player can start with (finding runes
>near his village, a local wizard teacher, a wandering
>mage... ).

Actually, I am doing something similar, however, I have
in mind a much simpler effect list. Basically, there are
only a very very few things that a spell can do:

Lower X
Raise X
Set X to Y

Well, that sums it up. (grin) Pretty simple? Those three
I believe can apply to anything, except for perhaps a few
additional ones for string modification and what not:

Remove X from Y
Add X to Y

Now then, your spell will use any of these in combination
to get its results. Say we make "fire ball".

1) area of effect needed
2) range needed
3) component list
4) sylibus list
5) spell trigger/action

Now then, the actions required for it are spoken words,
and then throwing the components (action list)

%create spell
Ok, you are now in the spell creator.
%spell name fireball
Ok, you name your spell "fireball".
%spell action0 +spoken
Ok, your spell requires spoken words.
%spell action1 +thrown
Ok, your spell includes throwing motions.
%spell component +soap
Ok, your spell requires soap.

(Hey! It's my spell, I can make it use what I want! :)

%spell component +feathers
Ok, your spell requires feathers.
%spell sylabus "oha soa pa chi ken"
Ok, you must chant "oha soa pa chi ken" for your spell to work.
%spell base fire
Ok, the basis of your spell is fire.
%spell done
Your spell has been created!

(I didn't add in area of effect, but perhaps you already
have a good fire handler to take care of that? :) I think
I would rather have the spell base pulled from an element
list which used its components to decide what it did, but
for this small example, I didn't do that. Also, I didn't
do anything with damage and the above mentioned 5 things.
Why? Well the spell engine/physics model will handle all
of that. The only thing that goes into this spell, is how
to cast it, and what its base is. -- Fire. Fire burns,
the world modle will take care of figuring out how it
burns, and what all happens there. (Anyway, that is how
I am doing it, in a rough sort of sense.)

However, basically, once you set up a list of things
that you allow your spells to modify, there are only
ever those three to five things that ever will happen
to whatever gets modified. (X gets lowered, raised,
set_to). You can use that for any variable. Rooms.
Well, rooms have a number (generally) which can be
set_to, lowered, raised... The same goes for I believe
anything in a mud. (Really makes it simple.)


>ALL the other spells shall become to existance
>by the spellcasting players themselves (ie. after
>some time spend on research, mixing various material
>and such, a mage could come up with a new spell). He

Bethesda's "TES: Arena" had a spell editor that did
a similar sort of thing (kinda) they had it broken
down into a few groups, (though not as simple as my
model) attack, heal, add wall, remove wall, boost
stat, etc... I have just made it much simpler, in
that anything only has three things done to it, and
so, why complicate it?

>would then give it a name, write it to his spellbook,
>and maybe teach it to his friends. That way the new
>spell, carrying the name he gave it, would be tought
>in the lands for generations after. Do you have any
>ideas on this, advice or such. (I've downloaded the
>list archives and have just started browsing it, and
>didnt come to any such discussion yet. Heh, did you
>know there are more than 20,000 sheets of paper
>there? :)

Cheers,
Vladimir.

Enjoy.
-Q-





More information about the mud-dev-archive mailing list