surface level generation is now based on average height