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).
$ ./dev.angryhex.sh run server
$ ./dev.angryhex.sh run client
$ ./dev.angryhex.sh set develop
(you have to do this only once)$ ./dev.angryhex.sh install agent
$ ./dev.angryhex.sh install agent-java
$ ./dev.angryhex.sh install agent-plugin
$ ./dev.angryhex.sh set release
$ ./dev.angryhex.sh archive
./dev.angryhex.sh command [argument]
install [all,dlv,dlvhex,box2d,agent,agent-java,agent-plugin]
run [client,server]
set [release,develop]
archive
install
all
is the default argument; the parts of the installation (dlv, dlvhex, etc.) will only be installed if they are not present on the systemdlv
, dlvhex
, box2d
, agent
, agent-java
, agent-plugin
), a reinstallation of the component is forcedrun
client
is the default argumentset
release
is set by default (because this script is implicitly used by the organisers)develop
once if you want to develop ;)archive
angryhex.zip
which contains all files necessary for playing./angryhex.sh command [argument]
install [all,dlv,dlvhex,box2d,agent]
run
update
install
all
is the default argument./dev.angryhex.sh archive
)dev.angryhex.sh
(the script is part of the ZIP file)run
dev.angryhex.sh
update
./dev.angryhex.sh install
will be invokedIt contains the following folders:
It contains the following files: