got normalized 8-directional movement (mostly) working