Rules of Soccer Simulation League 2D
(LARC 2014 – São Carlos – SP - Brasil)
This document contains the rules for the Latin American Robotics Competition 2014 - Soccer Simulation League 2D – São Carlos, USP -SC.
Final Results - RoboCup Simulation 2D:
Ranking of Latin American RoboCup Open:
Champion: Nexus2D (Iran)
Runner-Up: ITAndroids (Brazil)
3rd Place: Expertinos (Brazil)
Ranking of LARC/CBR:
Champion: ITAndroids (ITA-SP)
Runner-Up: SirSoccer Simulation (FAETEC-IST-RJ)
3rd Place: Expertinos (UNIFEI-MG)
Rules, Binaries, LogFiles
1. Soccer Simulator
RCSSServer version 15.2.2 will be used. The default server configuration files (server.conf and player.conf) generated by RCSSServer 15.2.2.
Note that the number of halves
and the switch of penalty shootouts will be changed according to the
2. Machines Configurations
Every team will be allowed to use two machines for their game. Teams can only use Linux operating system. Teams cannot use the competition machines to hack their program, but two machines will be available for the test.
2.1 Operating System
Linux (Ubuntu 12.04 64bit) will be used.
1st Team leaders' meeting
Group round (A-B)
2nd Team leaders' meeting
Group round (C-D)
Group round (E=1 to 8, and Z=9 to 12),
Playoff matches for places 3~12
Playoff matches (third and fourth, runner-up and champion)
4. Tournament Formats
4.1 Automatic Matches
All matches will be started automatically by the league manager script (or by human referee). Please note these important points:
Teams are only allowed to update their binaries by 30 minutes before the first game starts in a day.
You need to provide proper start scripts. Sample scripts will be given in the top of your home directory (e.g. /home/helios/start). Please have a look at them and modify them so that your team starts using the scripts. It should be fairly easy to adapt them for your team.
Scripts will be executed by a different user in your user group. Your scripts and your team have to be at least group readable and be executable.
The scripts should use absolute paths or change to the respective directories.
Double check that your kill scripts kill all of your programs (goalie, players, and coach) even if your programs terminate automatically.
In the playoff matches, the penalty shootouts will be started automatically after two extra halves if the game ends with a draw. Please make sure your team can handle this.
If the scripts do not work properly, the organizers will not fix them.
Do NOT output many data to stdout, stderr and files in your home directory because it might cause a serious network delay.
Do not change the team name during the tournament. The team name that is used in the first match of each team must be kept unchanged. Violating this rule may cause disqualification in the following RoboCup competitions.
4.2 Binary Publication After Competition
Teams will be published automatically after the competition. To help us with publishing your team, please create a tar.gz file before the final round and rename it to /home/[teamdir]/[teamdir].tar.gz. In case a team fails to provide this file, we will publish the complete home directory of that team. Also, it may cause disqualification in the following the competitions.
Universidade Federal de Itajubá-MG, Brazil
Federal University of Technology, UTFPR, PR-Brazil
Technological Institute of Aeronautics,
Sao Jose dos Campos-SP, Brazil
Ferdowsi University of Mashhd , Iran
Universidade Federal de Goiás -GO, Brazil
Federal University of São Carlos -SP, Brazil
INATEL – National Institute of Telecommunications, Santa Rita do Sapucaí -MG, Brazil
FAETERJ, Petrópolis -RJ, Brazil
Instituto Federal de Educacao, Ciencia e Tecnologia da Paraiba, Campina Grande (IFPB-CG ),Brazil
Federal University of Sao Joao del-Rei, MG -Brazil
USP-University of Sao Paulo, Sao Carlos -SP, Brazil
USP-University of Sao Paulo, Sao Paulo-SP, Brazil
5. General Tournament Rules
The 2D competition will consist of 12 teams (as of October 19, 2014). The setup of the tournament is as follows:
The Simulation League Team Competition consists of six group rounds and six playoff matches.
In the group rounds, there will be 3 (three) points allocated for a win and 1 (one) point for a draw. A forfeit will record a score of either 3:0 or the score of the forfeiting team's other game in that round with the largest goal differential, if it is larger than 3.
Group rounds A-B consist of 4 to 7 teams. The 1st , 3rd , 5th , etc.. places of group A plus the 2nd, 4th, 6th of group B will form Group C. The 1st , 3rd , 5th , etc.. places of group B plus the 2nd, 4th, 6th of group A will form Group D. Any team that not participated in the first two groups, but can upload its code until 9:00 a.m. of the 20th, ,will be randomly distributed to different groups by drawing lots.
In Groups C-D, teams are distributed to four groups of 4 or 5 teams, where each team plays against all other teams of the same group. The assignment of a team to a group is based on the ranking of the first round (A-D) as follows:
The top four teams of Groups C and D (C1, C2, C3, C4, D1, D2, D3, and D4) will be assigned to Group F and the other ten teams will be assigned to Group Z.
After Group G matches, playoff matches are held based on the results of the round-robin matches as follows: D8 vs D7, D6 vs D5, D4 vs D3 (for the 3rd place), and D2 vs D1 (for the championship). The playoff matches for Group Z are Z4 vs Z3, Z2 vs Z1, and H5 vs Z6 to determine the final rankings.
The logfiles for ALL the matches of every group, and the final matches, can be obtained from the following links:
Play-Offs of the OPEN Competition- Including a team from Iran, Nexus2D (11th and 12th=match 1, 9th and 10th= match 2, 7th and 8th=match 3, 5th and 6th=match 4, 3rd and 4th=match 5, and 1st and 2nd =match 6)
Tiebreakers between more than one teams in the first two rounds will apply in the following priorities:
If a tie is only for two teams, the tie is broken if and only if the head to head match was not a draw. If there are more than two teams in the tie, the tie is broken if and only if one team won against all the other teams in the tie.
Overall goal difference for the round
If there are more than two teams in a tie, overall goal difference including only games with the tied teams
Overall number of goals scored
If there are more than two teams in a tie, overall number of goals scored including only games with the tied teams
Penalty shootouts between the tied teams. Details of the structure will be explained further below.
If more than two teams are tied, then the above list of tiebreakers is used until only one team is put first. That one team is ranked first and the remaining teams are grouped into another tiebreaker, and the criteria above are applied again from the beginning of the list.
7. Automatic Penalty Shootouts Procedure
To resolve tie-breaks in the
group rounds and the draw in the playoff matches, penalty shootouts
will be used. Note that the penalty shootout will be held
automatically in the case of the draw after two extended halves in
the playoff matches. In the round robin games, automatic penalty
shootouts is not used. For penalty shootouts, we are going to use
pen_dist_x: 42.5 (The ball will be placed 42.5m from the goal)
pen_allow_mult_kicks: true (allow multiple kicks so normal play)
pen_taken_wait: 200 (the number of cycles waited after start pen is 200)
(This means that the kicker starts 42.5 meters from the goal and can use dashes, turns and kicks. After at most 200 cycles, the shootout is stopped for the kicker).
And, only in tie-breaks, we are going to use these parameters:
nr_normal_halfs: 0 (no halves)
nr_extra_halfs: 0 (no extra halves)
(This means that teams cannot use heterogeneous players.)
PLEASE SEE THE SPECIFICATION IN THE NEWS FILE FOR MORE INFORMATION ABOUT PENALTY SHOOTOUTS.
8. Code of Honor
8.1 Coach Messages
The coach can issue arbitrary “freeform” messages during non-play-on mode. The coach can send one advice, one info, and one define, every 30 seconds – the rest will be ignored by the server. Therefore, the coach should not send more than three of those standard-language directives per 30 seconds, so as not to flood the network.
Free kicks and kick-ins are detected automatically by the soccer server in many relevant cases. Sometimes, however, fouls occur which can only be detected by the human referee who has to award a free kick to the disadvantaged team.
Possible reasons to call a foul are:
If one team surrounds the ball so that the other team cannot kick
If the goal is blocked by so many players so that the ball could not go in (rough guideline: a wall of players blocking the goal);
If a team intentionally blocks the movement of opponent players;
The number of goalie moves is limited to 2. It is possible to get around this by doing a small kick and catching again. This is allowed once then the referee is required to drop the ball on the closest corner of the penalty box (notice this practice is not encouraged we are just acknowledging the potential for miss-kicks – continual use may be considered violating the fair play commitment);
Anything else that appears to violate the fair play commitment may also be called as a foul after consultation with the committee.
9. Fair Play
The goal of the game is to play soccer according to fair and common sense understanding of soccer and to the restrictions imposed by the virtual simulated world of the soccer server. Circumvention of these restrictions is considered violating the fair play commitment and its use during the tournament games is strictly taboo.
Violation of the fair play commitment play includes for example:
Using another teams binaries in your team
If a team is jamming the simulator by sending more than 3 or 4 commands per client per cycle
If a team communicates by other means than via the server using the 'say' command, for example by using direct inter-process communication;
If a team attempts to disturb other teams communication by recording and sending strings of former communication or by attempting to fake communication of the opponent team.
Any of the above is strictly forbidden.
Other strategies might be found violating the fair play commitment, after consultation among the committee. However, we expect it to be pretty clear what a fair team should look like. In particular, the destructive disruption of opponent agent operation or the gain of advantage by other means than explicitly offered by the soccer server count as not fair play. If you are in doubt of using a certain method, please ask the committee before the tournament starts. If a team is found to use unfair programming methods during the tournament, it will be immediately disqualified.
If a team is under suspicion of violating the fair-play agreement, the committee has the right to ask for source code inspection.