I really enjoy developing with the multiplayer system of Construct 2. I figured out most of it.
Now i'm think how its is possible to have proper movement of faster moving objects on every client.
Let's say i have a dagger that i'm throwing. It's not like a bullet but it uses the bullet behaviour.
It starts flying and decelerates until it stops. It can hit someone or hit a wall.
This is all done and easy. The point now is, i want to make the hit check on the host and tell the clients what the dagger hit.
My first try was to create the dagger locally on every client with the correct angle of motion. That works pretty well but the problem is (except of the fact that every client has a bit of a different angle and flying dagger) how would i stop the dagger in the right moment for every client?
If the host detects a hit of a moving player, the dagger stops. I send a message to all clients with the id of the dagger and the player hit. That works, but the dagger is (obviously) before or behind (or with some luck) on the player. So thats a bit inaccurate.
My next try was to sync the object. First i didnt use Input Prediction. That works but looks pretty laggy and not smooth at all (but its the most accurate). If i'm enabling the input prediction the movement is smooth and the way how it acts feels good. However the dagger is flying faster and fruther on the clients and always needs to roll back a bit when stopped. What the hell?
Does anyone have a cool idea or did already some successful stuff for such flying objects and syncing it all together?