Basic player movement, refined state updating and rendering