TRecordableRouter?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

TRecordableRouter?

Benjamin Schroeder-2
Hi everyone,

First, let me introduce myself. I am working on a "Google Summer of  
Code" project using Croquet. Our goal is to use Croquet to record and  
play back Smalltalk programming sessions - for example, to use in  
demonstrating a concept for learners.

I have been working on, well, first, understanding how Croquet works;  
but after that, recording Croquet messages sent to an Island, with  
the thought that, along with an initial island snapshot, these should  
be sufficient for a sort of simple playback. My tack has been to try  
to log messages coming to a single Controller.

In working on this today, I ran across TRecordableRouter and  
TRecordableMessageData. Does anyone here know more about these? Are  
these a foray into the same sort of area (albeit one at the router  
level)? From poking around, I suspect they may less about whole-
island recording and more about recording the actions of, say, an  
avatar; but they looked good to understand.

(Of course, any more general advice about recording would also be  
appreciated!)

Regards,
Benjamin Schroeder

Reply | Threaded
Open this post in threaded view
|

Re: TRecordableRouter?

Liz Wendland
Dear Benjamin,

TRecordableRouter was an experiment we did here at the University of
Minnesota.  Mark McCahill made a movie about using this functionality
for creating Robots.  It is available via the wiki:
http://www.opencroquet.org/index.php/Non-Player_Characters_%28NPCs%29_%28U._of_Minnesota%29

Your brief description sounds very much like something we are working on
now.  We need a way to capture student actions in a Croquet space.  We
thought, like you, that since every event on a Croquet island is sent as
an event to that island there must be a way to log all these messages
and then play them back on a saved copy of that same island.  We used
the same approach as we had with the TRecordableRouter, but instead of
focusing on a single avatar, we capture most of the events sent to the
island.  This seems to work very well, except if new objects are ever
created.  We then have problems making sure that they get the correct
IDs.  This is probably an artifact of how we are un-pickling the
messages we log, but we haven't quite gotten past the problem.

Hope this information is helpful,
Liz Wendland

Benjamin Schroeder wrote:

> Hi everyone,
>
> First, let me introduce myself. I am working on a "Google Summer of
> Code" project using Croquet. Our goal is to use Croquet to record and
> play back Smalltalk programming sessions - for example, to use in
> demonstrating a concept for learners.
>
> I have been working on, well, first, understanding how Croquet works;
> but after that, recording Croquet messages sent to an Island, with the
> thought that, along with an initial island snapshot, these should be
> sufficient for a sort of simple playback. My tack has been to try to
> log messages coming to a single Controller.
>
> In working on this today, I ran across TRecordableRouter and
> TRecordableMessageData. Does anyone here know more about these? Are
> these a foray into the same sort of area (albeit one at the router
> level)? From poking around, I suspect they may less about whole-island
> recording and more about recording the actions of, say, an avatar; but
> they looked good to understand.
>
> (Of course, any more general advice about recording would also be
> appreciated!)
>
> Regards,
> Benjamin Schroeder

Reply | Threaded
Open this post in threaded view
|

Re: TRecordableRouter?

Benjamin Schroeder-2

On Jun 25, 2007, at 10:39 AM, Liz Wendland wrote:

> Your brief description sounds very much like something we are  
> working on now.  We need a way to capture student actions in a  
> Croquet space.  We thought, like you, that since every event on a  
> Croquet island is sent as an event to that island there must be a  
> way to log all these messages and then play them back on a saved  
> copy of that same island.  We used the same approach as we had with  
> the TRecordableRouter, but instead of focusing on a single avatar,  
> we capture most of the events sent to the island.  This seems to  
> work very well, except if new objects are ever created.  We then  
> have problems making sure that they get the correct IDs.  This is  
> probably an artifact of how we are un-pickling the messages we log,  
> but we haven't quite gotten past the problem.

Hi Liz,

Thanks for the information and the tip about new object creation. It  
does sound like a very similar project. Maybe as we both get further  
along [1] we can talk about ideas and share some code!

Ben

[1] Well, as *I* get further along - it sounds like you are further  
already. :)