Thanks for the responses! Please forgive the following ramble.
A Written Language. My example of Mana++ was an analogy. However, using a typed language for Mana++ could be a good place to start, or at least offered as an optional command line interface. I would prefer to use a syntax closer to spoken language than that of popular computer languages(ie C++). The notion here is to provide a sense of realism such as invoking a spell verbally as you read it aloud from a Grimoire. But, who knows, L33tspeak could be popular for casting spells in a Computer RPG.
For starters, Mana++ would be syntactically reversed in construct declaration and would compile constructs based on context of usage. Thus a construct may serve many different purposed based on context. I by default would use English (although i think latin would be more fun and challenging).
In Mana++, you name the construct followed by the Construct Type or Data type. The interpreter would parse the statement ignoring optional `inert fill` words like (the, a, of) and only acting on `active` keywords like `is` (=, ==). You could place `inert` filler words anywhere in the statement and the parser will ignore them.
The fireball Spell
Create the greatballoffire Rune from a Projectile
The greatballoffire's life is created from a timer that decrements by 30 Ticks per cycle
Cast Circle of throwgreatballoffire until it's collision occurs
move the greatballoffire's in the forward dirction of 1 meter until greatballoffire's collision occurs
if greatballoffire's collision occurs with a Enemy then Enemy's penalty recieves the degrade Spell
End throwgreatballoffire
The End of the fireball
void fireball(void)
{
Projectile* greatballoffire Rune = new Projectile;
greatballoffire.life = new timer(30 * 1);
Meter* movement = new Meter;
throwgreatballoffire:
greatballoffire.direction.forward = 1;
impact Target = greatballoffire.collision;
if (Target == Enemy)
{
}
if(collision == true) goto throwgreatballoffire;
}
A Visual Spell Language (with emphasis on creating the spell, not just the visual effects of the Spell). I've examined the Visual Logic Editing approaches used by
Kodu,
Kismet,
Alice,
Scratch. But what has really captivated me is the Little Big Planet's approach to Logic Circuits. What I admire about LBP's Visual Logic Circuit implementation is that complexity level is scalable. Simple circuits can be combined to create more complex ones. Additionally, LBP's visual representation is unlike any of the others described above. It makes a beautiful game out of creating mundane logic. That philosophy is on par with what I desire to deliver.
I've pondered over approaches to Visual Logic Editing. My current idea based on my experience in writing
Script Systems and my plan is
GUI-tize a stack-based
Virtual Machine with a relatively small Visual Logic Instruction Set. The Logic Circuitry (Input/Output Connection) System that Kismet and LBP uses does appear to be very intuitive. The trick for me, will be to find a way to make
Visual Logic Machine equally intuitive visually and for some reason I cannot get
The Incredible Machine out of my mind.