{"id":20755082,"url":"https://github.com/octadero/atarikit","last_synced_at":"2025-04-28T17:21:54.692Z","repository":{"id":63919472,"uuid":"112782049","full_name":"Octadero/AtariKit","owner":"Octadero","description":"Swift written API to launch and use The Arcade Learning Environment library.","archived":false,"fork":false,"pushed_at":"2018-01-20T18:23:49.000Z","size":274,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-26T00:42:18.372Z","etag":null,"topics":["atari","reinforcement-learning","swift","tensorflow"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Octadero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-01T20:08:14.000Z","updated_at":"2022-05-21T20:27:08.000Z","dependencies_parsed_at":"2023-01-14T14:00:46.654Z","dependency_job_id":null,"html_url":"https://github.com/Octadero/AtariKit","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Octadero%2FAtariKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Octadero%2FAtariKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Octadero%2FAtariKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Octadero%2FAtariKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Octadero","download_url":"https://codeload.github.com/Octadero/AtariKit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251352717,"owners_count":21575872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atari","reinforcement-learning","swift","tensorflow"],"created_at":"2024-11-17T09:22:42.095Z","updated_at":"2025-04-28T17:21:54.678Z","avatar_url":"https://github.com/Octadero.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swift API for 'The Arcade Learning Environment'\n\nPlease, visit [Arcade Learning Environment](https://github.com/mgbellemare/Arcade-Learning-Environment) repository.\n\nThe 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](https://stella-emu.github.io/) and separates the details of emulation from agent design. This [video](https://www.youtube.com/watch?v=nzUiEkasXZI) depicts over 50 games currently supported in the ALE.\n\nFor an overview of our goals for the ALE read [The Arcade Learning Environment: An Evaluation Platform for General Agents](http://www.jair.org/papers/paper3912.html). If you use ALE in your research, we ask that you please cite this paper in reference to the environment (BibTeX entry at the end of this document). Also, if you have any questions or comments about the ALE, please contact us through our [mailing list](https://groups.google.com/forum/#!forum/arcade-learning-environment).\n\n\nFeedback and suggestions are welcome and may be addressed to any active member of the ALE team.\n\n### Features\n- Object-oriented framework with support to add agents and games.\n- Emulation core uncoupled from rendering and sound generation modules for fast emulation with minimal library dependencies.\n- Automatic extraction of game score and end-of-game signal for more than 50 Atari 2600 games.\n- Multi-platform code (compiled and tested under OS X and several Linux distributions, with Cygwin support).\n- Communication between agents and emulation core can be accomplished through pipes, allowing for cross-language development (sample Java code included).\n- Python development is supported through ctypes.\n- Agents programmed in C++ have access to all features in the ALE.\n- Visualization tools.\n\n## Quick start\n\n\nInstall main dependences:\n```\n$ sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev cmake\n```\nOn macOS\n```\n$ brew install sdl\n```\n\nClone ALE\n```\n$ git clone https://github.com/mgbellemare/Arcade-Learning-Environment.git\n```\n\nCompilation:\n\n```\n$ cd Arcade-Learning-Environment\n$ cmake -DUSE_SDL=ON -DUSE_RLGLUE=OFF -DBUILD_EXAMPLES=OFF\n$ make -j 4\n$ sudo make install\n```\n## Swift package\nAdd to your package dependencies:\n\n```\ndependencies: [\n    .package(url: \"https://github.com/Octadero/AtariKit.git\", from: \"0.0.1\"),\n],\n```\n\n### Ubuntu\nCall to build\n```\nswift build -Xlinker -rpath -Xlinker /usr/local/lib/\n```\nCall to launch tests\n```\nswift test -Xlinker -rpath -Xlinker /usr/local/lib/\n```\n\n\nCreate game using one of the roms and launch game:\n```\nlet game = try Environment(romPath: \"%pathToSources%/AtariKit/atari-roms/pong.bin\")\n\n// do action.\nlet reward = game.send(action: .playerAleft)\n\n// get RGB dump of screen.\nlet screen = game.screenRGBBuffer()\n\n// get screen size.\nlet size = game.screenSize()\n\n// check if game is over.\nif game.isOver { }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctadero%2Fatarikit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foctadero%2Fatarikit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctadero%2Fatarikit/lists"}