Giter Site home page Giter Site logo

filler-rl's Introduction

Filler

I created this project to experiment with creating an RL agent to beat the game Filler (example: https://apkpure.com/filler-game/org.caeex.filler).

Currently, the player can play against an AI player or let it play against another AI player. The AI player does a depth-first search (DFS) to select the best action to take.

How to play

Run python filler.py to play.

Press y to watch as the AI player competes against another AI player. Press return in the Terminal window to advance a turn.

Press return or any other key to play manually against the AI player. The MatPlotLib window will show the current game state. Enter your color choice in the Terminal window.

More details

To create an RL agent that can beat this game, first I had to code up the actual game in Python. I created multiple classes to store the game, the players, and the values on the board. The gameboard values are kept as integers on the backend and displayed in color using MatPlotLib.

An image of the gameboard is saved as image.png each turn. This will be used as the state when I begin training the RL agent. The action will be the color to play next and the reward will be the player's score.

I anticipate a challenge for the agent as playing manually, there are times when the current DFS agent can beat me easily. Nevertheless, I can always increase the DFS' depth to improve the AI and create a tougher challenge.

filler-rl's People

Contributors

umangs94 avatar

Watchers

 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.