Behaviour Tree Update, Questions and Choices

Sam Devlin <[email protected]>
Newsgroups gmane.comp.graphics.crystalspace.devel
Message-ID <CAL0_xOpdaY9sP1CO_YdytrEDHvn7FphmYOTbbN4_3-GaOXcGvw@mail.gmail.com>
Hello all,
Just wanted to drop a quick update on my GSoC progress and ask for a few
opinions and pointers.

Those keeping up with either my blog (
http://www.crystalspace3d.org/blog/samd) or the svn commits will know, that
as of revision 4907 there is a working event based behaviour tree in my
branch with all the termination statuses (success, fail-clean and
unexpected-error) that Christian requested.

My first question is how would people like unexpected errors to be handled?
I have a few ideas but wanted to see what the community would like
implemented:

1) Have the behaviour tree notice an unexpected error, report to console
and stop updating. Preventing any subsequent anomalous behaviour caused by
the unexpected failure and allowing a tester to explore the state of the
behaviour tree stack at the point of failure.

2) Allow the parent of the node that terminates with an unexpected error to
handle the error. This seems ideal but would be highly specific to the
child attached, perhaps the designer of the behaviour tree would need to
write these functions and if not provided the behaviour tree could revert
to the above i.e. report the error and stop updating.

Also if reporting the error to the console, should I add a method to
iBTNode to set an ID which could then be returned with the report and thus
simplify identifying errors in the tree?


I am also currently working on making a dedicated propclass for the
behaviour tree and loading from XML. Can someone please confirm that by
making my current celBehaviourTree class implement celPcCommon, I will be
making it a property class? If so, to maintain consistency should
plgBehaviourTree become plgpfBehaviourTree?


Finally, with regard to loading from XML, are there any guidelines on how
the XML should be designed or should I just try to maintain the same style
as existing propclasses loadable by XML? and to implement the load, do I
just need to create a plgaddon_behaviourtree with a class
implementing iLoaderPlugin and add load and save methods taking a single
argument iDocumentNode*  to celBehaviourTree or have I missed something out?

Kind regards,
Sam.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

_______________________________________________
Crystal-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-develop
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.