{ "info": { "author": "Elvis Yu-Jing Lin", "author_email": "elvisyjlin@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# gym-chrome-dino\n\nAn OpenAI Gym environment for Chrome Dino / T-Rex Runner Game\n\nThis environment utilizes \n[a forked version](https://github.com/elvisyjlin/t-rex-runner) \nof _Chrome Dino_, also called _T-Rex Runner_, \nextracted from chromium offline error page. \nSee [here](https://github.com/wayou/t-rex-runner).\n\n\n## Installation\n\nYou can install `gym-chrome-dino` from PyPI by either \n\n```bash\npip install gym-chrome-dino\n```\n\nor\n\n```bash\ngit clone https://github.com/elvisyjlin/gym-chrome-dino.git\ncd gym-chrome-dino\npip install -e .\n```\n\n\n## Usage\n\nYou can get started as follows:\n\n```python\nimport gym\nimport gym_chrome_dino\nenv = gym.make('ChromeDino-v0')\n```\n\nTo create a headless (without opening browser) environment\n\n```python\nenv = gym.make('ChromeDinoNoBrowser-v0')\n```\n\n### Observations, Actions and Rewards\n\n* The observation is a RGB numpy array with shape of (150, 600, 3). \n* The available actions are 0: _do nothing_, 1: _jump_, and 2: _duck_. \n* A positive reward 0.01 is given when the dinosaur is alive; a negative penalty -1.0 is given when the dinosaur hits an obstable, which might be a cactus or a bird.\n\nFor the DeepMind DQN recipe, where we give 4-stacked resized grayscaled frames (80, 160, 4) to the agent, we provide a wrapping method `make_dino()`. It also comes with a timer wrapper, which reports the interval between `env.step()`.\n\n```python\nfrom gym_chrome_dino.wrappers import make_dino\nenv = make_dino(env, timer=True, frame_stack=True)\n```\n\n### DinoGame\n\nAn instance of `DinoGame` is created when the environment is made. There are some useful methods for fine control of the training environment. The `DineGame` can be accessed as follows:\n\n```python\nenv.unwrapped.game\n```\n\n`DinoGame` provides a `get_score()` method to get the score of current game.\n\n```python\nscore = env.unwrapped.game.get_score()\n```\n\nBy default, the acceleration of the game is set to zero. If you want to restore the original acceleration value, please do `set_acceleration(True)`. On the other hand, `set_acceleration(False)` sets the value to zero.\n\n```python\nenv.unwrapped.game.set_acceleration(True)\n```\n\n\n## Example\n\nHere is a simple example to use `gym-chrome-dino`.\n\n```python\nimport gym\nimport gym_chrome_dino\nfrom gym_chrome_dino.utils.wrappers import make_dino\nenv = gym.make('ChromeDino-v0')\nenv = make_dino(env, timer=True, frame_stack=True)\ndone = True\nwhile True:\n if done:\n env.reset()\n action = env.action_space.sample()\n observation, reward, done, info = env.step(action)\n```\n\n\n## WebDriver\n\n`gym-chrome-dino` runs the game on [chromedriver](http://chromedriver.chromium.org) via `selenium` because it is a proper way to monitor and to play _Chrome Dino_. As a result, the latest chromedriver executable file will be downloaded to the current working directory where your program is.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/elvisyjlin/gym-chrome-dino", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gym-chrome-dino", "package_url": "https://pypi.org/project/gym-chrome-dino/", "platform": "", "project_url": "https://pypi.org/project/gym-chrome-dino/", "project_urls": { "Homepage": "https://github.com/elvisyjlin/gym-chrome-dino" }, "release_url": "https://pypi.org/project/gym-chrome-dino/0.0.3/", "requires_dist": [ "Pillow (>=3.1.2)", "beautifulsoup4 (>=4.4.1)", "gym (>=0.10.8)", "lxml (>=3.5.0)", "numpy (>=1.15.3)", "opencv-python (>=3.4.2.17)", "requests (>=2.9.1)", "selenium (>=3.14.1)" ], "requires_python": "", "summary": "Chrome Dino in OpenAI Gym", "version": "0.0.3" }, "last_serial": 4446907, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "77798a7bce9f9414e555da1cd5a73de8", "sha256": "7e9aebbe04b7de727a9ae82aa0beb8e4e77656bddf4035e30ca4164cb352161e" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77798a7bce9f9414e555da1cd5a73de8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13604, "upload_time": "2018-10-30T18:59:45", "url": "https://files.pythonhosted.org/packages/46/70/fe21401cf5949860dcc19476be61213cd731a6f7c47e167abdd7c21c0dd2/gym_chrome_dino-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8697ee2eee372ff26127d10e30a37fef", "sha256": "e64e9b54aa0bc798e317cabdbc041d73b67dd7efeba215af3178403c3457649a" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8697ee2eee372ff26127d10e30a37fef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7918, "upload_time": "2018-10-30T18:59:46", "url": "https://files.pythonhosted.org/packages/32/a1/9251adff531032ab229d5362dee0e9f5d71d622c1abe6490e8f9cdca8ac8/gym_chrome_dino-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "22db88b7a33022710b25f0ffcfcd127c", "sha256": "c046db9780f2e7a66b2639a19964a501bfa78475245df67fff94471438333192" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22db88b7a33022710b25f0ffcfcd127c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13623, "upload_time": "2018-10-30T19:14:50", "url": "https://files.pythonhosted.org/packages/24/68/f8717591ca544a0fca991162f39bb996c4827ddfb7703e031d7fcd62a36c/gym_chrome_dino-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de8b7e337c9cd1b33ded3a6a25cae0c5", "sha256": "b14a037c0986143f469f80b6cb17e735678b9971bd9f6694a003a98acd5110d2" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.2.tar.gz", "has_sig": false, "md5_digest": "de8b7e337c9cd1b33ded3a6a25cae0c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7933, "upload_time": "2018-10-30T19:14:52", "url": "https://files.pythonhosted.org/packages/72/06/bb22b420deaadbabac9c813b4f1e6e22857066408b351e00ec462ac58076/gym_chrome_dino-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a6e19487eef90786b14f84214e7f45f5", "sha256": "fac655990d39a16bfafc59958748bfa1a62a637569827036b34d8ac6a0f70244" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a6e19487eef90786b14f84214e7f45f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13729, "upload_time": "2018-11-03T06:32:06", "url": "https://files.pythonhosted.org/packages/aa/e1/41accd699e9e6a1dc3f44c176696baf07272e17e7d0eabc4cb8149648ba5/gym_chrome_dino-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cece94db8847e9af585a5ae264278ed5", "sha256": "44a6861d7cc7afa7086cc67a149b76f036983aac0295a6a087113731d0e1ebda" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cece94db8847e9af585a5ae264278ed5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8025, "upload_time": "2018-11-03T06:32:07", "url": "https://files.pythonhosted.org/packages/51/0e/bc1d5173d66a090d2c774cda4759ac7bba5807c5e9bbb38801e61eeb7627/gym_chrome_dino-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6e19487eef90786b14f84214e7f45f5", "sha256": "fac655990d39a16bfafc59958748bfa1a62a637569827036b34d8ac6a0f70244" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a6e19487eef90786b14f84214e7f45f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13729, "upload_time": "2018-11-03T06:32:06", "url": "https://files.pythonhosted.org/packages/aa/e1/41accd699e9e6a1dc3f44c176696baf07272e17e7d0eabc4cb8149648ba5/gym_chrome_dino-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cece94db8847e9af585a5ae264278ed5", "sha256": "44a6861d7cc7afa7086cc67a149b76f036983aac0295a6a087113731d0e1ebda" }, "downloads": -1, "filename": "gym_chrome_dino-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cece94db8847e9af585a5ae264278ed5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8025, "upload_time": "2018-11-03T06:32:07", "url": "https://files.pythonhosted.org/packages/51/0e/bc1d5173d66a090d2c774cda4759ac7bba5807c5e9bbb38801e61eeb7627/gym_chrome_dino-0.0.3.tar.gz" } ] }