Assume a missile is moving along a path, here we are showing 3 positions where that missile would be in 3 ticks of the system:
View attachment 482081
COLLISIONTYPE_SIMPLE will use a grid aligned system and use simple X and Y distances between the game widgets and the missile itself.
This means that when the missile is moving directly east, west, north or south, the collision detection is correct.
But when it is moving at an angle, the collision detection becomes wider, making it sometimes hit units that are further away than the missile's collision width.
This type is the most efficient, but least accurate.
View attachment 482082
COLLISIONTYPE_CIRCLE will use a horizontal distance check.
This is less performant than the SIMPLE type, but it is more accurate and suffices in most scenarios.
View attachment 482083
However, when the missile is moving very fast or when the collision size is very small, both SIMPLE and CIRCLE will leave gaps in between the iterations of the missile's movement, allowing units to be not collided with even though they are directly in the path of the missile.
View attachment 482084
COLLISIONTYPE_RECTANGLE uses an angled rectangle with as width, the collision with of the missile and as length the distance between the positions in each tick and the collision with as start and end margin.
This is the most accurate collision detection, but more CPU intensive than the SIMPLE or CIRCLE collision types.
This should only be used when the other two are insuffient to apply collision reliably.
View attachment 482085
COLLISIONTYPE_POLYGON uses a system where you can define your own collision detection shape.
This is by far the worst for performance, but allows for full customization.
For example, using a heart shape to make units directly in the path of the missile hit earlier than units a bit further to the side.
This should only make any significant different for very large area collisions
View attachment 482086