SymOntoClay is game AI experimental open source engine.


  Warning logo Purely experimental and very unstable project developed by only one person
Please read the page before starting

Recommended vocabulary

Contens

Here are relations and facts that I would recommend using in SymOntoClay projects.

SymOntoClay provides building the facts using SymOntoClayStandardFacts library.

Perception

back to top

Describes the perceived information about world around NPC.

See

back to top

"see" "(" "I" "," InstanceIdentifier ")".
see(I, #`Barrel543534`)

Describes human sentence: "I am seeing #`Barrel543534`".

Focus

back to top

"focus" "(" "I" "," InstanceIdentifier ")".
focus(I, #`Barrel543534`)

Describes human sentence: "There is #`Barrel543534` in my focus right now".

Hearing

back to top

"hear" "(" "I" "," ( LogicVarExpr | PredicateOp ) ")".
{: $x = act(M16, shoot) & hear(I, $x) :}
{: $x = act(M16, shoot) & hear(I, $x) & distance(I, $x, 15.58) & direction($x, 12) & point($x, #@[15.58, 12]) :}

In general sound facts for hearing are not built by user. Fact like "{: act(M16, shoot) :}" is pushed into sound simulation bus.

The bus wraps the pushed fact into hear-fact and adds information about placing source of sound. After all transformations logical storage gets:

{: $x = act(M16, shoot) & hear(I, $x) & distance(I, $x, 15.58) & direction($x, 12) & point($x, #@[15.58, 12]) :}

Geometry

back to top

Provides information about placing in the world. It will help with navigation and aiming.

Distance

back to top

"distance" "(" "I" "," ( InstanceIdentifier | ConceptIdentifier | LogicVarExpr ) "," NumberExpr ")".
distance(I, $x, 15.58)
distance(I, #`Barrel543534`, 14.71526)

Describes human sentence: "Distance between me and #`Barrel543534` is 14.71526".

Point

back to top

point($x, #@[15.58, 12])
point(#`Barrel543534`, #@[15.58, 12])

Links someone or something to waypoint.

Direction

back to top

direction($x, 12)
direction(#`Barrel543534`, 12)

Describes human sentence: "Direction to #`Barrel543534` is 12 degrees to the right.".

States

back to top

Provides information about state of an NPC or a thing.

Alive

back to top

"state" "(" InstanceIdentifier "," "alive" ")".
state(#`enemyNPC10345`, alive)

Describes that someone is alive.

Dead

back to top

"state" "(" InstanceIdentifier "," "dead" ")".
state(#`enemyNPC10345`, dead)

Describes that someone is dead.

Ready

back to top

ready(#`enemyNPC10345`, shoot)

Describes that someone or something is ready for something.

Current actions

back to top

Provides information about current action of an NPC or a thing.

Walk

back to top

"act" "(" InstanceIdentifier "," "walk" ")".
act(#`enemyNPC10345`, walk)

Describes human sentence: "#`enemyNPC10345` walks".

Stop

back to top

"act" "(" InstanceIdentifier "," "stop" ")".

Describes human sentence: "#`enemyNPC10345` stops".

act(#`enemyNPC10345`, stop)

Hold

back to top

hold(#`enemyNPC10345`, #gun123)

Describes that someone holds something in his hands.

Shoot

back to top

"act" "(" InstanceIdentifier "," "shoot" ")".
act(#`enemyNPC10345`, shoot)

Describes that someone or something shoots.