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,