Skip to main content

The Arcade Learning Environment (ALE) - a platform for AI research.

Project description

The Arcade Learning Environment

Build Status

The Arcade Learning Environment (ALE) is a simple object-oriented framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games. It is built on top of the Atari 2600 emulator Stella and separates the details of emulation from agent design. This video depicts over 50 games currently supported in the ALE.

For an overview of our goals for the ALE read The Arcade Learning Environment: An Evaluation Platform for General Agents. If you use ALE in your research, we ask that you please cite this paper in reference to the environment. See the Citing section for BibTeX entries.

Features

  • Object-oriented framework with support to add agents and games.
  • Emulation core uncoupled from rendering and sound generation modules for fast emulation with minimal library dependencies.
  • Automatic extraction of game score and end-of-game signal for more than 50 Atari 2600 games.
  • Multi-platform code (compiled and tested under macOS, Windows, and several Linux distributions).
  • Python development is supported through pybind11.
  • Agents programmed in C++ have access to all features in the ALE.
  • Visualization tools.

Quick Start

You must have a valid C++17 compiler and the following dependencies installed (we recommend using vcpkg on all platforms)

vcpkg install zlib sdl1

Note: sdl is optional but can be useful for display/audio support (i.e., display_screen and sound config options).

Python

The package ale-py will be distributed via PyPi but for the time being Python users can install the ALE via

pip install .

Note: Make sure you're using an up to date version of pip or the install may fail.

You can now import the ALE in your Python projects with

from ale_py import ALEInterface

ale = ALEInterface()
ale.loadROM(...)

C++

We use CMake as a first class citizen and you can use the ALE directly with any CMake project. To compile and install the ALE you can run

mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --target install

There are optional flags -DSDL_SUPPORT=ON/OFF to toggle SDL support (OFF by default), -DBUILD_CPP_LIB=ON/OFF to build the ale-lib C++ target (ON by default), and -DBUILD_PYTHON_LIB=ON/OFF to build the pybind11 wrapper (ON by default).

Finally you can link agaisnt the ALE in your own CMake project as follows

find_package(ale REQUIRED)
target_link_libraries(YourTarget ale::ale-lib)

Citing

If you use the ALE in your research, we ask that you please cite the following.

M. G. Bellemare, Y. Naddaf, J. Veness and M. Bowling. The Arcade Learning Environment: An Evaluation Platform for General Agents, Journal of Artificial Intelligence Research, Volume 47, pages 253-279, 2013.

In BibTeX format:

@Article{bellemare13arcade,
    author = {{Bellemare}, M.~G. and {Naddaf}, Y. and {Veness}, J. and {Bowling}, M.},
    title = {The Arcade Learning Environment: An Evaluation Platform for General Agents},
    journal = {Journal of Artificial Intelligence Research},
    year = "2013",
    month = "jun",
    volume = "47",
    pages = "253--279",
}

If you use the ALE with sticky actions (flag repeat_action_probability), or if you use the different game flavours (mode and difficulty switches), we ask you that you also cite the following:

M. C. Machado, M. G. Bellemare, E. Talvitie, J. Veness, M. J. Hausknecht, M. Bowling. Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents, Journal of Artificial Intelligence Research, Volume 61, pages 523-562, 2018.

In BibTex format:

@Article{machado18arcade,
    author = {Marlos C. Machado and Marc G. Bellemare and Erik Talvitie and Joel Veness and Matthew J. Hausknecht and Michael Bowling},
    title = {Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents},
    journal = {Journal of Artificial Intelligence Research},
    volume = {61},
    pages = {523--562},
    year = {2018}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

ale_py-0.7rc4-cp39-cp39-win_amd64.whl (902.8 kB view details)

Uploaded CPython 3.9Windows x86-64

ale_py-0.7rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

ale_py-0.7rc4-cp39-cp39-macosx_11_0_arm64.whl (971.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ale_py-0.7rc4-cp39-cp39-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

ale_py-0.7rc4-cp38-cp38-win_amd64.whl (902.7 kB view details)

Uploaded CPython 3.8Windows x86-64

ale_py-0.7rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

ale_py-0.7rc4-cp38-cp38-macosx_11_0_arm64.whl (971.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

ale_py-0.7rc4-cp38-cp38-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

ale_py-0.7rc4-cp37-cp37m-win_amd64.whl (902.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

ale_py-0.7rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

ale_py-0.7rc4-cp37-cp37m-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

ale_py-0.7rc4-cp36-cp36m-win_amd64.whl (903.0 kB view details)

Uploaded CPython 3.6mWindows x86-64

ale_py-0.7rc4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

ale_py-0.7rc4-cp36-cp36m-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6mmacOS 10.15+ x86-64

File details

Details for the file ale_py-0.7rc4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 902.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dc12ba06c632df69a90cd92660bd9e0d39d259063860d9a62737709ce8c748c4
MD5 5bc9e57fb2295e77e70e901ae4426033
BLAKE2b-256 b42826ddc94b387361662aff25380286d14cf416550e1f32775f3721507e4ae1

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ale_py-0.7rc4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a67a3b2d60ab009fd2b059bcd7393871366e7cf3f8eb495835de0f3fcac10a41
MD5 d660de02a852bd06e9889a34b70248de
BLAKE2b-256 fc9e7c95685ed0f40f5d0e317116560ddc99420f334323f33a9145e148ce409a

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 971.4 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67b09200ef2742d571b0d1a3f26194fd6abcd2be91f9c3a1b6f7ccc8e290f736
MD5 da3bd4cb6e55a83bf1c6182890c7ddff
BLAKE2b-256 ac09a43a9c9e5ad6b8cf3f019f450cfc1160d0a2371c45b935ddd75a90c94f3b

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 feecf8ce660d9df82bcb7d3b390186b9c05a541a0d6620ec84b564a9382e7e59
MD5 d28e931e411032be0b7a6199c96d1d6b
BLAKE2b-256 168f78a4131c1123139e06768e017a8ecc0c459f57ff1e04fa093a04dc5768bb

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 902.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8f6e144947fd7c7f4302f72cd94501a3079ac1b23455ae643e3b5af28fbf10ff
MD5 9f66ab1481733be1c4bac82b642aeffd
BLAKE2b-256 f9298adf322cd2192ffe7a5913f7f1a8c1242d378bd2af88a918598b32a4ba3e

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ale_py-0.7rc4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1f1d8a97a7d27bd722047e4d8e007b0799c4e06b3db3283e560f8ecdce68a01
MD5 9fbdef360a98e0f5aa67ab2af07b6420
BLAKE2b-256 8fb4078b1a8e8104bd347e2fd2844b2b2e949963e10c5c5f9a04972631aee2d3

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 971.3 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4fc5c5d432b0328e94135b303a5f14515a1416c040932453e2ffbf5ac6158bf
MD5 946c024aff18c1387c979c807f021ddd
BLAKE2b-256 26d8ddd496b3d62b1e19797f33fe702d4a9a735a95f1456e7577ad45a5e8e034

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2e0fa7adf3c38ef559cee4764907fb515e0dcb4a544211f9e95cf78760439633
MD5 57a214b2cc96466a3df9ac4a643728b8
BLAKE2b-256 985825a26e9e15fea02fca6b95a88b1bca2d49b2e3e9c0a3e212d0f40eff17a0

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 902.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 901d3b543bd22b4333a883d29da6031551c035adbdb9ab04d2f3558b9ffe9e2d
MD5 3c93096f601e7c37daaf3f0a6b3ab114
BLAKE2b-256 0fc81603b384db8a01233f6144cbe68469554865bd0ecb296184938cf5c3073d

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ale_py-0.7rc4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c811e493b1325f13bf31245c77dd44a461b1b9943f124c0594d1e3ecf4e2f96
MD5 7ef730674d3fcba19095486be21b4b9c
BLAKE2b-256 bfe233480717b1daf8325e0b98008334d3c869d938741512c1f12bdd6a9ac24a

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b275b1013a86dfd2ad9066433ca674e0709d67f040f455e3ed5da5154e81e4bc
MD5 576e5187d629ad4d8be74de5ef9bc5e9
BLAKE2b-256 7eba3be1c5a4ebac1453729d207ce48a18473daffdf2806feb4b4182224a911a

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 903.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4dea017d7b72ae3100c06cce4786f0a42f0ed286ce2183732fb2cb3a560bc48b
MD5 8b2e1f7682f929d5a9bdbd5c2b111cc7
BLAKE2b-256 14ca1dbf206394d6d3331ebc9d8e730e4448615debaafabe5ed9c7e50383bd57

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ale_py-0.7rc4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9825d967803cac7f30d43150efca035a3ad17d6aff14219dd6b372750f49e5b1
MD5 9f99d6c03ab3d6cd78ca9f29d86f7c1c
BLAKE2b-256 fe40e786355d81ad2196c147a822bef7cccce0727b49d7c5e7fc62d354b4259b

See more details on using hashes here.

File details

Details for the file ale_py-0.7rc4-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ale_py-0.7rc4-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for ale_py-0.7rc4-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c4e0dc1fe544d64822eee8e5355b7c6b426b00fd9622d55b9b04f55220c1bb1f
MD5 d4660baeeb9cd7a0a3b8b74db927fe0e
BLAKE2b-256 12a08d9171c11a64f2d89864071acf480e24efd81566a45ea1fa602c0d5d17ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page