implemented GeneratePlayer