Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collisions with quarks can behave erratically #2

Open
arthur00 opened this issue Dec 4, 2013 · 0 comments
Open

Collisions with quarks can behave erratically #2

arthur00 opened this issue Dec 4, 2013 · 0 comments
Assignees

Comments

@arthur00
Copy link
Owner

arthur00 commented Dec 4, 2013

Scripts with collision are treated the following way:

  1. Scripts register for collision by changing the SceneObjectPart AggregateScriptEvents flag, setting the desired collision
  2. DSG forwards update to other interested actors
  3. Physics receives update and tracks that part's collision.
  4. When collision happens at Physics, a message is sent informing of the ocurred collision (repeatedly, if using collision, instead of collision_start and collision_end)
  5. Script engine receives collision message, executes script.

System behaves erratically when overloaded. If the desired behavior of the collision is to kill the object, the physics actor continues to move the object until the script engine finally receives the collision and processes the llDie. During this period of time, that could possible last minutes, the object will move, possibly crossing quarks, being changed, updated, deleted, etc.

In a worst case, a race condition scenario could happen where the actor that requested the collision passes the object ahead and then receives the collision, whereas the actor that received the object received the collision and then got the object. In such case, the collision is missed by both actors and the script will not execute the collision section.

@ghost ghost assigned arthur00 Dec 4, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant