Prediction errors in 1.4
by Stefan Lundmark · in Torque Game Engine · 05/16/2006 (11:40 pm) · 6 replies
Not sure what to call this, but I think it's called prediction.
When you rotate your player around the Z axis, and watch with another player, the other player will see the player rotate until it reaches 180 degrees, then it turns back violently.
I ran into this and thought I produced it myself, but upon trying a clean 1.4 it was still there.
I suppose it has to do with how a vector is calculated in unpackUpdate to predict the next tick, or maybe interpolation, so I'll take a look when I get back home as I have a feeling most of you GG guys are sleeping right now :p
I'll update this post later.
When you rotate your player around the Z axis, and watch with another player, the other player will see the player rotate until it reaches 180 degrees, then it turns back violently.
I ran into this and thought I produced it myself, but upon trying a clean 1.4 it was still there.
I suppose it has to do with how a vector is calculated in unpackUpdate to predict the next tick, or maybe interpolation, so I'll take a look when I get back home as I have a feeling most of you GG guys are sleeping right now :p
I'll update this post later.
About the author
#2
---------------------------------------------------------------
I uploaded a clip that portrays the matter, here.
You can see how the orc rotates in a pretty steady pace from the input, but sometimes suddenly stutters and goes back to another rotation value.
It's definatly in Player::UnpackUpdate, but that's about all I can work out at the moment.
05/17/2006 (9:45 am)
This is not a issue with the actual player. But, yes it is the orc character, Tim.---------------------------------------------------------------
I uploaded a clip that portrays the matter, here.
You can see how the orc rotates in a pretty steady pace from the input, but sometimes suddenly stutters and goes back to another rotation value.
It's definatly in Player::UnpackUpdate, but that's about all I can work out at the moment.
#4
05/17/2006 (9:59 am)
Was a problem with my host, the link works again. Sorry.
#5
05/17/2006 (11:04 am)
I can reproduce this in 1.3 as well.
#6
In any case, this bug seems to occur because the Player is standing still, and to optimize, the object gets less ticks to work with as it won't be moving that much. This makes sense, but for slow moving objects or objects that are stationary, this is a bugger.
Increasing sMaxWarpTicks too high will get other effects, so I'm not sure what can be done about it.
05/17/2006 (3:04 pm)
Looks like this has been around for a long time. Actually it has been mentioned before, and it has to do with maxWarpTicks. It never got fixed though, guess it's another issue that never got priority.F32 dt = (as > 0.00001f) ? delta.warpOffset.len() / as: sMaxWarpTicks;
In any case, this bug seems to occur because the Player is standing still, and to optimize, the object gets less ticks to work with as it won't be moving that much. This makes sense, but for slow moving objects or objects that are stationary, this is a bugger.
Increasing sMaxWarpTicks too high will get other effects, so I'm not sure what can be done about it.
Torque Owner Tim Heldna