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

Unity components

Contens

SymOntoClay's unity components are available at the main menu and using button Add Component.

World

back to top

Links world file with target DSL world to a GameObject on unity scene. I recommend to add the component to Terrain.

Properties

Property: Function:
World File Reference to world file with target DSL world.
Enable NLP

Enables or disables NLP features.

Warning: NLP requires long dictionary file. Loading this file significantly increases startup time.

Logging Options for logging.
- Adding or removing facts true - enables logging adding or removing facts. It is helpful during debugging and bug fixing.
- Logical explain mode

Sets target Logical explain mode. It is helpful during debugging and bug fixing.

Explanation will be saved into log directory in .dot (graph description language) file for each logical query. The log directory are placed in %USERPROFILE%/AppData/Roaming/<your_project_name>/NpcLogs/

  • None. Explanation will not be saved.
  • Dump always. Explanation will be saved after any logical query.
  • Dump If Error. Explanation will be saved only in case of an error during logical query.

Characters and things

back to top

Humanoid NPC

back to top

Controls behavior of Humanoid NPC using logic in linked app on SymOntoClay DSL.

It links SymOntoClay DSL project file with target behavior to a NPC's GameObject on unity scene.

Properties

Property: Function:
App File Reference to SymOntoClay DSL project file with target behavior.
Id Unique identifier.
Enable Categories Enables/disables using Categories. By default is false.
Categories List of classes this NPC belongs to. Allows to set inheritance relationships (with rank 1) in addition to App File or without it. By default is empty.
Backpack List of references to GameObjects that will be recognized as things in NPC's backpack. The things will be available for taking from backpack.
Vision Vision simulation options. SymOntoClay uses ray scanning go vision simulation.
- Head Reference to NPC's head for placing ray scanner. You can place Head locator to NPC's head istead of direct linking by the property.
- Distance The max distance which from the game object can be seen.
- Field of view Field of view options.
  - Angle Angle of view.
  - Angle between rays Angle between rays describes how often will be the scanning rays.
- Field of focus Field of focus options. Field of focus is a central area in field of view. It has more scanning rays then in peripheral part of field of view.
  - Angle Angle of focus.
  - Angle between rays Angle between rays describes how often will be the scanning rays.
Gizmos Gizmos related to SymOntoClay.
- Show RayCast Gizmo Show or hide vision simulation gizmo.

Head locator

back to top

Head locator helps to find NPC's head for NPC's ray scanner instead of direct linking by property Head.

Just add the components to target head's GameObject.

Right Hand WP Locator

back to top

Right Hand WP Locator helps to find NPC's right hand weapon point.

Just add the components to target GameObject.

Left Hand WP Locator

back to top

Left Hand WP Locator helps to find NPC's left hand weapon point.

Just add the components to target GameObject.

Thing

back to top

Links SymOntoClay DSL project file to GameObject on unity scene.

The linked file provides facts about the Thing to a Humanoid NPC. It allows the NPC to percept the thing and perform an action if it needs.

Properties

Property: Function:
App File Reference to SymOntoClay DSL project file which provides facts about the Thing.
Id Unique identifier.
Enable Categories Enables/disables using Categories. By default is false.
Categories List of classes this Thing belongs to. Allows to set inheritance relationships (with rank 1) in addition to App File or without it. By default is empty.

Hand Thing

back to top

Links SymOntoClay DSL project file to GameObject on unity scene. This Game Object can be taken by Humanoind NPC.

The linked file provides facts about the Thing to a Humanoid NPC. It allows the NPC to percept the thing and perform an action if it needs.

Also It provides recognizing things as things that can be taken and implementation of policies of taking.

Properties

Property: Function:
App File Reference to SymOntoClay DSL project file which provides facts about the Hand Thing.
Id Unique identifier.
Enable Categories Enables/disables using Categories. By default is false.
Categories List of classes this Hand Thing belongs to. Allows to set inheritance relationships (with rank 1) in addition to App File or without it. By default is empty.
Taking Policy In which way the thing will be available for taking to NPC's hands.
  • Every Where. Thing can be taken every where, except hands of another NPCs.
  • No Where. Thing can not be taken.
  • By Distance. Thing can be taken only if the distance between the thing and NPC less or equal distance in Taking Distance. Thing in hands of another NPCs can not be taken.
Taking Distance Distance from which the thing can be taken. The property is visible only if property Taking Policy has value By Distance.

Player

back to top

Provides SymOntoClay's features to Player.

The linked file provides facts about the Player to a Humanoid NPC. It allows the NPC to percept the Player.

Properties

Property: Function:
App File Reference to SymOntoClay DSL project file which provides facts about the Player.
Id Unique identifier.
Enable Categories Enables/disables using Categories. By default is false.
Categories List of classes this Player belongs to. Allows to set inheritance relationships (with rank 1) in addition to App File or without it. By default is empty.

Navigation

back to top

Waypoint

back to top

The linked file provides facts about the Waypoint to a Humanoid NPC. It allows the NPC to percept the Waypoint.

Properties

Property: Function:
App File Reference to SymOntoClay DSL project file which provides facts about the Waypoint.
Id Unique identifier.
Enable Categories Enables/disables using Categories. By default is true.
Categories List of classes this Waypoint belongs to. Allows to set inheritance relationships (with rank 1) in addition to App File or without it. By default contains "waypoint"