• Advertisement

Archived

This topic is now archived and is closed to further replies.

A unique (hopefully) magic system idea....

This topic is 6355 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

SantaClaws: You state that players would hide their spells from others. There is another way that I can think of that would remove the chance for this to work. Make the spell casting routine unique to the player. i.e. You make symbols or power words random for each spell. You could also keep track of whether the player had learned this or not. This way, you can also add in a possible danger in that the player casts a spell that hurts them... A more effective way of controlling cheats .

It also makes it just as hard the next time around when the player already knows spells from their other characters

-Chris Bennett ("Insanity" of Dwarfsoft)

Check our site:
http://www.crosswinds.net/~dwarfsoft/
Check out our NPC AI Mailing List :
http://www.egroups.com/group/NPCAI/
made due to popular demand here at GDNet :)

Share this post


Link to post
Share on other sites
Advertisement
That is an interestign idea....

Is there any way you know of that would work with the aforementioned ''spell scripting system''?

Share this post


Link to post
Share on other sites
Instead of scripting, why not a drag and drop screen - you drag some spells in the order you want to cast them onto a scroll, then read the scroll to try your new spell.

Share this post


Link to post
Share on other sites
A lot of these ideas are in my system already (brag, brag). The interface for creating spells would be graphical. The player strings together a series of elements that are translated into the spell script. The player never writes the script (possible option for advanced players).

As for power, the cost of the spell will be directly related to the magnitude of the spell (damage, range, duration, etc.), so if I want to cast a fireball as a newbie, I can only afford to make it go so far and do very little damage, but as a higher level mage, I just up the values and suddenly I''ve got the Gates of Hell Fireball up my sleeve. Same spell.

The results of spells are based on the caster and the environment, so not only will the same recipe respond somewhat differently for another mage, but the same recipe for the same mage may respond differently based on the magical nature of the environment. Your fireballs will be unnaturally powerful when cast near the elemental plane of fire, while they may fail altogether near the elemental plane of water. Caves, forests, mountains, oceans all have an elemental effect on the spells. As the mage progresses, she learns to sense the environmental differences and compensate automatically. But a newbie with a complex spell is taking a risk every time he tries to cast that spell in a new area.

Magic is dangerous, and much of that is lost in CRPGs today.


Pax

Share this post


Link to post
Share on other sites
Pax, Do you mean that you have actually implemented these ideas?
if so - do you have a d/l link, I''d love to see this...

Share this post


Link to post
Share on other sites
It may be a good idea to allow the user to set duration, fire rate, and damage, but my thinking is that newbies will have difficulty finding a working combination of values. Also, it is definitely a bad idea to make the values constants, since then to create, say, fireballs of different damage you''d have to make many copies of the same exact spell. It would be better to use some sort of sliders in-game to change these values at run-time, but then people would often be fiddling with them.

In short, I''m not just thinking of what would work for me, but what would work for other people without being too complex or repetitive.

~CGameProgrammer( );

Share this post


Link to post
Share on other sites
I was looking at BOTH of our systems (mine and pax''s) in depth tonight and have come to one astounding, but true, conclusion.

We are not writing a script, but setting variables.

Look at it! Where''s the loops and the ifs? Certianly, this makes it easy for the player to make spells! But for that extra functionality, give the players an option, if they are greater than a specific mastery in the selected spheres/atoms/aspects to give there magic a limited ai!

Here''s what I propose:

If the mage elects to choose to include a limited ai within his spell (mage compensating for known scenarios), make it cost him. First off - I suggest using a binary tree to hold this elementary AI -- for each decision there''s two, and only two possible outcomes. It would be something like this

.(true)...../Spell.SetState(explode);
IfEnemyNear............./Spell.SetState(explode)
.(false)....\IfMagicNear
........................\Spell.DoNoAi();

or in todays c code it would look like:

if (IfEnemyNear)
Spell.SetState(Explode);
else
if (IfMagicNear)
Spell.SetState(Explode);
else
Spell.DoNoAi();


Make it so each node, or decisionmaking process, of the enemies ai increases the overall cost of the spell, by say 1.5x its normal cost, which means that the aforementiond decisionspace for the spell would increase its cost by 2.25x (1.5 * 1.5 = 2.25)
As you can see, it would add to the power, and it can be kept simple ingame by doing a drag-and-drop on a image of a binary tree.

what do you think?

Share this post


Link to post
Share on other sites
Well in terms of spell power I had an idea that the longer the user holds down the casting trigger hte more powerful the spell becomes, and the more proficient that the caster is at that particular sphere the faster the power would rise for the same amount of mana.

Also for the casting of spells (this is from d&d 3rd ed) that casters at the start of the day memorise all the spells that tehy are going to use through out the day, then when they need to they just recite the keyword of the spell that they chose for the day and cast it. this could be easily integrated with the above idea in that when the caster is casting it they say the magic word (hehe) and click on a location target etc, and depending on how long they hold the mouse button down is how powerful the spell gets.

Also I reckon that the caster should have to stay still during the casting of the spell otherwise "the magical energies will be too unfocused" and some sort of mishap would occur, i.e. in the case of fire magic, i.e. casting a fireball while moving the energies would spread around the area where the caster had travelled and therefore there would be an inferno instead etc. and the caster would get injured. This would make casters very wary and fearful for their lives... and remain passive until they can either afford or create someone or something to fight for them...

That''s why you don''t see any powerful wizards fighting with a sword and axe on the battlefield, rather they command great amounts of minions to do the bidding for them.

Dæmin
(Dominik Grabiec)
sdgrab@eisa.net.au

Share this post


Link to post
Share on other sites
Solthar said :
quote:
I was looking at BOTH of our systems (mine and pax''s) in depth tonight and have come to one astounding, but true, conclusion.

We are not writing a script, but setting variables.



I don''t want to be like nagging, but I think we are three people to have told you so already (granted it was on the other thread on Game programming).

As you say, you don''t have any conditional, or loop structure, you only have to set attributes, eventually in an embedded manner (if a spell can call another spell).
And even if you have conditional structures, I don''t think it would be that hard to do (if you don''t allow too complicated conditions).
As I said in the other thread, if you read the Flipcode article on scripting engines, you will see that most of the work goes in the verification, translation and other stuff that a good compiler do. But if you use a graphical interface (a bit like the one in MAcormedia Flash ?) you can make a foolproof system (well, at least you can try more succesfully).

So now, the main problem is how do you generate a spell ?

Personnaly I like the grammar view about it.
A spell is like a sentence.

You have a Verb, an Object, and adjectives and complements to specificy things like size, direction, special effects, etc.

Say a fireball use a verb Create
then in a list of Objects, you choose Elemental, the Fire, then you add adjectives like Shape (ball), Speed (it''s moving) and whateve other things you can add a complement to your sentence "To" which then asks for an Object, you would choose Target, Other (you have to designate a target that the fireball is going to be sent to)

Of course my example is messy and confused, but I am just typing this on the fly, and besides, I just want to give you an idea on what I am taking about.

hope it helps.

youpla :-P

Share this post


Link to post
Share on other sites
quote:
Original post by ahw

Solthar said :
I was looking at BOTH of our systems (mine and pax''s) in depth tonight and have come to one astounding, but true, conclusion.

We are not writing a script, but setting variables.



I don''t want to be like nagging, but I think we are three people to have told you so already (granted it was on the other thread on Game programming).


I was one of the others So, is it really all that astounding? Just work out the attributes you need to model, and off you go.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
hehe Kylotan
Well, I have posted quite a lenghty post in "Let magical be magical". And I''d like to reiterate some of my arguments here quickly.

Basically, no, there is nothing really surprising in the conclusion that we are only assigning values to variables.
What is much more important is the way you are going to let the users create spells.

First, do you want beginners to have the same abilities in creation of spells than veterans ??
And if you don''t allow some things for beginners, then how do you prevent them from seeing it. As well, I love the idea of veterans passing on their knowledge.

Basically, I wouldn''t let beginners be able to do any mess with cretaion of spells, only very advanced users. And the possibilities of creations (and thus the INTERFACE) would increase with the ability of the character.

Well, basically, read my post in "Let magical be magical"

youpla :-P

Share this post


Link to post
Share on other sites
hehe Kylotan
Well, I have posted quite a lenghty post in "Let magical be magical". And I'd like to reiterate some of my arguments here quickly.

Basically, no, there is nothing really surprising in the conclusion that we are only assigning values to variables.
What is much more important is the way you are going to let the users create spells.

First, do you want beginners to have the same abilities in creation of spells than veterans ??
And if you don't allow some things for beginners, then how do you prevent them from seeing it. As well, I love the idea of veterans passing on their knowledge.

Basically, I wouldn't let beginners be able to do any mess with cretaion of spells, only very advanced users. And the possibilities of creations (and thus the INTERFACE) would increase with the ability of the character.

Well, basically, read my post in "Let magical be magical"

youpla :-P

(sorry for the double post, thought I had cancelled it ...)

Edited by - ahw on August 25, 2000 12:35:08 PM

Share this post


Link to post
Share on other sites
Time to jump in on a long topic without reading the whole post... I don''t have that much time right now to read 3 pages.

1) I think a system like this is a good idea, and it could be translated to other genres and styles besides just fantasy RPGs. Not only would it allow for easy updates and additions to the game, by both the company and fans, but it would also probably make the game flow easier, and could work in an easy spell creation system in-game.

2) Have you ever played Elder Scrolls 2: Daggerfall? I''m not very far into it, and I don''t have access to the spellmaker in any of the guilds yet, but I think Bethesda already had something of this style. (BTW, if you haven''t already played it, look around--I got a copy for $21.99. Its graphics are kind of weak, but it''s the most addictive game I''ve played.)

I also see something else that was in Daggerfall: linking magical items to the user''s mana pool. If I remember right, Daggerfall items can be enchanted with things like "casts ice storm on strike", but in order to cast it, you must have enough mana, and mana is deducted. That''s a good control mechanism, so someone can''t get a weapon that casts >>Ultimate Big Damage Spell<< on contact.

Spell difficulty could be determined according to the CommittedMP variable--the more MP, generally, the harder the spell. In your example of spell times, however, I think summoning a pillar of flame is exaggerated--unless a wizard is in a castle under siege and really has 3 days to cast a spell, it would be useless. Only major spells like golem creation and demon summoning should really take that long.

One more comment: On your "Glowing Halo" spell, Intent(Neutral) kind of makes the spell pointless. There isn''t any other variable or effect or whatever in there to say it gives off light, so basically the caster has spent 15 MP for nothing.

However, I do think it''s a good idea--there are a few kinks to be worked out of it, but that''s normal with any new, original system.

--


All hail the Technoweenie!

Share this post


Link to post
Share on other sites

  • Advertisement