collision with npcs, refactored engine