{ "info": { "author": "Luke Harries, Sebastian Lee, Jaroslaw Rzepecki, Katya Hofmann, Sam Devlin", "author_email": "sam.devlin@microsoft.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# MazeExplorer\n\nMazeExplorer is a customisable 3D benchmark for assessing generalisation in Reinforcement Learning.\n\nSimply put, MazeExplorer makes it easy to create separate training and test environments for your agents.\n\nIt is based on the 3D first-person game [Doom](https://en.wikipedia.org/wiki/Doom_(1993_video_game)) and the open-source\nenvironment [VizDoom](https://github.com/mwydmuch/ViZDoom).\n\nThis repository contains the code for the MazeExplorer Gym Environment along with the scripts to generate baseline results.\n\nBy Luke Harries*, Sebastian Lee*, Jaroslaw Rzepecki, Katja Hofmann, and Sam Devlin. \n\\* Joint first author\n\n![Default textures](https://github.com/microsoft/MazeExplorer/raw/master/assets/default_textures.png) ![Random Textures](https://github.com/microsoft/MazeExplorer/raw/master/assets/textures-1.png) ![Random Textures](https://github.com/microsoft/MazeExplorer/raw/master/assets/textures-2.png) \n\n# The Mission\n\nThe goal is to navigate a procedurally generated maze and collect a set number of keys.\n\nThe environment is highly customisable, allowing you to create different training and test environments.\n\nThe following features of the environment can be configured:\n- Unique or repeated maps\n- Number of maps\n- Map Size (X, Y)\n- Maze complexity\n- Maze density\n- Random/Fixed keys\n- Random/Fixed textures\n- Random/Fixed spawn\n- Number of keys\n- Environment Seed\n- Episode timeout\n- Reward clipping\n- Frame stack\n- Resolution\n- Action frame repeat\n- Actions space\n- Specific textures (Wall,\nceiling, floor)\n- Data Augmentation\n\n# Example Usage\n\n```python\nfrom mazeexplorer import MazeExplorer\n\ntrain_env = MazeExplorer(number_maps=1,\n size=(15, 15),\n random_spawn=True,\n random_textures=False,\n keys=6)\n \ntest_env = MazeExplorer(number_maps=1,\n size=(15, 15),\n random_spawn=True,\n random_textures=False,\n keys=6)\n\n# training\nfor _ in range(1000):\n obs, rewards, dones, info = train_env.step(train_env.action_space.sample())\n \n \n# testing\nfor _ in range(1000):\n obs, rewards, dones, info = test_env.step(test_env.action_space.sample())\n```\n\n# Installation\n\n1. Install the dependencies for VizDoom: [Linux](https://github.com/mwydmuch/ViZDoom/blob/master/doc/Building.md#-linux), [MacOS](https://github.com/mwydmuch/ViZDoom/blob/master/doc/Building.md#-linux) or [Windows](https://github.com/mwydmuch/ViZDoom/blob/master/doc/Building.md#-windows).\n1. `pip3 install virtualenv pytest`\n1. Create a virtualenv and activate it\n 1. `virtualenv mazeexplorer-env`\n 1. `source maze-env/bin/activate`\n1. Git clone this repo `git clone https://github.com/microsoft/MazeExplorer`\n1. cd into the repo: `cd MazeExplorer`\n1. Pull the submodules with `git submodule update --init --recursive`\n1. Install the dependencies: `pip3 install -e .`\n1. Run the tests: `bash test.sh`\n\n# Baseline experiments\n\nThe information to reproduce the baseline experiments is shown in `baseline_experiments/experiments.md`.\n\n# Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/microsoft/MazeExplorer", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "mazeexplorer", "package_url": "https://pypi.org/project/mazeexplorer/", "platform": "", "project_url": "https://pypi.org/project/mazeexplorer/", "project_urls": { "Homepage": "https://github.com/microsoft/MazeExplorer" }, "release_url": "https://pypi.org/project/mazeexplorer/1.0.5/", "requires_dist": null, "requires_python": "", "summary": "Customisable 3D benchmark for assessing generalisation in Reinforcement Learning.", "version": "1.0.5" }, "last_serial": 5607804, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "ac82e4c5dc5278cee100c15a7e71e07e", "sha256": "2b6894ff9e4a82edde383ce2790185e0eb49daa012cbae9a4101f40c038066fc" }, "downloads": -1, "filename": "mazeexplorer-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ac82e4c5dc5278cee100c15a7e71e07e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16205, "upload_time": "2019-06-13T15:29:51", "url": "https://files.pythonhosted.org/packages/51/a9/76fc723b386dcfbe06cc8e680a82afd1da6524719d7e6149cfaad4e6f526/mazeexplorer-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e8c0fb430f6d7e86e825687a314c4d3", "sha256": "8f4f2fef5ef304f9dee69e5f187d828aed6897fe22528d0e3f6c8a3efd99115e" }, "downloads": -1, "filename": "mazeexplorer-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5e8c0fb430f6d7e86e825687a314c4d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11520, "upload_time": "2019-06-13T15:29:54", "url": "https://files.pythonhosted.org/packages/6e/ed/808f2dd170bfa7c44844cfa796c281fe940b4c1855bcc4d28cd05dea9ae3/mazeexplorer-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "1842e5fed80e54731a9ad76ad7afafbd", "sha256": "28bf37f8ab260f0f2ab2991a67418e1a4490906be8f15c3348eeecd42a353531" }, "downloads": -1, "filename": "mazeexplorer-1.0.1.tar.gz", "has_sig": false, "md5_digest": "1842e5fed80e54731a9ad76ad7afafbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151530, "upload_time": "2019-06-13T16:19:05", "url": "https://files.pythonhosted.org/packages/0e/e8/165fcc74c2b0e818d95c0d25726e221a93fdffb6e305d04f220a20570005/mazeexplorer-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6f5edfa4bd4952ac4d211c028cbb331b", "sha256": "4ecf0813306471ff963913fd9bbd88c4a4700decb94c601953260c64c26374ed" }, "downloads": -1, "filename": "mazeexplorer-1.0.2.tar.gz", "has_sig": false, "md5_digest": "6f5edfa4bd4952ac4d211c028cbb331b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151972, "upload_time": "2019-06-13T16:28:58", "url": "https://files.pythonhosted.org/packages/f4/2f/993cf49644f956880b2f973ac575290c32bcc1bc01eb5fc90abaf00cf7e7/mazeexplorer-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d1fa30aaa45269ce88ba6d1043c6c7cc", "sha256": "5cbfae8ea1c939be5db4f9e6e89539b8d4c94942a8ba9ecd8f30e89cc137b1fe" }, "downloads": -1, "filename": "mazeexplorer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d1fa30aaa45269ce88ba6d1043c6c7cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151972, "upload_time": "2019-06-14T06:04:05", "url": "https://files.pythonhosted.org/packages/28/d3/d42054d5f557e1126ac3af0f3f43fd0ed937caca4736b3928e98acc262b7/mazeexplorer-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "76e47e8cdb0ec37cb262ee730a2cc736", "sha256": "68b4f7f66090b47c10c3267b3cd166de3c083e86d8354799393c5a564b40e4fa" }, "downloads": -1, "filename": "mazeexplorer-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "76e47e8cdb0ec37cb262ee730a2cc736", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 99809, "upload_time": "2019-07-30T13:32:41", "url": "https://files.pythonhosted.org/packages/63/dc/b98a517c908cfccabbbc07aca68b29ea68433a275875a585521d5711f43e/mazeexplorer-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c62186999c87c5ff9661024fa6002bf", "sha256": "b8ae7512af26230342ddb7e0aa78e62e811991d1d7b643acf21619c30b359a94" }, "downloads": -1, "filename": "mazeexplorer-1.0.4.tar.gz", "has_sig": false, "md5_digest": "6c62186999c87c5ff9661024fa6002bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86515, "upload_time": "2019-07-30T13:32:43", "url": "https://files.pythonhosted.org/packages/2b/bc/5de204221406dca67068f51ccab826212523d0fe4c5377431a15fdb79997/mazeexplorer-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "fb0ad146e6d8e7a7d3d3abc6ddce88e6", "sha256": "0447ff094c68347417558b2b8f659f62ff2817452498e70b9f1973d0413ae370" }, "downloads": -1, "filename": "mazeexplorer-1.0.5.tar.gz", "has_sig": false, "md5_digest": "fb0ad146e6d8e7a7d3d3abc6ddce88e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86521, "upload_time": "2019-07-30T13:46:11", "url": "https://files.pythonhosted.org/packages/cb/4e/0d4d2a6758d5da7b2c8f5cc4aab9e898e3673aa4d31fe984601cb5c0c8dd/mazeexplorer-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fb0ad146e6d8e7a7d3d3abc6ddce88e6", "sha256": "0447ff094c68347417558b2b8f659f62ff2817452498e70b9f1973d0413ae370" }, "downloads": -1, "filename": "mazeexplorer-1.0.5.tar.gz", "has_sig": false, "md5_digest": "fb0ad146e6d8e7a7d3d3abc6ddce88e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86521, "upload_time": "2019-07-30T13:46:11", "url": "https://files.pythonhosted.org/packages/cb/4e/0d4d2a6758d5da7b2c8f5cc4aab9e898e3673aa4d31fe984601cb5c0c8dd/mazeexplorer-1.0.5.tar.gz" } ] }