map generation + player movement