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.7rc2-cp39-cp39-win_amd64.whl (902.3 kB view details)

Uploaded CPython 3.9Windows x86-64

ale_py-0.7rc2-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.7rc2-cp39-cp39-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

ale_py-0.7rc2-cp38-cp38-win_amd64.whl (902.2 kB view details)

Uploaded CPython 3.8Windows x86-64

ale_py-0.7rc2-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.7rc2-cp38-cp38-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

ale_py-0.7rc2-cp37-cp37m-win_amd64.whl (902.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

ale_py-0.7rc2-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.7rc2-cp37-cp37m-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

ale_py-0.7rc2-cp36-cp36m-win_amd64.whl (902.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

ale_py-0.7rc2-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.7rc2-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.7rc2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ale_py-0.7rc2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 902.3 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.7rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 14ceb020d17d7b8ea3d6a8253ed1813875241e3322acb2b3b8a2089396d38631
MD5 41a663c960a794190be50b7bbdcc3125
BLAKE2b-256 8a314fc3c2034ef1b77cf160288a845429edc43d534257a237cc7d1b1cd2617d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ale_py-0.7rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10addbb92f2aa46a9363250a30ec939a2643d611bfed256d1b57fbbe5e0a764d
MD5 f98d7fc14486cc09ef548ff621dba246
BLAKE2b-256 61cb791d92e779e99f2c3e6ebc469328966721b98b979bdbc9aba26ef6248442

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-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.7rc2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cc51f534cb6d03d996100155ca77a8626b490451f8ab013c3c77470ea2664ede
MD5 ce5324fc4f0146b07686642a4c364746
BLAKE2b-256 6631760b1fef210e742a110dae9aa541b69541d0e5c1cdb1980a8fefb01e8e6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 902.2 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.7rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 859e4d31648a0fc78b16c7d4e0bcbfad160d9352b0fd6e53c3ee2cc93dbaf5a0
MD5 eae29e0df107ea260e22232a8f729555
BLAKE2b-256 fe816b58cd983bbbb88a32d0a314874918628d736340ec92e55d5a6b280cb3d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ale_py-0.7rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5ac233f306b5e559ae03b81a490582ca748d53fcfdbad1206188c46ed823d5c
MD5 b04cee7b19d697a7b35f493bf63e8df1
BLAKE2b-256 8ecf907d27887bb74bcc545ff98bdf115241a4ed91cf32c35433d19ff7101000

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-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.7rc2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 66436ad668f35e826edcf9f5982318996f536a74a069ce6e324118d97e288238
MD5 c343c555f81c47776d3553cedc80cdb7
BLAKE2b-256 04a4c47a9c47d096e553555e1746650a3e30e94e6ecce3e6513eb5893b8eb977

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 902.3 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.7rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e132c5d17aff6c81b8725c1d88a2f3a10d3b431c1e2712d1728277dc9fdb19cb
MD5 7d5a28138946efb3f02ecc0b5990f2c6
BLAKE2b-256 141cf19930ae05a50d0004ecdcf7f76c7a71085944c4e065aaf31768c69d93bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ale_py-0.7rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6a3bcbe31c0281a74bba11d5e8097e0bc2749261090ca4a0abc3872be703529
MD5 41d7bdf3d4f3385411c8a01a11839d91
BLAKE2b-256 7b74c3eaaadc100ddb75cd405811173cb57e20bab9af59e3f40e1265a558ce31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-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.7rc2-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1f7b7c4001b11f7c39c0e4acf0b87f0127f197963759813e280dd945a64f14af
MD5 8a7e692892005504194016b2d49aca99
BLAKE2b-256 0274b6cab0b8d9e57cc566c2c865286b9348f8a576f36777b3987c088d998295

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 902.4 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.7rc2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 dde3dec8d688c9e45495cf029cc5cd252fcce4a611279e3d607878bd76a818ec
MD5 d005135998f648cee34ac0e21c70c5ef
BLAKE2b-256 72c1e96711b8a40a26dadfff2d0f14ae037bc3262d7f003d500af98f695c90b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ale_py-0.7rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a32421f97345bdb02608c20ca59d71642807d919fc1cd25213a035d474cf3f3
MD5 f06d575dfbb4b2117cb6d9a2ead1489e
BLAKE2b-256 71763a3f54109ad1e178771deb9887fd7ca1218b7815f028648e2b1f9bb90e6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ale_py-0.7rc2-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.7rc2-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 428b1f1d4bffbb0970c1d2c3310e25edcae8c8dfe8f9ca47f251fa5ccead9259
MD5 eeb70dab8e512575573371688373fb85
BLAKE2b-256 c7ddb02bafb2a98480cec553d2915e5fb5f94321ab2fb0588321443e1ebc7c1d

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