I would like to draw your attention to the code on spread mechanism in /public/simulation/components/Attack.js let randNorm = randomNormal2D(); let offsetX = randNorm[0] * distanceModifiedSpread; let offsetZ = randNorm[1] * distanceModifiedSpread; data.position = new Vector3D(predictedPosition.x + offsetX, predictedHeight, predictedPosition.z + offsetZ); The offset for each projectile is calculated by sampling from a random 2D Normal Distribution. If each player computes their own offset,