Tightened up player movement algo"