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

License: MIT

Language: Jupyter Notebook

Keywords: artificial-intelligence, computer-vision, deep-learning, framework, machine-learning, python, video-games

Serpent.AI - Game Agent Framework (Python)

Want to see the framework in action? The Serpent.AI Lab streams experiments in games 24/7 on Twitch - YouTube - Mixer

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+)


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!


Guides, tutorials and videos are being produced and added to the GitHub 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. 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 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. There is also a wiki page reserved for showcasing your plugins!

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

Serpent.AI is the love child of @nbrochu's passion for science & experimentation, programming and video games. All of development and experiments can be seen live on the Twitch Channel.

Business Contact:

Twitter: @Serpent_AI

Project Statistics

Sourcerank 10
Repository Size 754 KB
Stars 5,010
Forks 523
Watchers 282
Open issues disabled
Dependencies 33
Contributors 7
Tags 0
Last updated
Last pushed

Top Contributors See all

Nicholas Brochu Vilsol corbob Remco Troost Dgc2002 hobbycoder7 rohit kumar

Packages Referencing this Repo

Game Agent Development Kit. Helping you create AIs / Bots to play any game you own!
Latest release 2018.1.2 - Updated - 5.01K stars

Interesting Forks See all

Game Agent Framework. Helping you create AIs / Bots to play any game you own!
Jupyter Notebook - MIT - Updated - 1 stars
Game Agent Framework. Helping you create AIs / Bots to play any game you own! BETA
Python - MIT - Last pushed - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2018-02-17 00:29:00 UTC

Login to resync this repository