Player-Made Magic

Started by
27 comments, last by Arkantis 18 years, 8 months ago
What if you were to see magic runes as functions, eg.
Spell Rune_Big(Spell Source)Spell Rune_Fire()
and then in a spell designer, you attached the 'Fire' rune to a 'Big' rune, the program would calculate the final spell as Rune_Big(Rune_Fire()).
Image Hosted by ImageShack.us

If you then coded
Spell Rune_Ice()Spell Rune_BallMagic(Spell Ball, Spell Trail)
, the user could create:
Image Hosted by ImageShack.us
which, depending on how you interpreted:
- A very big ice ball with fire trail
- A big fire ball with a big ice trail

My 2c.
Advertisement
I'd though of a similar system, though abit more complex and hardly infinite. Having Seed-Spells can be fun since there are no combinations that don't do anything cool so more combinations could be seen as useful and entertaining, with static spell systems you end up with alot of empty combinations that you have to boringly sift through to find a working combination (IE: Ultima Underworld, Arx Fatalis, etc). But other than entertaining the player and balancing the spells out, the systems are virtually identical, simply because the constraints on seed-spells eventually yields a limited amount of "useful" spells anyway.

Infinite combination spell systems also have extremely limited uses outside hardcore gamer circles and MMO's, simply because most casual gamers will move on after only trying a couple dozen or so combinations, you'll get a "wow thats neat" and then they'll shelve it. Even in MMO's the community will eventually establish common variations of spells anyway, the only difference being that their defined by the user base and not the developer.
How about a spell system in which players are allowed to create spells from experience. With creating spells I mean program them in a c-like scripting language. This would limit the game to programmers (with some artistic capabilities) but it would be very diverse and fun. You could for instance buy writable characters for the script with experience points. Or have the size of your spells geometry cost, amount of animation involved...

-CProgrammer
Since my last reply on this post, many wonderful ideas have since croped up here. This in turn has fueled my imagination, and that on top of being a DM and long time D&D player, has given me an idea to share with you. Now I do not know what it would take to program this but here it goes. (sorry if it is long-winded)

Now in most RPG's spell casters have to concentrate to cast spells, and also have symbotic moves and or materials. So lets say as the caster, and this is if you are making the game play in first person, once you initiate the spell casting sequence, your view of the battlefield goes dark. This would represent your total concentration on casting the spell. Now during this time your grid or say a geometrical shape, like a 20 sided die, would show up on screen, giving you time to draw out your spell. Then when you cast it the screen goes back to battlefield view. Now again as in most RPG's players can get combat casting proficiencies or skills, so to represent this in game, the player's battlefield view would become less and less dark, depending on the characters level in said skill. This then would start allowing them to see coming attacks and maybe avoid them. As for any player viewing them, they would not see the grid, but would see the casters arms moving to his mouse strokes, which adds the element of other playes being able to recognize the spell being weaved by the casters movements.

I know your original post was on a good way to allow players to create custom spells, and that this reply realy does not deal with that, but it would be a great way to implement your grid into the game.

Expanding on the circuit board idea, I guess you could do this. You could assign each node a certain effect, such as elemental damage, shapeshifting, transportation, statistics boosting, or whatever. Then define a set of rules that govern the "flow" of magical energy through the "magic circuit" that you design. Then, perhapse when you cast the spell, you specify a certain amount of magical energy to put through your circuit, like how you can choose how much energy to put into a spell in, say, the text based adventure game phantasia. If you don't put in enough, then the spell fizzles. If you put in too much, maybe the circuit overloads and does something random, but maybe related to the original spell (i.e. it randomly adds to the circuit, I guess to give the energy somewhere to go, and then determines the effect based on that). The actual effect depends on the number and location of "wires". This would naturally allow itself to organize into spell levels, if you made each wire take a certain amount of energy, although this wouldn't neccessarily be linear.

So perhaps the caster, when devising a new spell, would be presented with his "magic circuit board" and be allowed to connect up his circuits. Maybe he can research/find new nodes to connect wires to. Maybe he can upgrade his circuit board.

Maybe each caster has a unique board with randomly placed circuits, so that he cannot merely straight-up copy spells from other wizards, but must learn to modify them himself, although the basic principals would remain the same for all casters. That way, magic would truely be a unique and personal thing for each player. Think of DnD, if anyone plays it. You cannot just copy other wizard's spells from their spellbook - you have to research how to convert it, since magic language is different for each wizard. Same principal here.

Expanding on that last thought, what if each caster could choose some basic spells to have pre-learned at the start of the game. The game would auto-generate the "spell boards" for the caster, so that he can examine them to see how they are connected together. This way, he would have some basis for experimentation. And as the player became more experienced, he would be able to figure out how to make spells more easily, and may be able to help other wizards. A whole in-game industry might develop out of this.

Also, what if the caster could find new nodes for his board. His "board" isn't infinite in size, and doesn't start with more than a few basic nodes. He chooses to start as an "elemental wizard", so his board starts with the fire, water, earth, and air nodes, as well as a "ray attack" node, and a "touch attack" node. If he wants to be able to cast a heal spell, he needs to get the life node, and the "affect self" node. He might get these nodes by doing quests for the Lord High Priest.

Additionally, each node might have an opposite that would negate its effect - if you combine the death node with the life node, their opposing energies cancel each other out. Same for earth and air, water and fire. Also, maybe some effects would help or hinder others - combining fire with heal doesn't really make sense, does it? Maybe this would cause some strange effect to happen, like a heal spell that only works on creatures of the fire subtype, like a fire elemental. This could lead to an interesting chart of how all the elements interact.

Finally, this system would be self-limiting. If the player tries for an effect with too much power, then either the spell creates some harmful effect to him. Maybe he can increase the amount of power of the spell by, say, linking together several fire nodes if he wants a very powerful fire spell. Also, the caster might be able to increase his power level and gain more control over his board, allowing him to pump more energy through each node without having to increase the number of nodes on the board.

Obviously, under this system, nodes would be quite difficult to obtain, and probably shouldn't be able to be bought or sold. Maybe the amount that would fit on the board is limited by the character's level, so he has to pick and choose his nodes, like how wizards in other games must pick what spells they will learn.


I like this idea.
my siteGenius is 1% inspiration and 99% perspiration
A couple more things.

First off, what if you modeled it as two things? Not just a circuit board, but also as "magical atoms". Some "atoms" like to bond in certain ways, to form "molecules". In real life, some atoms/molecules like to bond to each other in certain ways. In organic chemistry, hydrogen bonds are often used to bond molecules together. Maybe in our magical chemistry, certain magical elements are good for bonding certain others together, forming big chains of magic atoms as charted on the circuit board. You could just write a table lookup to see what elements bond with each other, and what effect happens. If the wizard created a spell where all the elements didn't bond, then perhaps the spell would just fail, or maybe this would be an occasion for the game to make some effect out of the elements that do bond. Maybe in our game, water is tightly bonded with life/healing. So if you wished to make a cure spell, then you bond the life node to an "affect self" node, using a water bond.

Of course, that could just be way too complex.

Also, if you determined the "value" of the spell (i.e. how much damage it does) when making the spell, then you could make a gesture system such as the one used in Black and White to cast the spell, after you had saved it in your repertory. Hell, they even have an article on it on this site. This would make it even more fun to cast, and help the immersion - come on. Would you rather cast a gigantic fireball by making a cool gesture on the screen, reproducing that powerful gesture that you spent so long perfecting, or by clicking a button on a panel? I think the answer is obvious. More work for the coder of course, but if you implemented this, I think it would have to be a major part of the game anyway - who wants to be a fighter if you could be doing this instead? Of course, if you had some sort of melee combat-oriented gesturing system as well, where you determined what kind of stroke the warrior was using by how the user moved the sword, that might be fun. Or it might suck. I don't know.

my siteGenius is 1% inspiration and 99% perspiration
The old game Dungeon Master had a limited "player made" magic system, which can be found here. What you had was this series of four "runes" that you would press to cast the spell. They were Power, Element, Form and Alignment. Each series had 7 different runes, and the first one (power) only effected the intensity of the spell, not the outcome. So you ahd 7^3 = 343 different possible spell combinations. There were scrolls through the dungeon that told you certain combinations did certain things. Part of the fun was experimenting with the different rune combinatiosn to get new spells before they were revealed to you. I thought it was kind of cool, insted of hitting this little "fireball" icon you were casting FUL IR (element of "fire" followed by the form of a "wing"! It made you feel more like a wizard.

However when DM2 (Skullkeep) came out, alot of people hated it. The problem I see with your system is players will have to remember what all the runes mean. 95% of gamers want one-click spellcasting and don't want to have to remember anything.

I would love some sort of detailed spell system where you would draw runes or use hamd motions or even combine components (or some combination of the three). It would kickass to have to hold a feather in your right hand and a bit of sulfur in your left, uttering some incantation while you blow the sulfer over the feather to cast a fireball. Part of what this does it is allow to experiment and discover things on your own instead of being spoon fed everything. You could also do stuff like brew potions or enchant weapons. Too bad no one is going to develop it(at least as an AA or better title) because it would never sell.
It took me a while to remember where I had seen similar magic system.
alexokita posted a pdf of his design.
http://www.gamedev.net/community/forums/topic.asp?topic_id=324445
How about this.... You have 9 total dots on your grid or so. Each one its own type of magic, water/ice/air/levitate/etc.

The player could have 2 different skills types, one for how many connections he can make, so at skill level 1 he could only do two dots, to a max of like 5 or something random with higher skill level. Than he could have a skill level in each individual dot, so if he uses ice and air together alot ice and air get higher in power.

so than for each dot, you create a formula, some formula that would say "based on the number of connections made so far and the skill level in this one, i am going to provide x damage"... So when you choose Water than Ice on the grid, with a water skill level of 5 and an Ice level of 10, you do 50 water damage and 70 Ice damage.. The skill would merely determine the power obviously.

Than the next part would be to determine how to relate each item, basically the input for the response each type need should be the target first(player/npc/object/etc) followed by the list of previous selected types. This could be made into a script so easily modifieable.

It would be like, fire by default sets things on flames, objects/npcs, but when the target is self it adds a fire shield/resitance.
Fire when combined with levitate sends a fire ball to NPCs/Objects, but when on self it gives you great ability to jump as though there were a fire under your feet. Fire combines with air gives it greater damage as theres more air feeding the flames. Etc etc etc

That way you could have the system automatically figure out some combos on its own just by the way things respond to each other... and of course designers could make their own crazy patterns also

This topic is closed to new replies.

Advertisement