[MUD-Dev] Looking for a Magic System (inspired by Bartle's book)
William Leader
leader at k2wrpg.org
Thu Aug 4 16:07:04 CEST 2005
erik wrote:
> I am reading Bartle's book right now and I have to say I really,
> really like the book. All of your footnotes are hillarious
> Dr. Bartle!
> In your book you mentioned that you wished that someone would
> create a magic system that was more flexible where people could
> mix and match ingrediants together to produce new spells...
> I am tinerking with an experiment with GoPets to have some food
> crafting and magic crafting in the future and it makes sense for
> them to share the same system and use recipies...
> I am scratching around some ideas on how to make it dynamic and
> all nifty keen, when I thought that I had a "Question" for the
> list finally.
> The Question: Does anyone have a magic system or a scrawling of a
> list that they wish would get implemented either for free or for a
> fee provided I like it?
> I am not looking for anything crazy complicated super serious... I
> am looking for something cute and fun, like drag a empty potion
> bottle + green spider venom + moon dust = slow or some such. But
> in a way that variations in ingrediants provide variations in
> results...
I was brain storming on how to do something similar to this myself,
and I think I've come up with a simple way to do it. Now I must
admit this technique is connected very closely with the
implementation of my system, so it may not be suitable for all
systems. In my system I have the ability to define objects (and
these can be anything like 'eye of newt' or 'rubber chicken
droppings' but thats besides the point. I also have the ability to
add properties and values to each object. In programming terms each
object has a collection of name/value pairs. These name value pairs
are hidden from players.
Now here is what I do, say I want to create a crafting system where
'eye of newt' is an ingredient for a potion. Now lets say that
potions made with the eyes of red newts are better than those of
green newts. So when someone kills a newt and takes out its eyes,
the 'eye of newt' object is created. The new object also gets a
property set to indicate its effectiveness as an ingredient so
imaging a property name called somepotion_newt_eye_value (again
hidden from players). Depending on what kind of newt it came from it
might have a value of say 5 for a green newt, 10 for a red newt and
0 for a blue newt.
Once the 'eye of newt' object is created the player could use it to
create a potion, The potion creating code doesn't care what color
the newt eyes are, it just cares that newt eyes were added. Then
this code can read that property somepotion_newt_eye_value, and use
that value as part of calculation to determine the power of the
resulting potion. In this example if you used it as a multiplier
effectiveness = 5 * somepotion_newt_eye_value then what color eyes
were used has a big difference, and blue eyes could completely ruin
the batch. If say a fourth kind of newt eyes was used, that had a
negative value, then it could turn the potion into a poison. Or lets
say that two ingredients where used that had very high negative
values, and they were multiplied to create a very high positive
value. Then two ingredients that are normally bad are extra good
when combined.
The nice thing about a system like this is that it creates issues
for where crafters get their supplies. Should they collect their
own, who do they trust to provide ingredients for them. How do they
find out the yellow newts make their potion into poison without a
great deal of experimentation? The other nice thing about this
system is that you can used a small number of 'recipes' for putting
things together that because of variation of components results in a
very wide range of outcomes. Then there are benefits to smart
players to keep their discoveries secret, A player who discovers the
two bad ingredient combination above would have a competitive
advantage over other crafters.
Like I said because of the framework my system has this is very easy
for me to do. It might not be so easily done in the GoPets code.
-Will
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list