MarliK 2011 Soccer 2D Simulation Team Description Paper
Amir Tavafi, Nima Nozari, Reza Vatani, Mani Rad Yousefi, Sepideh Rahmatinia, Pooyan Pirdeyr
University Of Guilan – UGM-LaB, Rasht
Abstract In MarliK, we continue to research based on the previous versions of our simulation 2D team. This year, we have changed our name from LEAKIN'DROPS to MarliK. Our main goal is to develop a more realistic simulated soccer team. In this paper, we present the innovations and extensions of MarliK since the last simulation league competitions and a brief description of the implementation principles of our new team. This year we have focused on improving our existing skills and also adding some new skills that is discussed in this paper.
Keywords: 2D Soccer Simulation, Block, Prediction, Mark, Through Pass
Introduction
Marlik project, our first 2D soccer simulation project, was started in 2006 and was based on UvA Trilearn 2002 released source code, After two years of improving this base and participating in many competitions we have started our new project, LEAKIN'DROPS, based on Mersad 2005 released source code, participated in the RoboCup 2008 SUZHOU China and RoboCup 2009 Graz. Marlik (based on UvA Trilearn source code), was placed 3rd in the first Khwarizmi robotic competitions and the 2nd in the first national high school robotics competitions in 2008 and 2007.
According to all incomplete modules implemented in last stages of Mersad project, we have completed some remaining parts during the two years of working on Mersad 2005 source code in that project, and also added some new ideas in defense system. After RoboCup 2009 we have changed our base code from Mersad2005 to Agent2D code. In 2010 after being qualified for RoboCup 2010, we have faced some problems so we unfortunately couldn't participate in RoboCup 2010. This year we have decided to change our team's name to MarliK again.
Our works in the recent year was mostly focused on our agent's skills and improving them, we almost have changed and improved all of our existing skills and also added some new skills that were needed for our team to develop more realistic soccer players. Now we think that we have a stable team that is good enough that we can move our researches into the next level which is adding some learning abilities for our agents to become more powerful than they are now.
In this paper we have explained some of our works and algorithms that helped us improve our team.
Ball Prediction System
The prediction is done by taking kick speed and direction and decay into consideration and calculating the ball's predicted location in each cycle after kicking it while also enlarging the radius of all players' reach area considering their first location, speed, kickable area, and the number of cycles passed since the pass was made. In this method, whenever the ball's position gets placed inside a player's reach area for the first time, it means that player will be the first player able to receive the ball. Using this system we can calculate how many cycles it will take for them to reach the ball and where will they be when they do.
This system is used to check different possible passes and shoots. A similar algorithm is also used to find the best block point for defenders.
Pass
In our team Agent2D's pass is not used at all and we have executed our own method for passing. Our team's passing skill mainly consists of 2 kinds of pass.
Direct Pass
Direct pass is a normal pass made by directly kicking the ball towards another teammate. The purpose of this pass can be either creating an opening, moving the ball forward, or to just keep the ball in our possession.
In our team, each possible direct pass is checked and rated by different factors such as the ball-prediction system, length of the pass, distance of receiving player from opponent's end. Finally the pass with highest rating is selected and if the rating is better than a certain number, the pass will be executed.
Through Pass
This skill is usually used to break opponent's defense line and create good offensive opportunities. Our old through pass skill used to check some points around each teammate and rate them in a way similar to the direct pass and if the best pass was good enough, it would execute that.
Recently we improved this skill by adding another mechanism for through pass; sometimes, although the ball-prediction system indicates that opponents will catch the certain pass before our teammate can reach the ball, in reality that doesn't happen because the pass speed is too fast for the opponent players to notice and respond to it in time. So we added another through pass skill which uses a slightly different ball-prediction system to predict pass outcomes. In that new ball-prediction system the opponent players are assumed to start moving for the ball a few cycles late, sometimes giving the ball enough time to get past the defense line without being intercepted. So in such situations, such a through pass will be executed and most of the times will manage to break through the opponent's off-side line and create excellent offensive situations. This kind of pass is more likely to be intercepted but taking that risk worth it as its outcome will be excellent if it manage to break the defense line.
An example situation is shown in the below picture in which our old through pass skill wouldn't manage to identify the through passing possibility but the new through pass skill managed to do the pass and it resulted in a goal.
Mark
Before 2011 our defensive system was based on strategic position and we had only a simple zonal marking system when opponent team was in cross situation near our goal. This year we have improved the existing mark system for dangerous cross situations and then we added marking system for defenders while play on.
Cross Mark
This type of marking is planned for the time when an opponent player reaches near one of the corner flags in our field and a cross can be dangerous for our team. So with a zonal marking system we try to mark all the attackers with our defenders in order not to give any chance of passing to the ball owner so the blocking defender has more time to block him and stop the attack. In this type of marking, markers will stick to the target attacker and stand between the ball and the opponent to reach the ball faster than him when it is crossed. After executing this mark we have tested it against the world's most powerful teams such as HELIOS and after debugging and optimizing this skill, different situations were tested. If the number of attackers is less than our defenders, man-to-man marking will be executed and the other defenders will guard against our goal to block probable shots and if attackers are more than our defenders, our offensive midfielders will join defense and mark opponents if they have enough stamina. A result of this marking system against team HELIOS2010 can be seen in this picture.
Play_on Mark
This type of marking is only for our defenders and will be used in the game while the opponent team owns the ball and is trying to break our defense line. In this situation our defenders depending on the formation and positioning of opponent team's attackers, they may choose one of the attackers and stand behind them to avoid opponents through pass and not to give him the space to dribble with ball and pass our defense line. When one of our defenders starts to mark, he marks the specific attacker until the ball possession is changed or the attack comes to the dangerous situations near our goal. When the ball is in cross situation for opponent, the marking system will be changed from this play_on mark to the cross mark.
After adding this skill to our team, the power of our defense increased a lot and now most of the teams can hardly score a goal against us. This type of defending works on almost all teams' offense systems and it's more stable than our previous defense system.
Cross
In offense situations in front of the opponent's goal, players are often marked or surrounded by opponents and passing the ball to the attackers who have a scoring chance is not that easy against teams with powerful defense systems, so we should have a plan to score a goal. After analyzing other teams' offense systems in these situations, we have taken an idea from the team BrainStormers (both in positioning and crossing the ball). When the ball owner is in a cross situation, he looks for other teammates who are near the opponents goal and passes the ball to the first available player with a fast and powerful kick and the receiver also does the same. This type of passing - called cross - is less safe than our other types of pass and no rating system is used to choose the best available player and checking available attackers will be started from the nearest player to the opponent's goal. Players will pass the ball to the other attackers whenever it's possible in order to make a shooting chance to score a goal. When cross is being executed, other attacker players will try to avoid markers and look for best places near the opponent's goal to receive the pass and score a goal.
Block
This skill is one of the most important parts of each team's defense. Blocking skill in our team is divided into two important parts. The first part is about predicting the opponent's dribble target and calculating the best block point to move to. This point is the best point between the opponent's current position and our goal. In predicting this block point our team's circular prediction system is used.
After moving to the calculated block point and facing the opponent player in possession of the ball, the defender should decide how to act against him to stop the attack. According to the opponent and our defender's current body direction and velocity and the ball's position in the field, he decides what to do. He may stay at his block point and just stop the opponent from dribbling or approach the opponent and push him back to kick or tackle the ball away. Our blocking system's decision is different in each part of the field. For example in the middle of the field when the opponent team owns the ball, only one of our agents will block the ball owner but near our goal according to the danger of situation two or more agents may block that opponent.
Conclusions and Future Work
In this paper, we have simply described the main features of MarliK team – results of the project that started 5 years ago. Although this team has a stable status, there are several problems that must be corrected and some bugs that need to be fixed. For future we are researching about different learning systems for our agents and how to use them in our soccer team in order to improve it.
References
- Boorghany, A., Rokooey, M., Salehe, M., Vosoughpour, M.: Mersad 2004 Team Description. In: RoboCup 2004 Symposium and Competitions
- Boorghany, A., Rokooey, M., Salehe, M., Vosoughpour, M., Jalali Nasab, D., Haradj, S.: Mersad 2005 Team Description. In: RoboCup2005 Symposium and competitions
- R. de Boer and J. Kok. The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team. Master's thesis, University of Amsterdam, The Netherlands, Feb. 2002.
- M. Riedmiller, T. Gabel: Brainstormers 2D Team Description 2008: RoboCup 2008 Simulation 2D League Champion.
- A. K. Agogino, K. Turner.Team formation in partially observable multi-agent systems.
- T. Gabel, M. Riedmiller: Brainstormers 2D Team Description 2009
- A. Tavafi, N. Nozari, S. Rahmatinia, R. Vatani: LEAKIND'DROPS 2010 Soccer 2D Simulation Team Description Paper