Hi!

smd...@student.cs.york.ac.uk wrote:
> Hello CEL users, fans and developers.
> My name is Sam Devlin and I am one of the GSoC students this year. Some of
> you may remember me from the post-application discussion on this list of
> potential AI projects. I have specifically been chosen to work on the
> Quest refactor and behaviour tree implementation discussed in this thread.
> For a more detailed introduction to myself and the project please see my
> blog at http://www.crystalspace3d.org/blog/samd
>
> Before work can begin I need to collate everyones ideas as to what should
> be incorporated within the refactor. Below is a list of currently planned
> changes:
>
>
> -Remove triggers and rewards from the Quest system and make them standard
> property classes available throughout CEL.
>
> -Standardise the Quest, Trigger and Reward properties so that they can
> access constraints, property values and message each other.
>   

Can you explain this point in more detail?

> -Allow for nesting FSMs
>
> -Filters for Quest message trigger by sender and parameters.
>
> -Add ability to subscribe to changes in pc properties (Currently only can
> only be done for celPcProperties

This last point is not directly related to quests, is it?

Generally looking very good to me, some additional ideas:

 - Factor out the sequence system:
 Similar problem to having sensors and rewards inside quest and not
being accessible generally. Note sequences are connected to two
different rewards (startsequence and endsequence),  but this could be
for example factored into one pc with two actions. Also, one trigger is
involved to find out when the sequence ended, this leads to the next idea:
 - Somehow standarize start-finish protocol. Note i'm not very sure how
this can be approached, but many actions take some time to end, for
quests this usually involves some state waiting for an action to end,
and for behaviour trees its just the basic building block (actions
taking some time together with serial or parallel containers). In cel we
have some cases like sequences ending or starting, or the steering pc's
which report finishing when arriving to some destination (or can fail).
So, this is currently done in many ways, in the case of sequences its
done with explicit callbacks, steering works with an action-message pair
to handle start and end, and probably we have some example of
message-message too.

Also, i'd like to note i'm actually working on cel logic support for
crystal architect, and all the basic framework is there to start playing
around with editors for logic (cs, gtk, cairo, a node editor
library...). It will be easy to implement any given editing component,
so feel free to ask anything specific or propose any kind of fancy
interface for quests or behaviour trees (all ideas are welcome). (this
was a test logic editor done in 3 days in the prototyping phase:
http://wiki.kyanite-studios.org/lib/exe/fetch.php?cache=&media=ca:par-ser8.png.
a behaviour tree mixed up with some operators-).

 Pablo


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Cel-main mailing list
Cel-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cel-main

Reply via email to