Re: structured programming of automata with behavior trees

Lauren Pullen <[email protected]> Mon, 13 Jul 2026 15:19:31 -0600
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Hi Yoshiki,

On 7/13/26 10:37, Yoshiki Ohshima via Squeak-dev wrote:
> Sounds cool.
> 
> Is there a way to check it out with Squeak JS?

If Squeak JS can use monticello, it and *Variable are at 
<www.squeaksource.com/Cephei>.  I don't see why it shouldn't work.
> I had a colleague (a long time game developer) who implemented the 
> behavior tree on top of Croquet JS. It worked well for the purpose. I 
> kind of liked a more general and meta solution, and later created a 
> Functional Reactive Programming based system called Renkon. Croquet and 
> Renkon use explicit logical time. Your Behavior Tree implementation 
> probably shares the property of "at a logical time t, a node has at most 
> one value", or "a node is evaluated at most once at an evaluation 
> cycle".

Nice catch.  I'd not heard of functional reactive programming (or 
reactive programming, for that matter) until just now.  It seems my 
source materials predate the term.  Seems I have some studying to do.

My implementation uses the latter property, where a part of the tree is 
evaluated at most once per tick.  I went with 3-valued logic so you 
wouldn't need to use a looping DECORATOR to break the illusion that 
you're working with 1 time unit per tick:.

> I am getting to like this property more and more nowadays.
Me too.  It's greatly simplified some of the things I wanted the game to 
do, and I've had luck using it as a replacement to the dependency protocol.
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]