|
Just FYI, here is a copy of my most recent journal entry. I have
turned over most of what I did for the UMN Skeletal Animation project,
but am unsure of its status. I'm still looking for a place to make
the free character models available. Contact me if you have any
questions or comments, either here or direct email.
Dave
-----
Started building a Croquet scripting environment by smashing
MockTurtle into the KAT demo. Removed all the dragger and keystroke
stuff from MockTurtle, and attempted to use the context menu to drive
things. Still need to put script editing in-world, and try to adapt
UMN robot scripting or something similar for multiple event-driven
scripts per object (using ScriptScheduler). Not sure what I will end
up with yet, but the idea is to make better use of existing script
capabilities within Croquet with a better in-world UI, not to invent a
new language.
It took quite a while to figure out that I had to subclass the KAT
message router classes to make my avatar, harness, and world changes
happen. The KAT guys made some progress at allowing certain things to
be customized more easily, like the avatar class, and hard-coded other
stuff that made it harder, like the harness and worlds.
I figure that to avoid the dreaded in-island numerical inconsistency,
there are two basic choices, rewrite the low level math routines of
some nice external language like JavaScript, or compile (or interpret)
some language syntax to use the Croquet VM bytecodes (or at least the
FP plugin?). The first choice is way out of reach for me, and there is
already an example of the second choice available - Squeak. That makes
it a pretty easy personal choice.
I will let someone smarter than me deal with island classes (need to
avoid Error 33 here), and instead plan on figuring out how to
replicate edited method text and let each participant compile their
own copy. I'm not sure how this fits with the KAT strategy of copying
objects around instead of locally instantiating them. Replicating
around already-compiled methods would be where ImageSegments might
have a place, but I think I prefer replicating the source text.
What should be the scope of the scripting? The most obvious thing is
to have event-driven scripts for individual objects, but what about a
single script affecting multiple objects in a space? Maybe some of
each, like EToys.
-----
|