Angry-HEX is a joint development of groups at Università della Calabria (UNICAL), Technische Universität Wien (TUWIEN), Marmara University (MARMARA), and Max Planck Institut für Informatik (MPI).

A distinctive characteristic of our agent is that it uses a declarative, logic programming based module for reasoning about the target to shoot at next. It is realized as a so-called HEX-program, i.e., by means of Answer Set Programming (ASP) with external sources and other extensions.

The Angry-HEX agent

Our agent, called Angry-HEX, builds on the Base Framework provided by the organizers and extends it with declarative means for decision making models by means of an Answer Set Programming (ASP). Declarative logic programming controls two different layers for Angry-HEX: the Tactics layer, which plans shots, and decides how to complete a level; and the Strategy layer, which decides the order of levels to play and repeated attempts to solve the same level.

Tactics is declaratively realized by HEX-programs, i.e., an extension of ASP to incorporate external sources of computation via so-called external atoms. It is implemented using the DLVHEX solver and computes optimal shots based on information about the current scene and on domain knowledge modeled within the HEX-program. Its input comprises scene information encoded as a set of logic program facts (position, size and orientation of pigs, ice, wood and stone blocks, slingshot, etc.); its output are answer sets that contain a dedicated atom describing the target to hit, and further information about the required shot. Physics simulation results and other information are accessed via external atoms.

The Strategy layer decides, at the end of each level, which level to play next. This layer is also realized declaratively as an (ordinary) ASP program encoding our strategy on three priority levels: (1) each available level is played once; (2) levels where the agent score differs most from the current best score are selected; (3) levels where Angry-HEX achieved a score higher than the current best scores and that have the minimum difference from the best score, are selected. For each level, the Strategy layer keeps tracks of previously achieved scores and previously selected initial target objects.

Core Team


angryhex “AT”

Team Descriptions


GNU Affero General Public License


Useful material