All Projects → DeMaCS-UNICAL → Angry-HEX

DeMaCS-UNICAL / Angry-HEX

Licence: other
An artificial player for the popular video game Angry Birds

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects
C++
36643 projects - #6 most used programming language
M4
1887 projects
Makefile
30231 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Angry-HEX

Annotated-Angular-Roadmap
More details about each item in the Angular roadmap (https://angular.io/guide/roadmap)
Stars: ✭ 41 (+156.25%)
Mutual labels:  planning
PlanningSup
Planning universitaire réalisé en Nuxt.js
Stars: ✭ 16 (+0%)
Mutual labels:  planning
flyxc
GPS track visualization, flight planning, live tracking, and more ...
Stars: ✭ 47 (+193.75%)
Mutual labels:  planning
Timetable-App
This is a timetable App for android phones.
Stars: ✭ 19 (+18.75%)
Mutual labels:  planning
sr plan
Save and restore query plans in PostgreSQL
Stars: ✭ 57 (+256.25%)
Mutual labels:  planning
uk planning scraper
A Ruby gem to get planning applications data from UK council websites.
Stars: ✭ 19 (+18.75%)
Mutual labels:  planning
plasp
🗺️ ASP planning tools for PDDL
Stars: ✭ 24 (+50%)
Mutual labels:  planning
BotSmartScheduler
Enhance your planning capabilities with this smart bot!
Stars: ✭ 44 (+175%)
Mutual labels:  planning
quadruped control
Quadruped control architecture
Stars: ✭ 46 (+187.5%)
Mutual labels:  planning
PDDL.jl
Julia parser, interpreter and compiler interface for the Planning Domain Definition Language (PDDL). Planners not included.
Stars: ✭ 52 (+225%)
Mutual labels:  planning
pm-discussify
Discussify's project management repository
Stars: ✭ 17 (+6.25%)
Mutual labels:  planning
fun-with-dnc
Pytorch Implementation of Deepmind's 'Hybrid computing using a neural network with dynamic external memory' (Differentiable Neural Computer) + some applications
Stars: ✭ 18 (+12.5%)
Mutual labels:  planning
panther
Perception-Aware Trajectory Planner in Dynamic Environments
Stars: ✭ 115 (+618.75%)
Mutual labels:  planning
setting-up-an-open-source-project
🔁 Setting Up An Open Source Project
Stars: ✭ 14 (-12.5%)
Mutual labels:  planning
leap
Official codebase for LEAP: Planning with Goal Conditioned Policies
Stars: ✭ 38 (+137.5%)
Mutual labels:  planning
taxi
Hierarchical Online Planning and Reinforcement Learning on Taxi
Stars: ✭ 24 (+50%)
Mutual labels:  planning
ordered
Entropy-controlled contexts in Python
Stars: ✭ 36 (+125%)
Mutual labels:  planning
interval
This PHP library provides some tools to handle intervals. For instance, you can compute the union or intersection of two intervals.
Stars: ✭ 25 (+56.25%)
Mutual labels:  planning
scrumonline
Always up to date scrumonline docker build
Stars: ✭ 18 (+12.5%)
Mutual labels:  planning
awesome-probabilistic-planning
A curated list of online resources for probabilistic planning: papers, software and research groups around the world!
Stars: ✭ 45 (+181.25%)
Mutual labels:  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
  1. 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
  • 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 system
    • when using another argument (dlv, dlvhex, box2d, agent, agent-java, agent-plugin), a reinstallation of the component is forced
  • run

    • client is the default argument
  • set

    • release is set by default (because this script is implicitly used by the organisers)
    • IMPORTANT you have to set develop once if you want to develop ;)
  • archive

    • creates a file angryhex.zip which contains all files necessary for playing

ORGANIZERS

SYNOPSIS

./angryhex.sh command [argument]

COMMANDS

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

run

update
  • install

    • all is the default argument
    • if no agent is present, a ZIP file will be downloaded (the result of ./dev.angryhex.sh archive)
    • the invocation will be redirected to dev.angryhex.sh (the script is part of the ZIP file)
  • run

    • the invocation will be redirected to dev.angryhex.sh
  • update

    • the (possibly) new agent will be downloaded and ./dev.angryhex.sh install will be invoked

Detailed description of files and folders

It contains the following folders:

  • dlv
    • Contains the logic programs for the Tactic and the Strategy of the Angry-HEX agent
  • docs
    • Contains the website (GitHub Pages) of Angry-HEX
  • framework
    • Contains the framework provided by the organizers
  • src
    • Contains the main source code of the Angry-HEX agent

It contains the following files:

  • INSTALL.md
    • Main installation instructions
  • angryhex.sh, dev.angryhex.sh
    • Scripts to install, run, update and package the agent (the first is for users the second is for developers)
  • config.properties, config.properties.tournament
    • Properties files (the second one is specific for the Competition)
  • Makefile, build.xml
    • Files needed for build automation
  • .gitignore, LICENSE, README.md
    • Self-explanatory files
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].