Updated player movement logic

Still a work in progress!