Git Product home page Git Product logo

endless-fake's Introduction

endless-fake

Build Status

Heavy work in progress!

Helpers for building and evaluating artificial intelligence agents playing the Endless Lake video game.

endless-fake heading

Pre-requisites

  • Google Chrome with the chromedriver binary
  • Python 3.6 (not tested under prior versions yet)

Installation

$ python setup.py install

Copy the chromedriver binary in your current working directory. It should be fine if your system can already find it through the PATH environment variable.

Usage

$ endless-fake -h
Endless Fake

Usage:
  endless-fake <command> [<args>...]
  endless-fake (-h | --help)
  endless-fake (-v | --version)

Options:
  -h --help     Show this screen.
  -v --version  Show version.

Commands:
  evaluate      Evaluate a previously trained machine learning model.
  fetch         Download a copy of the Endless Lake video game.
  genetics      Run a genetics algorithm to let the computer learn by itself.
  patch         Patch a copy of the video game.
  playback      Play a previously recorded gameplay video.
  record        Start a web browser and record a gameplay video.
  restore       Revert the initial backup of the video game.
  teach         Write a CSV file containing inputs and expected outputs.
  train         Train a machine learning model from a CSV file.

Getting Started

First, let's download a copy of the Endless Lake video game.

$ endless-fake fetch ./game

Patch the game files to make an offline version.

$ endless-fake patch ./game

Start recording a gameplay video, in order to become independent of the web browser. Be careful as the video might become heavy since it will keep uncompressed frames!

$ endless-fake record --output video.avi ./game

Run the included scanner, to make sure the video has been well written and our scanner is working fine.

$ endless-fake playback video.avi

Get some data by recording your actions corresponding to the inputs.

$ endless-fake teach --output data.csv ./game

Train the included neural network agent with the previously collected data.

$ endless-fake train --output brain.dat data.csv

Evaluate the neural network we've just generated.

$ endless-fake evaluate --input brain.dat ./game

You can also just let your computer learn how to play by itself.

$ endless-fake genetics ./game

endless-fake's People

Contributors

aisouard avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.