Recently I have come up with an idea of a magic system in an rpg game that works by translating natural text to the magical actions and properties of the objects in the code. It is essentially a compiler of sorts that converts natural language to scripts that are basically spells.
So for example you would type, or say. “Let this rock glow” And it would make a script that changes the property of the luminosity of the material of the target to emissive permanently. Additionally this language perhaps wouldn’t be English but something more Celtic scattered around the world in the books that you must learn. Perhaps a language randomly generated at each start. Learning magic would be equivalent to deciphering an ancient language from the historical texts.
Each object property that is able to be influenced in magical scripts has a c# [attribute] and there is this kind of lexicon that connects what kind of words it will translate to.
Additionally there is a hidden multidimensional field called Melody that reacts to the spells and influences its effects in subtle ways, a bit random, a bit connected to place, a bit reacting to the residual history of cast spells. It reacts to the magical beings nearby proportionally to their power, bending the field in the direction of the flavor of the being inherent nature (ex. evil, light, nature…). Then the dimensions of the field modify the execution of the scripts of magic nearby.
In practice it would work like this: A wizard of great willpower is at the moment of great strife plot wise, in the presence of the great evil, in the place of great ancient history and he says the words: “Struck this rock with lightning” and the whole mountain comes apart in a violent outburst of the red sparks.
Each game run that would consist of the series of quests would be unique in the magical outcomes and thus how they shape the world. Subsequent runs thus would affected by the previous runs. Lack of balance would be counteracted by encouraging of experiencing subsequent unique run or deleting the world and starting anew.
Recently I have come up with an idea of a magic system in an rpg game that works by translating natural text to the magical actions and properties of the objects in the code. It is essentially a compiler of sorts that converts natural language to scripts that are basically spells.
So for example you would type, or say. “Let this rock glow” And it would make a script that changes the property of the luminosity of the material of the target to emissive permanently. Additionally this language perhaps wouldn’t be English but something more Celtic scattered around the world in the books that you must learn. Perhaps a language randomly generated at each start. Learning magic would be equivalent to deciphering an ancient language from the historical texts.
Each object property that is able to be influenced in magical scripts has a c# [attribute] and there is this kind of lexicon that connects what kind of words it will translate to.
Additionally there is a hidden multidimensional field called Melody that reacts to the spells and influences its effects in subtle ways, a bit random, a bit connected to place, a bit reacting to the residual history of cast spells. It reacts to the magical beings nearby proportionally to their power, bending the field in the direction of the flavor of the being inherent nature (ex. evil, light, nature…). Then the dimensions of the field modify the execution of the scripts of magic nearby.
In practice it would work like this: A wizard of great willpower is at the moment of great strife plot wise, in the presence of the great evil, in the place of great ancient history and he says the words: “Struck this rock with lightning” and the whole mountain comes apart in a violent outburst of the red sparks.
Each game run that would consist of the series of quests would be unique in the magical outcomes and thus how they shape the world. Subsequent runs thus would affected by the previous runs. Lack of balance would be counteracted by encouraging of experiencing subsequent unique run or deleting the world and starting anew.