using a existing language would mean a larger interperter to a larger degree i would say, I am not after making an entire programing language after all.
There is not public defenition since I am not done defining it for my self.
I just added the idea of enter, exit blocks. where I can place script that should run when I load a new room, exit script is run for the old room, enter is run for the new, mean i could trigger the effects like a look action on the room i am entering automatically from any room, rather then being dependant on showing the right text from the action in the room previous room that I just left.
But quick break down.
The engine builds around a few basic ideas.
1. each row contain it's own full Script logic.
2. a tab means the current script is a child to the previous script.
3. before execute each script do a Eval() to determine if its the children should be executed.
4. when a script is executed, all its children will be executed in order if the Eval pass.
5. Each time you load a scene the old scene is released, and the new one, with a new input context is created.
Action(Free text, each word is converted to a context with the previous word as a parent, when your input match the action text and you press enter, all childscripts are executed)
"look boots", "open top cabinet"
Command (defined system commands like present, set, load, inc/dec, system)
* present combines text and when to show it to the user.
* load the scene from the specified folder by parsing the Logic.txt within. "command load Living/CentralCorridor"
* set will set the namedstate type to the value "command set (bool)MyBoolStateName true"
* inc/dec increase or decrease a int state by 1 "command inc (int)MyIntStateName"
* system( back to book menu, exit, debug)
Condition(compare state to value, or state to state)
* will only Eval to true if condtion is true, and only execute childscripts if thats the case.
Automatic Enter/Exit
* Exit will execute before you load the next scene if a exit is declare in the script.
* Enter will execute after a load if the newly loaded scene have it declared in the script.