Fabulous Simulation 2D Team
Aida Younesi , Marziye Hashemian ,
Yasaman Khafaf Zade , Sadaf Saeedi
Abstract. In this paper we discribe a summary of FaBuLoUs Team’s history.and
would describe about our activities , researches , ideas and our designing algori-
thms. We try to proceeding to positioning and high level skills to touch our goals.
And also try to add new objects and skills to AGENT - 2D base code and use of
them to improve the FaBuLoUs Soccer Simulation Team.
RoboCup is a standard problem so that various theories, algorithms and architectures can be
evaluated. Behavior learning for complex tasks is also an important research area in RoboCup. we
argue that in the simulation league on RoboCup, to be successful and win,a team must be able to
play like a real soccer team.
The FaBuLoUs – team was founded in 2009 and participates in the 2D RoboCupSimulation
League(RSL). And achieve to 4th grade in AUTcup2009 matches in Amirkabir University Of
Technology in Iran (Tehran PoliTechinc) .
2 Team Structure
Structure of FaBuLoUs Team made by 2 Part:
The hierarchy of Team structure showed in Fig.1 .
shoot Trough Pass
Offense Pass Triangle Pass
Offense Positioning Deep Pass
Strucure Defense Mark
Fig.1. FaBuLoUs Structure
The strategy we play , is basically depending on ball’s area. We have partitioned the field into sev-
eral ball areas , and we have a different strategy in each one of them . Our offensive strategy de-
termines which kind of pass is our priority and what kind of dribble we should use.
As main strategy in offending is to score a goal ,our agents make every decision and action in
order to achieve the main goal. We believe that to have a better performance and take the best out
of our agents , they should make every move with a single purpose : “ Helping the teammate ball
owner to keep ball and make an action with goaling purpose , not avoiding opponents ”
For this our agents don’t have a static decision making and routine actions.
When the ball owner wants to get near the opponent goal , the other teammates try to move to a
position that helps the team keep the ball and get it nearer to the goal.
3.1 Positioning in Offense
In above example when opponents are blocking and marking us , when agent 1 can’t pass through
the opponents , he must turn to his teammate : agent 2 to avoid the blockers and keep the ball in
our possession. Besides agent 2 should find a position to avoid his marker and receive the possible
pass from agent 1. We use several ways and algorithms to find the positions for agents
(see“Unmark”part). Agent 3 and agent 4 also try to move to a position which if 1 gets the ball they
can have a situation to receive the possible pass from him. As in all pass algorithms the best pass
is chosen from the current positions of teammates , and that pass will place the ball in a new area ,
which our goaling chance depends on it. So our agents try to make their positions the way that the
pass which we are forced to do ( or a dribble ) , is to a position that gives us a goal chance.
Fig.2. Offense Positi
Positioning – Red Players are teammate and Blue players are opponents
4 Shooting toward Goal
In the shoot skill , when agent player feel the good conditions to score more goals against
opponent team and kicking ball toward the opponent’s goal , agent player will be success in his
In FaBuLoUs shoot tried to design a simple and stable algorithm for this skill.
This algorithm at first takes into 28 position in opponent’s goal , the best positio to shooting is a
position that be not at catchable area of opponent goalie. Ball must cross all position , earlier than
all opponent players and then arrive into the goal. Calculating velocity of ball and players is
possible calculating times and taking into analogies.
5 Pass Decision in Offense and Defense
Our pass algorithm is also about passing to a teammate which has the best situation for receiving
goal by pass or
the pass and in addition he will have the best situation for getting the ball near the g
dribble actions. Depending on what strategy is used for playing, our pass takes another elements
into account , like long distance passes, triangular passes , breakthrough passes and … . This
element is chosen in our basic offensive class. These elements ( safety , future situation and pass
strategy ) have weights which helps us find the best pass. These weights also depend on our
In order to calculate the future situation of teammates that we want to choose the best receiver
from, we predict the dribble and pass percent by simulating them and calculating the success
percent of each one
Dribble is useful for Kicking or passing. Agent will be choose best angle for dribbling like Fig3.
Fig. Dribble model – choose best angle
Our agent acquit modelism and goalism. They imagine gridiron look like a collection of their ends
and choose an angle that approximates their ends.
In cooperation strategy designing, researchers often employ the method of Distributed
Reinforcement Learning algorithms to optimize the simulation system. In this method, our
algorithm is resemble to Reinforcement algorithm. Each agent searches about an opponent player
that have been highest wight ( each player has a wight in Reinforcement algorithm) in circular area
round himself. These analogies indefeasible:
creation harmony between team Players is very important in this algorithm. It’s possible by below
2- say and hear
3 – logical methods
Coach and say and hear will b overlook because of limitation in their using in game. FaBuLoUs
tries to creat consonance between wights by calculative and logical methods.
Pass is one of the best method to win the game. It’s better that all players will be qualify for pass
because of don’t slow game process by mark , block or etc factors.
So, for do this, each agent choose the safeness and suitable place to receiving pass. We did it
easily and describe our solution in following:
For unmark area of choosen positions is a bow that it’s radius and ideal perimeter assign by atten-
tion to role and Ball area. After amounting to this positions,a position will be choose that have the
highest wight by attention to Distance to homePos , nearest opponent and this choosen position
must be the safeness place for receiving pass.
In the future we want to use AI algorithms more than we use now. One of AI algorithms that we
want to use is describing in below: This algorithm inscribes Ball’s positions in distinct cycle after
kick off. It’s because of change team formation to otherwise and own players can seis ball easily.
This algorithm inscribes Opponent team’s players position and their actions too to get Opponent
team strategy. After end of distincting cycles, FaBuLoUs team can play much better and win the
1. Hannes Schulz. ROBOCUP A testing environment for multi agent systems
2. Jinyi Yao Jiang Chen Zengqi Sun. An application in RoboCup combining Q-learning with
3. Mostafa Rafaie, Amir Tavafi, Mehran Ranjbar, Fatemeh Tavafi, Hamidreza Afzali, Hamed
Rahmati. UnKnown2009 2D Simulation Team Description Paper
4. Russel, Stuart Jonathan. Artifical Intelligence: A modern approach
5. Luiz Antonio Celiberto, Reinaldo A. C. Bianchi. FEI Reinforcement Learning Robocup 2D
Soccer Simulation Team
6. Xiong Li, Wei Chen, Zhenkun Zhai, Jie Wang. The Application of Hybrid Distributed
Reinforcement Learning Algorithm in RoboCup 2D Soccer Simulation System
7. Thomas H.Cormen, Charlse E.Leiserson, Ronald L.Rivest,Clifford Stein. Introduction to