-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Client-side actors exhibit bizarre behavior after force states #71
Comments
Going to have to test the Tankolution demo again to double check this; will get on it asap. |
This bug is definitely still an issue. Basically, other clients see a moving client's position as far over-corrected while the client is moving, but it quickly corrects to the proper position when an idle state occurs. I'm thinking that this is an issue on the clients that aren't moving, not properly setting steps taken when an actor is forced. |
This currently appears to happen when a client actor is moving diagonally and is forced to stop. What's strange is that it doesn't seem to occur when the actor is moving in a cardinal direction and is forced to stop. |
Even stranger, this only appears to be occurring if the forced state is caused by moving to the "west" edge of the world, and moving diagonally. Testing to see if this is true of the "east" edge as well. |
Yup. Also occurs on "east" edge. And the longer the client attempts to force against the edge, the more the correction is offset. |
Well now it seems to be happening no matter what edge is forced... |
Moving out of and back into visible area seems to reset the corrections |
Also seems to only happen if the state was already forced when the client tried moving to another invalid location. I think this is the key to the issue, I'm just not sure exactly how. |
|
Think I found the problem. Steps taken aren't being incremented when correcting the state fails. |
Going to overhaul the step function.
|
It's looking more and more like this is being caused by extra steps being added to the server-side actor when states are forced |
Well. This particular issue appears to be resolved now. There is still a slight...issue...with the client position being properly reflected in the client. It's an extremely small discrepancy, and it only seems to occur when contacting a force at an indirect angle. Client actors representing server-side forced actors tend to lose a few units (in most cases less than 0.02). I'll try and get this patched right away but it's not being cause by the same problem as far as I can tell. [EDIT] |
Client A
Client A walks toward edge of earth, is corrected to prevent invalid locations.
Client B
Client B perceives A walking to edge, and forcing. Afterward, A's apparent position is wildly different from the correct position while moving. This is likely caused by an incorrect reset of state when Client A is forced.
The text was updated successfully, but these errors were encountered: