SerpentAI 2018.1.0
Game Agent Development Kit. Helping you create AIs / Bots to play any game you own!
License: MIT

|image0|

Serpent.AI - Game Agent Framework (Python)
==========================================

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.

|image1|

*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 <https://github.com/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 <http://blog.serpent.ai/the-story-behind-serpent-ai/>`__ on
the blog!*

Documentation
-------------

Guides, tutorials and videos are being produced and added to the `GitHub
Wiki <https://github.com/SerpentAI/SerpentAI/wiki>`__. It currently is
the official source of documentation.

Getting Help
------------

If you encounter a problem while using the Serpent.AI framework, you are
encouraged to create a GitHub
`issue <https://github.com/SerpentAI/SerpentAI/issues/new>`__. If you do
so, please make sure to provide as much context as possible. You can
also ask your questions and get help from the community on
`Discord <https://discord.gg/9D5SuxH>`__ in the *#serpent-ai-help*
public channel. Installation problems should also be directed towards
that Discord channel and not GitHub issues; Your chances of receiving a
prompt response are much better that way!

Showcasing your Work
--------------------

Have you built something cool using Serpent.AI? Want to give the
community progress updates? Share your repositories and videos in
*#serpent-ai-showcase* on `Discord <https://discord.gg/9D5SuxH>`__.
There is also a `wiki
page <https://github.com/SerpentAI/SerpentAI/wiki/Community-Plugin-Showcase>`__
reserved for showcasing your plugins!

|image2|

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

Serpent.AI is the love child of [@nbrochu](https://github.com/nbrochu)’s
passion for science & experimentation, programming and video games. All
of development and experiments can be seen live on the `Twitch
Channel <https://www.twitch.tv/serpent_ai>`__.

*Business Contact: info@serpent.ai*

*Twitter: [@Serpent_AI](https://twitter.com/Serpent_AI)*

.. |image0| image:: https://s3.ca-central-1.amazonaws.com/serpent-ai-assets/SerpentFBCover.png
.. |image1| image:: https://s3.ca-central-1.amazonaws.com/serpent-ai-assets/demo_isaac.gif
.. |image2| image:: https://s3.ca-central-1.amazonaws.com/serpent-ai-assets/demo_ymbab.gif