diff --git a/README.md b/README.md index 61ef6e1..1d170aa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,17 @@ # Project Columbus -Project Columbus is a framework for trivial 2D OpenAI Gym environments that are supposed to test a agents ability to solve tasks that require different forms of exploration effectively and efficiently. +Project Columbus is a framework for trivial 2D OpenAI Gym environments that are supposed to test a agents ability to solve tasks that require different forms of exploration effectively and efficiently. ![Screenshot](./img_README.png) + +### env.py +Contains the ColumbusEnv. New envs are implemented by subclassing ColumbusEnv and expanding __init__() and overriding setup(). + +### entities.py +Contains all implemented entities (e.g. the Agent, Rewards and Enemys) + +### observables.py +Contains all 'oberservables'. These are attached to envs to define what kind of output is given to the agent. This way environments can be designed independently from the observation machanism that is used by the agent to play it. + +### humanPlayer.py +Allows environments to be played by a human using mouse input. diff --git a/env.py b/env.py index 1e3d9c0..caa3234 100644 --- a/env.py +++ b/env.py @@ -8,7 +8,7 @@ import entities import observables -class Base2DExpEnv(gym.Env): +class ColumbusEnv(gym.Env): metadata = {'render.modes': ['human']} def __init__(self, observable=observables.Observable(), fps=60, env_seed=3.1): diff --git a/humanPlayer.py b/humanPlayer.py index ed9b12f..99bcae1 100644 --- a/humanPlayer.py +++ b/humanPlayer.py @@ -1,5 +1,5 @@ from time import sleep, time -from env import Base2DExpEnv +from env import ColumbusEnv import numpy as np import pygame @@ -7,7 +7,7 @@ from observables import Observable, CnnObservable def main(): - env = Base2DExpEnv(fps=60, observable=CnnObservable()) + env = ColumbusEnv(fps=60, observable=CnnObservable()) playEnv(env) env.close()