from PR #39:
Not a huge fan of having this "buried" in the move_entity function, but it needs to take in frame_movement somehow...
Maybe we could move this to the update function and then just call direction_to_target() again to get the vector? We would be running direction_to_target() twice per entity but would make the code a bit cleaner, I think.
from PR #39: