Hi, I’m making a 2D Roblox game and trying to handle real-time collisions between players. Currently, there’s noticeable delay during collisions. Here’s how my system works:
- Each player sends their character’s position to the server, which relays it to other clients for replication.
- When the server detects a collision between Player 1 and Player 2 based on their last known positions, it notifies both clients, and each client applies forces locally.
This causes a delay of course because of ping difference, making the client that collided first have to wait for the other client to react and send updates.
I haven’t implemented any fixes yet and would appreciate advice on improving synchronization and making collisions feel more immediate.
Here’s a video demonstrating the current issue (I’m controlling Player 2 on the right):