O Pygame Learning Environment (PLE) é um ambiente de aprendizado, imitando a interface do ambiente de aprendizado de arcade, permitindo um início rápido para reforçar o aprendizado de Python. O objetivo do PLE é permitir que os profissionais concentrem o design de modelos e experimentos, em vez do design do ambiente.
A PLE espera eventualmente construir uma ampla biblioteca de jogos.
Aceitando PRs para jogos.
Os documentos para o projeto podem ser encontrados aqui. Eles estão atualmente limpos.
Os jogos disponíveis podem ser encontrados nos documentos.
Uma instância PLE
requer um jogo que exponha um conjunto de métodos de controle. Para ver os métodos necessários, observe o ple/games/base.py
.
Aqui está um exemplo de importação de pong da biblioteca de jogos em PLE:
from ple . games . pong import Pong
game = Pong ()
Em seguida, configuramos e inicializamos PLE:
from ple import PLE
p = PLE ( game , fps = 30 , display_screen = True , force_fps = False )
p . init ()
As opções acima instruem o PLE a exibir a tela do jogo, com display_screen
, enquanto permitem que o Pygame selecione o tempo de atraso apropriado entre os quadros para garantir 30fps com force_fps
.
Você é livre para usar qualquer agente com o PLE. Abaixo, criamos um agente fictício e pegamos as ações válidas:
myAgent = MyAgent ( p . getActionSet ())
Agora podemos ter nosso agente, com a ajuda do PLE, interagir com o jogo em um certo número de quadros:
nb_frames = 1000
reward = 0.0
for f in range ( nb_frames ):
if p . game_over (): #check if the game is over
p . reset_game ()
obs = p . getScreenRGB ()
action = myAgent . pickAction ( reward , obs )
reward = p . act ( action )
Assim, temos nosso agente interagindo com nosso ambiente de jogo.
PLE requer as seguintes dependências:
Clone o repositório e instale com PIP.
git clone https://github.com/ntasfi/PyGame-Learning-Environment.git
cd PyGame-Learning-Environment/
pip install -e .
Defina o seguinte em seu código antes do uso:
os . putenv ( 'SDL_VIDEODRIVER' , 'fbcon' )
os . environ [ "SDL_VIDEODRIVER" ] = "dummy"
Obrigado a @wooridle.
cd
no diretório de PyGame-Learning-Environment
e execute o seguinte:
git pull
Se a PLE ajudou sua pesquisa, cite -a em suas publicações. Exemplo de entrada Bibtex:
@misc{tasfi2016PLE,
author = {Tasfi, Norman},
title = {PyGame Learning Environment},
year = {2016},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/ntasfi/PyGame-Learning-Environment}}
}