---bullet raycasting (kind of) --- In rect v circle, there's an initial collision check of lineIntersectCircle(), with the line being (rect.newX - rect.x)i + (rect.newY - rect.y)j This check greatly improves the rifle's hit chance. It is still possible to miss where one might expect to hit, however. For instance, if the bullet is just skimming the edge of a circle, the line mentioned above may just barely not intercept the circle model, where if the thickness of the bullet were taken into account, a collision would've occurred.
---bullet raycasting (kind of) ---
In rect v circle, there's an initial collision check of lineIntersectCircle(), with the line being (rect.newX - rect.x)i + (rect.newY - rect.y)j
This check greatly improves the rifle's hit chance. It is still possible to miss where one might expect to hit, however.
For instance, if the bullet is just skimming the edge of a circle, the line mentioned above may just barely not intercept the circle model,
where if the thickness of the bullet were taken into account, a collision would've occurred.

sjdodge123/spaceroyale.io,sjdodge123/spaceroyale.io,sjdodge123/spaceroyale.io