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 |
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 |
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. :) |
Free forum by Nabble | Edit this page |