also how can I change all my includes to a module? I have like 30 files and 30 includes, and compiling takes long even if I only change one line in one of the .bmx includes.

Hi thanks ron, what if I do a distance check before moving onto the collision function, if the projectile is within a certain distance, then start checking the collision?

Local ShipTorpedoWidth = (ShipRadius+TorpedoRadius)^2For Torpedo = Eachin TorpedoList For Ship = Eachin ShipList If (Torpedo.x-Ship.x)^2+(Torpedo.y-Ship.y)^2 <= ShipTorpedoWidth If ImagesCollide(Torpedo.image,Torpedo.x,Torpedo.y,0,Ship.image,Ship.x,Ship.y,0) Then DestroyShip() Endif EndifNExt

Int NewTime = Millisecs()Float Delta = Float(NewTime - OldTime)/1000.0OldTime = NewTime

'Our player will move 100 pixels per second along the x axis and 80 pixels per second on the y axisplayer.x :+ 100 * Deltaplayer.y :+ 80 * Delta

vx :+ Cos(angle)*thrust * delta'move ship in angle facing vy :+ Sin(angle)*thrust * delta'same 'add calculation above to the ship x and y positions x :+ vx * delta y :+ vy * delta vx :* 0.98 * delta vy :* 0.98 * delta