Simulating random surfaces