HelliBASH Soccer 2D Simulation Team Description Paper

Maziar Amini Zanjani, Sina Saharkhiz, Mohsen Nosrati, Eugene Ghanizadeh, Arian Bakhtiarnia, Mohammad Reza Maleki, Mohammad Reza Montazeri, Mehrdad Bakhtiari, Pooria Kaviani

Department of Computer Science and Information Technology, Allame Helli High School (NODET), Iran


Abstract This paper aims to summarize some processes which are done in order to implement the HelliBASH soccer simulation 2D team, including some detailed specifications. This is the first year that HelliBASH 2D soccer simulation team is participating in SSIL. Our latest methodology which is action selection of an agent in soccer simulation 2D environment, and a new type of positioning system used for all agents named "Dynamic Positioning", is presented as follows. First, the skills of an agent are introduced, implemented and classified in different high-level skills. After that, some useful methods are implemented which check the agent's situation for performing required skills and then, the team strategy, team formation, agent's role and the agent's positioning system, are introduced and a new type of logic is employed in order to recognize the team strategy and furthermore to tell the player the best position to move.

1 Introduction

HelliBASH 2D soccer simulation reaserch was established in the year 2007 in Allameh Helli high school. ("Mersad" 2D soccer simulation team, which achieved the third place in Robocup 2004 competitions, was established in this high school). We have achieved the fifth place in ChinaOpen 2008 competitions. Our efforts are concentrated on using new ideas for the team in order to choose the best possible choice out of a series. At first, we used Mersad 2D Basecode, but now we take advantage of Agent2D's instead, in order to create a more advanced code with better performance; however, we have changed some basic and advanced sections, such as audiosensor and audiomemory sections, coach world model, build system, side dash, etc.

2 Decision Making

Decision making is the most important part of the team. Here, each agents decides what kind of action to do, based on different information that he has about the worldmodel objects, such as his teammates, the ball, the oponents, etc. Decision making is separated into two important phases:

    1. Actions with ball
    1. Actions without ball

3 Actions With Ball

To perform these actions, basically we need some information about the ball treats, and when a force with a particular angle is applied, considering the environment parameters (e.g. friction, collision, etc). A number of complicated mechanical and mathematical formulas could help to predict the ball movements. Some of the most applicable skills with ball are as follows:

1. Shooting

Shooting is one of the most important skills in soccer, which decides to kick the ball straight into the goal when the situation seems suitable and clear. We implement a suitable shooting function in separated modes, for expected and non expected conditions.

2. Passing

The agent kicks the ball so that the other teammate can receive it. This can be a simple definition for this skill. As this skill can be used in different situations, some types are defined for it. Passes will be selected from a config file which contains pass information as follows.

"( PassConf 1 ( Priority 9 ) ( TargetPolygon ( Vertex (X 0) (Y -34) ) ( Vertex
(X 0) (Y 34) ) ( Vertex (X 52.5) (Y 34) ) ( Vertex (X 52.5) (Y -34) ) ) (
Weights ( DistToGoal (Weight 1) (Max 64) ( CheckIt 1) ) ( ReceiverAbility
(Weight 1) (Max 11) (CheckIt 1) ) ) ( MinValue 0.1 ) ( Receivers 69AB ) )"

There are three kinds of passes:

(a) Secure Pass

This means that the player is completely sure that this pass will reach the player he wishes. The most popular usage of this type of pass is when the ball is in danger zone. As the opponent's players try to possess the ball, this type of pass is used rarely during the game.

i. Safety Factors

Safety factors are some factors that tell the agent how much the probability of success is. Max dash is for example one of these safety factors that has a value between 0 and 1.This value is determined by the type of the pass needed.

(b) Normal Pass

This type means that the probability of success in pass is more than its failure. This type is mostly used as the offensive attack, when we want to attack the opponent.

(c) Risky Pass

In this case, the probability of ball arrival exists, but the possibility of failure is also considered. This type is mostly used while executing the "Defense Breaker".

3. Dribbling

The agent usually uses this skill when he owns the ball in an almost free space and can't find the other agents with better positions or can't pass the ball to them. There are some priorities for the type of dribbling:

  • (a) When the agent is near the field corners, "Cross Dribbling" is used.
  • (b) When the agent is near the goal corners, "Vertical Dribbling" is used.
  • (c) When the agent is in front of the opponent's goal, "Horizontal Dribbling" is used.

4. Clearing The Ball

This is an action that agent chooses to do, when he owns the ball and can perform no other action or the player is in dangerous situation, mostly happens in defensive actions. Depending on the occurred circumstance, the agent may kick the ball out of the field, toward the opponent goal or other positions.

5. Defense Breaker

This is a kind of risky pass, which is used to send the ball behind the opponent's offside line, without getting trapped in opponent's offside trap, in order to help the offensive players advance. This kind of risky pass means that we have to underestimate opponents interception ability. Here, we can decrease opponent's "Max Dash" and increase the control buff instead. For achieving this goal, there has to be an interactive communication between the agent who owns the ball and the other agents.

4 Actions Without Ball

These skills make agents to be arranged in positions so that they would have the most chance to create opportunities for team or to get the opponents opportunities:

1. Mark

Our defensive system is based on marking system. Mark's goal is to prevent opponent's players from receiving his team mate's pass.

Marking has two important phases:

  • (a) Dangerous situation: When the ball is near our goal.
  • (b) Normal situation: When the ball is not behind the half line.

Marking process is consisted of two important phases:

  • (a) Which opponent is the best one to mark: Coach (who has a complete vision) sorts opponents by their danger factor. Then he relates each agent to each opponent based on their position, and finally he designes a "Mark Table". After that, he says the mark table to every agent each 400 cycles and when the opponent enters our half.
  • (b) how to mark the opponent:
Fig. 1.
Fig. 1.

ii. when the ball is in normal situation

Defensive player sticks to the half line and moves in the same width as the opponent's, and middle players stick to the opponent and stay in a secure distance from the half line in order to receive offensive players' back pass.

Fig. 2.
Fig. 2.

iii. Non-play on marking

When the situation is "Non-play on", which means the game is not being played and one team owns the ball, couch tells every agent which opponent to mark.

5 Future Plans

1. Dynamic Positioning

(a) Importance of Positioning

Positioning, is the part in which the agents are given the exact position to move to. In fact, this part can be the most important one, as it affects the performance of the agents, and is essential to make the best possible situation for both defensive and offensive players in order to defend the ball from getting into the goal position, and simultaniously, try to get the ball into opponents goal position.

(b) Dynamic positioning system development

This is a new method of positioning for the agents. It requires the interactive communication between the coach and the agents. In the first 1000 cycles, coach analyzes opponent's type of positioning. Then, he tries to find out the best suitable positioning type for the agents from a list. Then, he tells all the agents what to do and where to go. Finally, he tries to generate a position and add it to the list, based on the results of the match, in order to make the positioning system better; therefor, this is considered as a "Learning Method".

The position selection system is based on a new positioning format that we designed it and we're currently using it in positioning system.

"(PositioningConfig (MinX 0) (MaxX 20) (OffsideLineWeight 1) (BallXWeight 0) (MidLineDif 10) (QBLineDif 5) (Area (MinY -34) (MaxY -21) (MinPosY -28) (MaxPosY -21)) (Area (MinY -21) (MaxY -8) (Min-PosY -21) (MaxPosY -8)) (Area (MinY -8) (MaxY 8) (MinPosY -4) (MaxPosY 4)) (Area (MinY 8) (MaxY 21) (MinPosY 8) (MaxPosY 21)) (Area (MinY 21) (MaxY 34) (MinPosY 21) (MaxPosY 28)) )"

(c) Position Generation

There are some ways for the coach to generate a position:

  • i. After the game, if the result was against our team, coach tries to change our positioning system based on advantages of the opponent's one in the match.
  • ii. If our team wins the match, he tries to change our positioning system based on the merits and demerits of the latest one in the match.

6 Summary

In this team description paper, we have outlined the characteristics of the HelliBASH team participating in Robocup2D Soccer Simulation Competitions. We have stressed that our main focus lies on the development of learning system, decision making phase, positioning system and other techniques and their integration into our team.[2, 1]

References

  1. Trost F Gabel T., Riedmiller M. A case study on improving defense behavior in soccer simulation 2d: The neurohassle approach.
  2. Gabel T Riedmiller M. On experiences in a complex and competitive gaming.