[Bf-committers] Re: [Crystalblend-main] First attempt at a design for the new CrystalBlend UI

Jorrit Tyberghein jorrit.tyberghein at gmail.com
Tue Oct 18 13:48:19 CEST 2005

On 10/18/05, Herman Bruyninckx <Herman.Bruyninckx at mech.kuleuven.be> wrote:
> On Tue, 18 Oct 2005, Jorrit Tyberghein wrote:

> It's maybe not as generic as you think :-)
> For example, do you need the semantics of
> (i) multiple activities within the state machine (= different "agents" can
> share parts of the state machine); or
> (ii) "guards" (= holding the processing of (possibly multiple "agents"
> in) the state machine until some condition is met);
> Are cycles allowed in the system (= one "reward" triggers another one that
> triggers the first one, etc.), and if so, how will the system react?

In CEL (where this state manager is now implemented) this is handled
by making sure that rewards are executed one frame later then the
trigger. i.e. there is a one-frame delay. That doesn't prevent the
quest from looping but at least while it loops the game engine is
still responsive and actually working.

> I think the games engines certainly need (i); if you don't provide it, you
> have to foresee a state for each combination of "agent" activities. Also
> (ii) is very handy when having to synchronize several "agents".

(i) would be very easy. Every entity that has a quest associated with
it will get a new copy of that quest. So for every entity reusing that
quest it will get its own private quest with its own internal state
that is tied to that entity alone. See the quest definition as a kind
of template from which entities can make copies for their own personal

I'm trying to find a good balance between power and ease of use. Many
people told me that they would very much like to keep the current
actuator/sensor system (or something that looks like it) because they
like the simplicity of that system. On the other hand it also has its
limitations. My solution I presented above may not be the
full-powerful system but maybe that is not needed for the audience
that the Game Engine has in mind? I think that at the very least it is
more expressive then what the current Game Engine allows.


Project Manager of Crystal Space (http://www.crystalspace3d.org)
and CEL (http://cel.crystalspace3d.org)
Support Crystal Space. Donate at

More information about the Bf-committers mailing list