SerpentAI

Game Agent Framework. Helping you create AIs / Bots to play any game you own!

Github星跟蹤圖

Serpent.AI - Game Agent Framework (Python)







Warning: End of life (November 2018)

The development work on the framework has stopped. The necessary time to keep up with the crazy nature of reinforcement learning, the bug fixing and community support cannot be justified anymore (sadly). The repository will remain up as it should be, for people interested in the field, a very exhaustive resource code-wise to interact with games for machine learning. There is a ton to learn by snooping through the code. Have Fun!

Serpent.AI is a simple yet powerful, novel framework to assist developers in the creation of game agents. Turn ANY video game you own into a sandbox environment ripe for experimentation, all with familiar Python code. The framework's raison d'être is first and foremost to provide a valuable tool for Machine Learning & AI research. It also turns out to be ridiculously fun to use as a hobbyist (and dangerously addictive; a fair warning)!

The framework features a large assortment of supporting modules that provide solutions to commonly encountered scenarios when using video games as environments as well as CLI tools to accelerate development. It provides some useful conventions but is absolutely NOT opiniated about what you put in your agents: Want to use the latest, cutting-edge deep reinforcement learning algorithm? ALLOWED. Want to use computer vision techniques, image processing and trigonometry? ALLOWED. Want to randomly press the Left or Right buttons? sigh ALLOWED. To top it all off, Serpent.AI was designed to be entirely plugin-based (for both game support and game agents) so your experiments are actually portable and distributable to your peers and random strangers on the Internet.

You'll also be glad to hear that all 3 major OSes are supported: Linux, Windows & macOS.

Experiment: Game agent learning to defeat Monstro (The Binding of Isaac: Afterbirth+)

Background

The project was born out of admiration for / frustration with OpenAI Universe. The idea is perfect, let's be honest, but some implementation details leave a lot to be desired. From these, the core tennets of the framework were established:

  1. Thou shall run natively. Thou shalt not use Docker containers or VNC servers.
  2. Thou shall allow a user to bring their own games. Thou shalt not wait for licensing deals and special game APIs.
  3. Thou shall encourage diverse and creative approaches. Thou shalt not only enable AI flavors of the month.

Want to know more about how Serpent.AI came to be? Read The Story Behind Serpent.AI on the blog!

Documentation

Guides, tutorials and videos are being produced and added to the GitHub Wiki. It currently is the official source of documentation.

Experiment: Game agent learning to match tiles (You Must Build a Boat)

Business Contact: info@serpent.ai

主要指標

概覽
名稱與所有者SerpentAI/SerpentAI
主編程語言Python
編程語言Python (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2017-04-16 21:48:39
推送於2022-11-07 01:59:31
最后一次提交2017-08-26 19:31:59
發布數1
最新版本名稱optional (發布於 )
第一版名稱optional (發布於 )
用户参与
星數6.9k
關注者數334
派生數801
提交數250
已啟用問題?
問題數0
打開的問題數0
拉請求數32
打開的拉請求數2
關閉的拉請求數24
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?