`random` returns a `long`. `random(TAU)` produced an integer between 0 and 6. So the angle of the sparks always came out along the points of a hexagon. By converting to a float before scaling we can distribute the sparks more evenly around the explosion point.