Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

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.

(2 edits)
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.


Oh, it was just an idea that works for me :)  During development I had to take many decissions, some of which I would not make now, but i'm happy with the choice I took about stay stick to an existing languaje. ParserCommander that I developed has about 3.000 lines of code, so it's not very large I think.


There is not public defenition since I am not done defining it for my self.


The same works for me. I started to make external documentation about how to use it, and finally I realize that it would take almost more time to do and maintain it than programming it :D

It's nice to make parsers, but also games, so here we are! ;)