2015 Competition Rules
In 2015 we will for the first time have two competition tracks, the standard track as before and a new track which we call the competitive track. In the competitive track two agents compete against each other by playing the same level with alternating shots. The agent who scores the winning shot gets all the points of the level. Agents make concealed bids for the right to have the first or the second shot. Each agent will play the same levels against every other agent of its group.
We first list the competition rules for the standard track and further down the additional rules for the competitive track.
Summary of Important Rules (Standard Track)
- Attending the IJCAI 2015 conference is not required for participating in the competition. Remote participation is possible, provided that participants have tested in advance that their game playing agents run on our competition environment. However, all participants who attend the competition will need to register for IJCAI 2015.
- Participating agents can be developed in Java, C/C++ or python and we strongly recommend to use Java. Additional requirements need to be agreed upon with the organisers and need to be tested well in advance.
- Qualification versions of the game playing agents need to be submitted to the organisers by July 27, 10am Buenos Aires time. For those teams who qualify for the finals, the final version needs to be submitted by July 30, 8am Buenos Aires time. These deadlines are final. If no new version has been submitted, we will use the last version we have received.
- We will be using the Chrome version of Angry Birds for our competition in SD mode. If you have trouble running this version of Angry Birds, please check here for a possible solution (requires login).
- Agents will not have access to the internet and will not be able to communicate other than with the server via the specified communication protocol.
- Each person can only be affiliated with at most two participating agents per track unless permission has been obtained from the organisers. This restriction does not apply to supervisors of student teams.
Eligibility
The competition is open to all registered participants. Participants need to ensure that their agent is compatible with the competition framework. This will be made available for testing. The competition agent for the standard track must be submitted by July 27, 2014, 10am (Buenos Aires time) and must be accompanied by a team description of the methods and strategies used by the agent.
Each person can be a member of at most two teams per track, unless permission has been obtained from the organisers. This restriction does not apply to academic supervisors of student teams.
Remote participation is possible, but attendance is encouraged.
Game play environment:
We will be using the Chrome version of Angry Birds in SD mode for our competition. For each agent, the corresponding Angry Birds game instance will be run on a game server, while the agent will be executed on a client computer. We will support java, C/C++ and python agents and can run the agents under either Windows or Linux. Participants should contact the organisers if they would like to use other programming languages or non-standard software libraries.
Each agent will receive a total of 100MB of local disk space on the client computer to store information. This includes the space required for the agent code. Client computers have no access to the internet and can only communicate with the game server as specified in the communication protocol (see ServerClientProtocols.pdf that is part of the game playing software package). No communication with other agents is possible and each agent will only be able to access files in its own directory.
Each agent will be able to obtain screen shots of the current Angry Birds game state from the server and will be able to submit actions and other commands. The game will be played in SD mode and all screen shots will have a resolution of 840*480 pixels.
Agents who are trying to tamper with the competition setting or who try to gain an unfair advantage will be disqualified.
Game objects:
The following objects will be used for the competition levels:
- All objects, background, terrain, etc that occur in the first 21 Poached Eggs levels on chrome.angrybirds.com.
- In addition, the competition levels may include the white bird, the black bird, TNT boxes, triangular blocks and hollow blocks (triangle and squares).
No other objects will be used. The vision module of the provided game playing software recognises all relevant game objects and all birds and pigs, including the terrain, but not the background. All competition levels will use the same background that occurs in the first 21 Poached Eggs levels.
Qualification (July 29, 2015):
Qualification versions of the game playing agents need to be submitted to the organisers by July 27, 10am, Buenos Aires time via email. The email address will be announced to all participants. The number of levels we use in the qualification round depends on the number of participants. The levels used in the competition will not be known in advance to any participant. Throughout the competition, each game level can be accessed and played and replayed in arbitrary order. Participants will have a total time to solve the competition levels that corresponds to a minimum of three minutes per game level on average. For example for 10 levels, there will be a minimum time of 30 minutes to solve the 10 levels. After the overall time limit is reached, the connection of agents with the game server will be terminated. Agents then have up to two minutes to store information and to stop running. After two minutes the organisers will terminate the agents if they are still running.
The qualification will be played in two rounds, both rounds use the same game levels. Before the start of the competition, we will run the Sample Agent on all qualification game levels for the total time and record its high scores. The Sample Agent will not participate in the competition, its scores are only intended to give participants a baseline and will be available at the start of qualification round 1.
Note: Please make sure that your agent can distinguish between qualification round 1, qualification round 2, and the Finals. Further details are specified in the document ServerClientProtocols.pdf that is part of the game playing software package.
Qualification Round 1:
During the first qualification round, all participants will have half the total time to solve the qualification game levels, i.e., a minimum of 1.5 minutes per level on average. The order in which the agents will run will be determined in advance and a schedule will be made available. Agents may be run in parallel. As a comparison, all agents can obtain the high score per level obtained by the Sample Agent.
We will have a dynamically updated leader board where all agents are ranked according to their total score.
Qualification Round 2:
In the second qualification round, all agents will have the second half of their total time to solve the same qualification game levels as in round one, i.e., a minimum of 1.5 minutes per level on average. As a comparison, all agents can obtain the overall high score per level obtained in qualification round 1, that is the highest score per level obtained by any agent in qualification round 1. This information can be used by agents, for example, to determine the game levels where they can obtain the highest improvements over their round 1 performance. Agents cannot be modified between round 1 and round 2.
The order in which we run the agents will depend on the outcome of qualification round 1, starting with the worst performing agent first and the best performing agent last. Agents may be run in parallel.
We will have a dynamically updated leader board where all agents are ranked according to their total score. The overall score per agent is the sum of the maximum scores they achieved per level over qualification rounds 1 and 2 (that is the maximum they achieved in level 1, plus the maximum of level 2, plus the maximum of level 3, etc.). Therefore, the overall score of agents can only improve in qualification round 2, never get worse.
The best 8 agents after qualification round 2 will qualify for the finals. The agents can be modified and resubmitted to the Finals by 8am on July 30, 2015 (Buenos Aires time). The email address where to send the executable files to will be made available to the finalists only. If no new version has been submitted, we will use the last version we received.
Finals (July 30, 2015):
Participants will have a minimum of 3 minutes per game level on average. Agents cannot be modified during the finals. The finals consists of three group stages to determine the two best agents.
Group Stage 1, Round of 8 (Quarter Final):
The first stage of the finals is a group stage where the 8 qualifying agents will be assigned to two groups of four according to the ranking during qualification. Agents ranked 1, 4, 5, 8 will play in group 1, agents ranked 2, 3, 6, 7 will play in group 2.
The four teams of each group will play in parallel for thirty minutes on the same round of 8 game levels. Any team can query the current group high score for each level (but not the high scores of other groups). The two best teams of each group will qualify for the semi final.
Group Stage 2, Round of 4 (Semi Final):
The four qualifying teams will play in parallel for thirty minutes on the same round of 4 game levels. Any team can query the current high score for each level. The two best teams will qualify for the Grand Final, the third and fourth placed agents will be third and fourth prize winners of the competition.
Grand Final match:
The Grand Final match will be over thirty minutes. Both teams can query the current high score per level of their match. The winner of this match will be the 2015 AIBIRDS Champion and winner of the first prize, the loser will win the second prize of the competition.
The four semi-finalists qualify for the Man vs Machine Challenge.
Man vs Machine Challenge (July 31, 2015):
During the Man vs Machine Challenge we will test if the best AI agents can already beat humans at playing Angry Birds. We will have a selection of game levels with three minutes per game level on average. Each game level can be accessed and played and replayed in arbitrary order. Participating human players will play the game levels first. Each player can participate only once. We will keep a leader board where we rank the human players according to their overall score (sum of individual high scores per level).
After the human players are finished, we will run the four best AI agents in parallel on the same game levels with the same time limit.
The player with the highest overall score, man or machine, will win this challenge.
Additional Rules for the Competitive Track:
- Agents for the competitive track need to be submitted to the organisers by July 28, 10am Buenos Aires time. This deadline is final.
- The Competitive Track will be held on July 30, 2015, the same day as the Finals of the Standard Track.
- All other rules regarding eligibility, game play environment and game objects are the same as for the Standard Track.
- The competitive track is substantially different to the standard track. In the competitive track two agents compete against each other by playing the same level with alternating shots. The agent who scores the winning shot gets all the points of the level. Because of this, it is important who makes the first shot.
- Agents make concealed bids for the right to make the first shot. Agents have 30 seconds each to analyse a level and to make a bid. Bids can be positive or negative integers, or 0. Negative integer represents a bid to make the second shot. If an agent does not make a bid within the time limit, the bid is considered to be 0.
- The agent with the higher bid makes the first shot. In case both agents make the same bid, the agent who submitted its bid first is considered to have the higher bid.
- An agent wins the bidding if it made a positive bid and has the higher bid, or if it made a negative bid and has the lower bid. Note that both agents can win the bidding.
- If an agent who won the bidding also scores the winning shot, that agent will pay the positive amount of points of its bid to the other agent. If the agent who scores the winning shot did not win the bidding, no payment is made. For example, agent A won the bid by bidding 15,000 points. If agent A scores the winning shot and the score is 33,000 points, then agent A receives 33,000 points but has to pay 15,000 points to agent B. In a different match, agent C has the lower bid by bidding -10,000 points and makes the second shot. If agent C scores the winning shot and the score is 25,000 points, then agent C receives 25,000 points but has to pay 10,000 points to agent D who made the first shot.
- When it is the agents turn, the agent has 30 seconds to take screenshots at any time, zoom in and out at any time, and submit one shot. If no shot is submitted during this time, the game server will automatically make a useless shot (for example shoot backwards). After a shot has been made (or after the 30 seconds are over), the server will wait for 15 seconds for the game to become static. If the game is not yet over, it will then be the other agents turn.
- During an agents turn, the competing agent cannot interact with the game. In particular it cannot take screenshots or make a shot.
- In each competition round, agents are assigned to a group of up to 8 agents and have to compete against each agent of the same group. The order in which agents are paired up is selected randomly.
- Each competition round consists of a fixed set of levels and each agent plays the same levels against all other agents of the same group.
- All agents of the same group are playing simultaneously. Agents will be started only once per competition round and then play against all other agents of their group. Two minutes after all games of a group are played, agents will be stopped.
- The number of levels we use in each competition round depends on the number of participants. The levels used in the competition will not be known in advance to any participant.
- During each pairing of two agents, the fixed set of levels is played in the same order and each level is played only once.
- The overall score of an agent in a competition round is the sum of all points the agent received during that competition round, that is the sum of points of all pairings with all other agents of the same group.
- We will have a dynamically updated leader board for each group where all agents are ranked according to their current overall score. Agents can query the current leaderboard of their group at any time.
- Depending on the number of participants, there may be only one competition round. If there are multiple rounds, the top ranked agents of each group move to the next competition round.
- The winner of the final competition round will be the AIBIRDS 2015 Champion of the Competitive Track.
Note: In case we have an unexpectedly large or small number of participants in any of the two tracks, the way we run the competition may be modified. For example, we may divide the participating agents into two qualification groups and then only the best four agents per group qualify for the finals.
In case of conflicting opinions on how to interpret the competition rules, the organisers decisions are final.