ESKILAS Soccer 2D Simulation Team Description Paper 2010
Maziar Amini Zanjani, Sina Saharkhiz, Mehrdad Bakhtiari, Mohammadreza Montazeri, Meisam Vosoughpour, Pooria Kaviani
Department of Computer Science and Information Technology Allame Helli High School (NODET), Iran
http://eskilas.allamehelli.ir · http://mersad.allamehelli.ir
Abstract This paper describes some facts about ESKILAS 2D soccer simulation team, current status of team and future plans, also Mersad-Base, our new developed base code. We now explain our researchs in soccer simulation field in seperated sections.
1 Introduction
In September 2008, HelliBASH simulation team researchs began in the field of 2D simulation. The first success for our team was $5^{th}$ place of ChinaOpen 2008. Throughout SSIL, HelliBASH was qualified for RoboCup 2009 held in Graz. Other outstanding accomplishments of this team through 2009 include $2^{nd}$ place of IranOpen 2009 and $7^{th}$ place of RoboCup 2009. After Graz competitions the team name changed to "ESKILAS", which still stands today. Amongst different places ESKILAS earned in the second half of 2009 the most important ones are $1^{st}$ place of AUTCUP and $3^{rd}$ of China Open 2009.
Between SSIL and RoboCup 2009, our team developed some new plans and strategies which were not mentioned in last year's TDP. They include Look Ahead Pass (LAP), refreshing ball owner's vision, side-dash-enabled block and defensive marking. The last one consists of mark table generation and the execution part of mark, also known as physical marking.
After RoboCup 2009, our main concern was to revise Mersad 2005 source code and release a new version to be compatible with new versions of soccer server so we released a version of our HELIOS-Based Team with the name ESKILAS[1]. At the end of 2009 summer, revised Mersad was released. Now the team's efforts are devoted to two parallel threads. First, developing a complete team on Mersad and second, developing new ideas on HelliBASH 2009. We presumably participate in SSIL2010 with our HELIOS based team. There are some new ideas which are currently being developed on both sides, namely global status and possession freezing. Upon completing last year's half developed ideas mentioned above and taking advantage of new ideas, developed in different scientific, our team's main focus is bringing a new genre of team work into the games. Through the following paragraphs a summary of these ideas will be presented.
2 Mersad Base
Mersad Base is a new version of Mersad 2D team, but without any professional and complicated Actions. Therefore it is a proper base code for both experts and also beginners who want to start soccer simulation from scratch. Mersad Base has been released under GPL license. [2]
Mersad Base is written in g++ so it's portable and works fine on most of the Linux distributions. Mersad Base has also its own make system that does not need either configure or any other extra command for making the source. Mersad Base's make system supports adding files without any change on the Makefile and easy static compiling by changing some lines in Makefile. Mersad Base now supports all updates and new commands of rcssserver version 13 and 14.
3 Defense System
Our previous defense system was based on man marking. In that system all defenders except one (the back defender) were marking all the time. That was good idea for IranOpen. This competition was a good experience to select our defense strategy. The advantage of mark-based defense systems is cutting the opponent's pass route. But in RoboCup 2009 we discovered many problems in that system. For example, Look Ahead Passes (see part 4.1) can break the defense line of mark-based teams.
The first solution of this problem is Regional Marking System, in which each defender marks his target if he is within a certain area. So taking a good position has a higher priority than obsessively marking a specified opponent player. We tested this idea in some rounds of AUTCUP competition. The main problem of this system is that the players are not able to break opponents passes as efficient as the old system.
The solution that we thought about was the Guard System. So we decided to increase the number of defenders and divide them into two groups, Guardians and Markers.
First we have to determine their roles and it is done by a central player in the field (a player with a good vision on our defensive area, for example the central offender). This player performs this action according to the number and situation of opponent offenders and chooses a marker for each dangrous opponent. So these markers start to mark their targets with the physical marking algorithms (see part 3.2). And the guardians take their positions to break the passes and block the opponents.
3.1 Block
Block is a skill aimed for agents to cut the opponent's dribble path and finally getting the ball possession. The first matter is to decide which teammate player is the best blocker at the time. Sometimes, no blocker is needed and opponents are stopped by marking and guarding. The best blocker is determined in a purely distributed and multi-agent process. In this scenario, every player says two best candidates for being blocker and their scores (which are computed by a standard algorithm) in his own view. This is simply done using the "say" facility. A constant player hears all ideas and adds them up to make the final decision that may contain one or two blockers. This decision is constantly broadcasted through the "say" facility. In this way, all players certainly know if they should do blocking at any time and they can be sure that their defensive actions are well coordinated with other defenders as the final decision is centrally made by a single judge. Supposing that the best blocker(s) are correctly determined, the second matter is how to block, also known as physical blocking.
Physical blocking process is divided into two main parts: the first is finding the best way of approaching the opponent, and the second is obtaining the ball possession or kicking it away.
1. Approaching the opponent
when opponent is so far from the blocker, he should approach he opponent in as smooth and fast as possible. An important step is finding a route for opponent's dribble, better to say, guesstimating opponent's dribble target. We have specified the most important contributing factors: opponent's position, body direction, velocity, and recent moves and also the blocker's post in our current formation. After determining the most likely route for opponent's dribble, the next step is to find the best interception point on the opponent's dribble route through an algorithm similar to ball-intercept.
2. Getting the ball possession
we have two types of algorithms for obtaining the ball possession:
(a) Side-dash-enabled Close Block (safe block):
As you may know our team was the first team who used the side-dash in blocking skill. When the blocker uses this facility for obtaining the ball, he precisely moves in four directions to exactly stand on the opponent's dribble route. In this way, the opponent can no longer easily move over the blocker as this will cause strict collision between two bodies.
(b) Direct Close Block:
In low risk places, the blocker directly approaches the opponent; in this manner, in frequent cases the blocker practically pushes the opponent and finally the ball is kicked or tackled away.
Note: if we have two blockers, one of them uses the first method and the other uses the latter.
3.2 Marking
The process of marking in our team consists of two main phases. Generating the mark table, done by one player in the field, and executing the mark, which is done by any individual defender.[3]
Mark Table Generating
The mark table is generated by a player who has a complete vision to the field. In the old versions of the team, this player was the back defender (No.2). But in the new version, it is going to be the center forward player (No.11). In the beginning of the game, this player observes opponents' behaviors in order to determine opponents who are considered as main and most dangerous offenders. After a while these offenders are gradually determined using a statistical approach. A mark table is then generated in which each opponent offender is assigned to a teammate defensive player that is tried to be the best one. It is achieved by using a bipartite weighted graph matching algorithm. In this model, every player is a node of the graph, opponent players are in one part and teammate defenders are in the other part. Between any opponent node and any teammate node there is an edge with a weight that is proportional to their distance in the field. The center forward player periodically transport the last updated mark table to all defenders via say message. Since this mark table is centrally created, the most possible coordination between our different markers is established and the least conflict between different defenders' mark targets remains.
Physical Marking
Physical Marking consists of behaviors and actions that the agent must perform in order to take the best position proportional to the target opponent's position.
There are two kinds of physical marks:
- Physical Mark in Dangerous Situations: In dangerous situations like penalty area, defenders stick to the opponent and move in short distance between ball and the target opponent in order to cut opponents' passes.
- Physical Marking in Normal Situations: In this case, the defender stays behind the opponent in a not so close distance, this is done to observe the opponent to be able to immediately react to any moves of him; the purpose of this action is to avoid breaking our defense line.
4 Offense System
The main part of offense system is actions which are used to break the opponent defense line and also to make special kinds of coordination between players. Developed actions for these goals are explained hear:
4.1 Look Ahead Pass (LAP)
One of the main problems of the Pass skill is the communication between the passer and the receiver that can be resolved by transmitting pass information via the say message, but still one cycle is missed because of the time distance between saying something and hearing it in the receiver side. Better solution for this problem is to predict passes which are supposed to be released in next cycle(s); in our team this is called Look Ahead Pass. We have two types of LAP:
1. Normal LAP
This case happens when the agent possesses the ball in the current cycle. In this case, the agent normally calculates the best passes and say the pass information to the receiver. But, it is different with a normal pass in that he does not release the ball immediately at the same cycle. In fact, he waits and holds the ball and after some cycles (four cycles on average) he releases it. What happens here is that, in the meantime (from the first cycle until release) the receiver is running to receive the pass that is not released yet, therefore he is some cycles ahead of opponents who are unaware of teammates' internal coordination.
2. Without Ball LAP
This case happens when the agent is still intercepting the ball and has not got the ball yet. The agent easily knows that (the ball-intercept skill says it) in how many cycles latter he will get the ball; if it is few cycles latter, he calculates passes that he might release once getting the ball. But, all teammate players in this calculation are overestimated for the same number of cycles as is remaining to get the ball. Again like previous kind of LAP, the pass information is said in the first cycle and the teammate receiver starts to run, but the ball will be released latter once the passer teammate (the current ball-intercepter) gets the ball. Obviously, during the first cycle until the release cycle all opponents player are unaware of teammates' internal coordination. This coordination puts teammates ahead for some cycles. .
Look Ahead Pass can also be used in positioning calculation (see part 5.1).
4.2 Refreshing ball owner's vision
When a single player is dribbling and advancing alone for a long time without passing the ball, the main problem is his lack of rear and sides vision. In this case, two different methods are used to enable the ball owner to pass the ball into blind spots of the offense line.
In the first method, offense players are assigned to refresh ball owner's vision to his back and long distance sides. They are arranged to say their information on different cycles so as to prevent their say messages from interference and thus the ball owner can use the information heard from all of the viewers. In this way, by using our seminal coding algorithm, every player can say up to four players' Cartesian positions with high accuracy of 0.1 meters for each element. So after three cycles, the ball owner can update the position of about 12 players within his blind directions. The ball owner can decide better with extra information via say messages.
The other method is called virtual pass. When the ball owner is trapped between a number of defenders, team's quarter back can use his better vision to determine a good pass aimed for himself. He can then ask for a pass from the ball owner and move into the empty space to receive the pass. As a result, the team can possess the ball longer and initiate another attack.
5 Future Plans
5.1 Positioning and Possession Freezing
One of the main discussions about positioning and group work is how to keep the possession of the ball by your team for as many cycles as necessary. So far, no team has in particular paid attention to this problem as a separate system; that may be because of the natural coordination between positioning, pass, and dribble. But we developed some new ideas to create a separate system for freezing the ball possession within a specified rectangular area.
Facing with this new problem, two chief matters raise. The first matter is designing a special conservatively secure behavior for the ball owner; in fact the ball owner himself should take care of his surrounding opponents to avoid critical conditions in which he has to kick the ball into a risky pass route. Obviously, conservativeness of the ball owner alone cannot guarantee to keep the ball possession for a long time. Actually, a special highly coordinated positioning style should also be developed that is the second matter of our possession freezing system. In this positioning system, every player's home point is tried to be placed in empty spaces in a way that at least one teammate player is available to the ball owner to have a acceptably secure pass route at any cycle.
These places are founded by LAP. The ball owner searches for LAP's with a high ball delay (for example three) and sends best LAP's information in a say message to its receiver, but he does not release the ball. This causes the receiver to naturally go to a place that is suitable for passing, so this scenario can usually work well as a critical condition avoidance system .
6 Summary
In this paper, we expressed our work in the field soccer 2D simulation in ESKI-LAS team. Our focus was on our newly released base, our team strategies, and recently developed ideas specially LAP and defensive marking. [1]
References
- Eskilas soccer 2d simulation official site http://eskilas.allamehelli.ir.
- Mersad base home page http://mersad.allamehelli.ir.
- Amini Zanjani M. Saharkhiz S. Bakhtiari M. Montazeri M. Vosoughpour M. Kaviani P. Hellibash soccer 2d simulation team description paper. RoboCup 2009 Graz.