用于“街机学习环境”的Swift API

请访问 街机学习环境 仓库。

街机学习环境 (ALE) 是一个简单的面向对象框架,它允许研究人员和爱好者为 Atari 2600 游戏开发 AI 智能体。 它建立在 Atari 2600 模拟器 Stella 之上,并将模拟的细节与智能体设计分离。 这个 视频 描述了 ALE 当前支持的 50 多款游戏。

有关我们 ALE 目标的概述,请阅读 街机学习环境:通用智能体的评估平台。 如果您在研究中使用 ALE,请在引用该环境时引用本文(BibTeX 条目位于本文档末尾)。 此外,如果您对 ALE 有任何问题或意见,请通过我们的 邮件列表 联系我们。

欢迎提供反馈和建议,并可将其发送给 ALE 团队的任何活跃成员。

特性

快速开始

安装主要依赖项

$ sudo apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev cmake

在 macOS 上

$ brew install sdl

克隆 ALE

$ git clone https://github.com/mgbellemare/Arcade-Learning-Environment.git

编译

$ cd Arcade-Learning-Environment
$ cmake -DUSE_SDL=ON -DUSE_RLGLUE=OFF -DBUILD_EXAMPLES=OFF
$ make -j 4
$ sudo make install

Swift 包

添加到您的包依赖项

dependencies: [
    .package(url: "https://github.com/Octadero/AtariKit.git", from: "0.0.1"),
],

Ubuntu

调用以构建

swift build -Xlinker -rpath -Xlinker /usr/local/lib/

调用以启动测试

swift test -Xlinker -rpath -Xlinker /usr/local/lib/

使用其中一个 rom 创建游戏并启动游戏

let game = try Environment(romPath: "%pathToSources%/AtariKit/atari-roms/pong.bin")

// do action.
let reward = game.send(action: .playerAleft)

// get RGB dump of screen.
let screen = game.screenRGBBuffer()

// get screen size.
let size = game.screenSize()

// check if game is over.
if game.isOver { }