[croquet] driving me crazy too

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

[croquet] driving me crazy too

David Faught
Howard Stearns wrote:
>Am I crazy, or is #driveStep being sent over the wire pretty much >as often as
possible? Is that what we want?
>
>CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser
=> replica future driveStep.
>
>PLUS....
>
>CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future
driveStep.

...

I've been re-reading some of the design papers for Teatime and the Hedgehog
version of Croquet, and it seems to me that this second call to driveStep
originating from the renderWorld method is in violation of the idea that
rendering should not change the state of the replicated island.  Isn't this a
big no-no???

Although I'm sure that this smoothes out the avatar replica's motion, it also
adds significantly to the network traffic and number of changes to the island,
as Howard went on to explain.

Reply | Threaded
Open this post in threaded view
|

Re: [croquet] driving me crazy too

Joshua Gargus-2

On Jan 30, 2007, at 7:17 PM, David Faught wrote:

> Howard Stearns wrote:
>> Am I crazy, or is #driveStep being sent over the wire pretty much  
>> >as often as
> possible? Is that what we want?
>>
>> CroquetParticipant>>step => CroquetHarness>>step =>  
>> >TAvatarUser>>updateUser
> => replica future driveStep.
>>
>> PLUS....
>>
>> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica  
>> >future
> driveStep.
>
> ...
>
> I've been re-reading some of the design papers for Teatime and the  
> Hedgehog
> version of Croquet, and it seems to me that this second call to  
> driveStep
> originating from the renderWorld method is in violation of the idea  
> that
> rendering should not change the state of the replicated island.  
> Isn't this a
> big no-no???

Nope.  The 'avatar' referred to in #renderWorld is not the replicated  
avatar, it is a (subclass of) TAvatarUser, which implements  
#driveStep by sending a future message to the replicated avatar.

Josh

>
> Although I'm sure that this smoothes out the avatar replica's  
> motion, it also
> adds significantly to the network traffic and number of changes to  
> the island,
> as Howard went on to explain.


Reply | Threaded
Open this post in threaded view
|

Re: [croquet] driving me crazy too

David A Smith
In reply to this post by David Faught
This does not effect the state of the world because it is a future send.
It has been removed in a later release (not sure if it is the Feb. 2
release or the next one after that.)


David Faught wrote:

> Howard Stearns wrote:
>  
>> Am I crazy, or is #driveStep being sent over the wire pretty much >as often as
>>    
> possible? Is that what we want?
>  
>> CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser
>>    
> => replica future driveStep.
>  
>> PLUS....
>>
>> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future
>>    
> driveStep.
>
> ...
>
> I've been re-reading some of the design papers for Teatime and the Hedgehog
> version of Croquet, and it seems to me that this second call to driveStep
> originating from the renderWorld method is in violation of the idea that
> rendering should not change the state of the replicated island.  Isn't this a
> big no-no???
>
> Although I'm sure that this smoothes out the avatar replica's motion, it also
> adds significantly to the network traffic and number of changes to the island,
> as Howard went on to explain.
>  


Reply | Threaded
Open this post in threaded view
|

Re: [croquet] driving me crazy too

David P. Reed
In reply to this post by David Faught
In the original theory and my implementation (which was dropped from
Hedgehog), each replica would drive itself with messages NEVER being
sent over the network except when the state of an input device
changed.   I would call this a serious design misunderstanding - but you
guys wrote this code.  There isn't a line of code from me left.

David Faught wrote:

> Howard Stearns wrote:
>  
>> Am I crazy, or is #driveStep being sent over the wire pretty much >as often as
>>    
> possible? Is that what we want?
>  
>> CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser
>>    
> => replica future driveStep.
>  
>> PLUS....
>>
>> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future
>>    
> driveStep.
>
> ...
>
> I've been re-reading some of the design papers for Teatime and the Hedgehog
> version of Croquet, and it seems to me that this second call to driveStep
> originating from the renderWorld method is in violation of the idea that
> rendering should not change the state of the replicated island.  Isn't this a
> big no-no???
>
> Although I'm sure that this smoothes out the avatar replica's motion, it also
> adds significantly to the network traffic and number of changes to the island,
> as Howard went on to explain.
>
>
>