retro

Retro Games in Gym

Github stars Tracking Chart

Status: Maintenance (expect bug fixes and minor updates)

Gym Retro

Gym Retro lets you turn classic video games into Gym environments for reinforcement learning and comes with integrations for ~1000 games. It uses various emulators that support the Libretro API, making it fairly easy to add new emulators.

Supported platforms:

  • Windows 7, 8, 10
  • macOS 10.13 (High Sierra), 10.14 (Mojave)
  • Linux (manylinux1)

Supported Pythons:

  • 3.5
  • 3.6
  • 3.7

Each game integration has files listing memory locations for in-game variables, reward functions based on those variables, episode end conditions, savestates at the beginning of levels and a file containing hashes of ROMs that work with these files.

Please note that ROMs are not included and you must obtain them yourself. Most ROM hashes are sourced from their respective No-Intro SHA-1 sums.

Documentation

Documentation is available at https://retro.readthedocs.io/en/latest/

You should probably start with the Getting Started Guide.

Contributing

See CONTRIBUTING.md

Changelog

See CHANGES.md

Emulated Systems

  • Atari
    • Atari2600 (via Stella)
  • NEC
    • TurboGrafx-16/PC Engine (via Mednafen/Beetle PCE Fast)
  • Nintendo
    • Game Boy/Game Boy Color (via gambatte)
    • Game Boy Advance (via mGBA)
    • Nintendo Entertainment System (via FCEUmm)
    • Super Nintendo Entertainment System (via Snes9x)
  • Sega
    • GameGear (via Genesis Plus GX)
    • Genesis/Mega Drive (via Genesis Plus GX)
    • Master System (via Genesis Plus GX)

See LICENSES.md for information on the licenses of the individual cores.

Included ROMs

The following non-commercial ROMs are included with Gym Retro for testing purposes:

Citation

Please cite using the following BibTeX entry:

@article{nichol2018retro,
  title={Gotta Learn Fast: A New Benchmark for Generalization in RL},
  author={Nichol, Alex and Pfau, Vicki and Hesse, Christopher and Klimov, Oleg and Schulman, John},
  journal={arXiv preprint arXiv:1804.03720},
  year={2018}
}

Overview

Name With Owneropenai/retro
Primary LanguageC
Program languageCMake (Language Count: 23)
Platform
License:MIT License
Release Count10
Last Release Namef347d7e (Posted on )
First Release Namev0.5.2 (Posted on )
Created At2018-02-07 00:32:02
Pushed At2024-02-22 13:04:14
Last Commit At2023-04-12 13:48:22
Stargazers Count3.3k
Watchers Count96
Fork Count520
Commits Count281
Has Issues Enabled
Issues Count223
Issue Open Count49
Pull Requests Count34
Pull Requests Open Count10
Pull Requests Close Count19
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top