DeMaCS-UNICAL / Angry-HEX

An artificial player for the popular video game Angry Birds
https://demacs-unical.github.io/Angry-HEX
Other
18 stars 6 forks source link
angry-birds artificial-intelligence logic-programming planning

Angry-HEX

Angry-HEX is an artificial player for the popular video game Angry Birds; it participated in the 2013, 2014, 2015, 2016, 2017, and 2018 Angry Birds AI Competition.

The agent is based on declarative knowledge bases, and features a combination of traditional imperative programming and declarative programming that allows to achieve high flexibility in strategy design and knowledge modelling. In particular, it relies on the use of Answer Set Programming (ASP) and HEX programs.

Logic programming is used for decision tasks such as which target to hit at each shot (tactic gameplay) or which level to play at each turn, and which way (strategic gameplay).


Running the agent (if you have not changed anything and you have installed everything)

  1. Open Chrome on the webpage http://chrome.angrybirds.com and make sure you are using the SD version of the game
  2. $ ./dev.angryhex.sh run server
  3. Open another instance of the terminal
  4. $ ./dev.angryhex.sh run client

Running the agent while you are developing

  1. $ ./dev.angryhex.sh set develop (you have to do this only once)
  2. $ ./dev.angryhex.sh install agent
    • you can also reinstall only the Java agent: $ ./dev.angryhex.sh install agent-java
    • you can also reinstall only the dlvhex plugin: $ ./dev.angryhex.sh install agent-plugin
  3. Follow the steps of the above section (Running the agent)

Create a file which contains all files necessary for playing

  1. $ ./dev.angryhex.sh set release
  2. $ ./dev.angryhex.sh archive

How to use the bash scripts

DEVELOPERS

SYNOPSIS

./dev.angryhex.sh command [argument]

COMMANDS

install  [all,dlv,dlvhex,box2d,agent,agent-java,agent-plugin]

run      [client,server]

set      [release,develop]

archive

ORGANIZERS

SYNOPSIS

./angryhex.sh command [argument]

COMMANDS

install  [all,dlv,dlvhex,box2d,agent]

run

update

Detailed description of files and folders

It contains the following folders:

It contains the following files: