Player and bot refactoring