Re: structured programming of automata with behavior trees

"Thiede, Christoph via Squeak-dev" <[email protected]> Thu, 23 Jul 2026 02:11:40 +0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <GV2PR09MB837195D180EEFD6A9733BFEAFBC02@GV2PR09MB8371.eurprd09.prod.outlook.com>
Hi Yoshiki,

You should be able to download the latest MCZ file from Squeaksource using your web browser and drop that file into SqueakJS to install it.

Best,
Christoph


________________________________
Von: Yoshiki Ohshima via Squeak-dev <[email protected]>
Gesendet: Dienstag, Juli 14, 2026 12:06:06 AM
An: The general-purpose Squeak developers list <[email protected]>
Cc: Yoshiki Ohshima <[email protected]>
Betreff: [squeak-dev] Re: structured programming of automata with behavior trees



On Mon, Jul 13, 2026 at 2:20 PM Lauren Pullen <[email protected]<mailto:[email protected]>> wrote:
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<http://www.squeaksource.com/Cephei>>.  I don't see why it shouldn't work.

Well, I asked because my simple-minded attempt did not work. It appears that the NetNameResolver primitives are failing in Squeak JS (obviously, I guess. Monticello needs to be adapted to Squeak JS). I just wanted to check it out without downloading things to my local disk initially.

> 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]<mailto:[email protected]>
To unsubscribe send an email to [email protected]<mailto:[email protected]>


--
-- Yoshiki

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]