Skip to content

HirokiKibori/DetAct-Lib

Repository files navigation

DetAct-Lib

.NET .NET .NET

Currently, this is a prototype! There will be changes in the future. (Finishing v1.0 is planed in 2022.)

Description

DetAct-Lib is a framework which offers the possibility to define behaviour of an instance with a tree-based behaviour-model. Such a definition is described in a syntactic modelling language (BTML). Currently, a behaviour-model can be used to create a behaviour-tree.
This framework contains an interpreter to process behaviour-models and an additional set of basic classes (node-types) to create behaviour-trees. The interpreter can be extended with own node-types to create a behaviour-tree without compiling a new parser.

Used credentials

About behaviour-trees:

DSL for behaviour-trees:

  • Miguel Oliveira, Pedro Mimoso Silva, Pedro Moura, José João Almeida, and Pedro Rangel Henriques | Dagstuhl, Germany, 2020. Schloss Dagstuhl–Leibniz-Zentrum für Informatik
    BhTSL, Behavior Trees Specification and Processing
    In Alberto Simões, Pedro Rangel Henriques, and Ricardo Queirós, editors, 9th Symposium on Languages, Applications and Technologies (SLATE 2020), volume 83 of OpenAccess Series in Informatics (OASIcs), pages 4:1–4:13, ISSN: 2190-6807, doi:10.4230/OASIcs.SLATE.2020.4
    https://drops.dagstuhl.de/opus/volltexte/2020/13017

Example

There is an example-application for this framework. You can find it here:
DetAct - https://github.com/HirokiKibori/DetAct

(On wiki-pages there will be more examples in the future.)

Roadmap

There are many things to do until v0.5:

  • add issues
  • rename BTML (Behaviour-Tree Modelling Language) to TBML (Tree-based Behaviour Modelling Language)
  • implement a new interpreter
    • add/overwrite node-types with C#-attributes
    • handle model-configurations
  • refractor node-types to build event driven behaviour-trees
  • refractor black-boards (black-board key-list -> set values at start and not in model)
  • improve BTML
    • add interrupt-handling
    • add definition of memory-nodes
    • add more types for functions
    • fix bugs (i.e. node-type-parameters)
    • maybe remove the function-list (use C#-attributes instead)
  • add a documentation
  • create a nuget-package

About

A framework to create behaviour-trees from a behaviour-model described in a DSL.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages