DanielLC
2009-04-30, 08:59 PM
Whiletruethenprojunthenthermendend
Originally people made spells to do specific things. Levitate, throw fireballs, etc. Someone made a spell that detected potential enemies nearby and signaled you. Someone modified that spell to automatically attack them, with any other spell. Some people started having fun making spells that cast other spells, only on the condition that other spells cast them first. Pretty soon, they talked about Turing-complete spell sets. The use of these spell sets made magic more versatile, but it wasn't that big of a deal. A lot of it was just about theory, for example, making a Turing-complete spell set containing only one spell. Eventually, someone looked at a rune and recognized it. Originally they existed only by trial and error. Now it became possible to make them do anything.
Basically, the spells are programs, and the runes are micro- (well, macro-) chips. They don't actually work together, very well anyway. Unlike most magic systems, the difficulty of magic is for the player, not just the character. If they mess up while reciting a spell or drawing a rune, there character will too.
The magic itself can be generated by most anyone. You must concentrate to make it, and you can't do so for extended periods. It takes training to form it into spells. When you do, it takes about a thaum of magic per round to "remember" (it's stored in the magic itself, not your mind) a syllable or the value of a variable, and a larger amount to execute each syllable. The amount itself varies from syllable to syllable. It takes about one thaum just for being a syllable, one for every variable passed to a function, and a few for the function itself. Syllables that just deal with the structure, such as while, generally take about one thaum. Syllables that are spells themselves, such as therm, take more like five. The spell on the top would take about 2 1/4 thaums to remember, and 20 for each loop around it.
Runes are hard-coded and take no magic to remember. They also take significantly less for their operations, but they are much simpler. It has "gates" that can be opened or closed. It's normally one way, but applying magic makes it switch. Which way it normally is depends on the gate. When the gate is opened, magic goes through. It takes about a tenth of a thaum to keep a gate in its energized state per round, and the changes propagate almost instantly. It takes about twice as much magic for actual spells, though. It's common to place runes on weapons, so that they can bypass the magic-resistance of the opponent's skin, allowing spells to be cast inside of them, and doing extra damage.
There is a naturally-occurring crystal capable of holding about 10 thaums of magic per pound. There is also a much more expensive crystal capable of creating 10 thaums per day per ounce. Since literally anyone can create magic, and the latter is very expensive, it is rarely used. Mainly it's just used to replace magic the former leaks. There is also a variety of magic-conductors, which could, in principle, store it, but not very well. They are used to connect magic items to the crystals holding their magic.
A few important syllables:
var: initializes a variable.
sub<name>vars[<var/sub>then<var/sub>...]end<subroutine>end: initializes a subroutine.
del: deletes a variable or subroutine. This allows you to shorten the spell so that it doesn't take as much magic to "remember".
ra-ti-o: the amount of time between saying ra and ti divided by the amount of time between saying ti and o. This is used if you want to use a number besides zero, one, or anything else you may use.
proj<var>then<sub>end: does <sub> <var> units in front of you.
vrot<var>then<sub>end: rotates <sub> vertically. If it was pointing in front of you, a rotation of zero points it up, one points it forward, and three points it down.
hrot<var>then<sub>end: rotates <sub> horizantally. If it was pointing in front of you, zero keeps it in front, one moves it to your left, two moves it behind you, three moves it to your right, and four moves it in front again.
----
Are there any games that do it this way? The only example on the TV Tropes page Powers as Programs (tvtropes.org/pmwiki/pmwiki.php/Main/PowersAsPrograms) that actually seems to fit the name is the Wizardry series, which isn't a game. This would probably be better as a computer game, as it would be way better at detecting your bugs.
Originally people made spells to do specific things. Levitate, throw fireballs, etc. Someone made a spell that detected potential enemies nearby and signaled you. Someone modified that spell to automatically attack them, with any other spell. Some people started having fun making spells that cast other spells, only on the condition that other spells cast them first. Pretty soon, they talked about Turing-complete spell sets. The use of these spell sets made magic more versatile, but it wasn't that big of a deal. A lot of it was just about theory, for example, making a Turing-complete spell set containing only one spell. Eventually, someone looked at a rune and recognized it. Originally they existed only by trial and error. Now it became possible to make them do anything.
Basically, the spells are programs, and the runes are micro- (well, macro-) chips. They don't actually work together, very well anyway. Unlike most magic systems, the difficulty of magic is for the player, not just the character. If they mess up while reciting a spell or drawing a rune, there character will too.
The magic itself can be generated by most anyone. You must concentrate to make it, and you can't do so for extended periods. It takes training to form it into spells. When you do, it takes about a thaum of magic per round to "remember" (it's stored in the magic itself, not your mind) a syllable or the value of a variable, and a larger amount to execute each syllable. The amount itself varies from syllable to syllable. It takes about one thaum just for being a syllable, one for every variable passed to a function, and a few for the function itself. Syllables that just deal with the structure, such as while, generally take about one thaum. Syllables that are spells themselves, such as therm, take more like five. The spell on the top would take about 2 1/4 thaums to remember, and 20 for each loop around it.
Runes are hard-coded and take no magic to remember. They also take significantly less for their operations, but they are much simpler. It has "gates" that can be opened or closed. It's normally one way, but applying magic makes it switch. Which way it normally is depends on the gate. When the gate is opened, magic goes through. It takes about a tenth of a thaum to keep a gate in its energized state per round, and the changes propagate almost instantly. It takes about twice as much magic for actual spells, though. It's common to place runes on weapons, so that they can bypass the magic-resistance of the opponent's skin, allowing spells to be cast inside of them, and doing extra damage.
There is a naturally-occurring crystal capable of holding about 10 thaums of magic per pound. There is also a much more expensive crystal capable of creating 10 thaums per day per ounce. Since literally anyone can create magic, and the latter is very expensive, it is rarely used. Mainly it's just used to replace magic the former leaks. There is also a variety of magic-conductors, which could, in principle, store it, but not very well. They are used to connect magic items to the crystals holding their magic.
A few important syllables:
var: initializes a variable.
sub<name>vars[<var/sub>then<var/sub>...]end<subroutine>end: initializes a subroutine.
del: deletes a variable or subroutine. This allows you to shorten the spell so that it doesn't take as much magic to "remember".
ra-ti-o: the amount of time between saying ra and ti divided by the amount of time between saying ti and o. This is used if you want to use a number besides zero, one, or anything else you may use.
proj<var>then<sub>end: does <sub> <var> units in front of you.
vrot<var>then<sub>end: rotates <sub> vertically. If it was pointing in front of you, a rotation of zero points it up, one points it forward, and three points it down.
hrot<var>then<sub>end: rotates <sub> horizantally. If it was pointing in front of you, zero keeps it in front, one moves it to your left, two moves it behind you, three moves it to your right, and four moves it in front again.
----
Are there any games that do it this way? The only example on the TV Tropes page Powers as Programs (tvtropes.org/pmwiki/pmwiki.php/Main/PowersAsPrograms) that actually seems to fit the name is the Wizardry series, which isn't a game. This would probably be better as a computer game, as it would be way better at detecting your bugs.