Hades2D soccer2D simulation Team Description paper
Fatemeh Akhondi, Sama Esmaelifar, Sana Esmaelifar, Seyedeh Raha Rokni, Adrina Rajabi, Ghazal Hasanpour
Farzanegan 5 Middle School, Aghaghia St., West Eyvanak Blvd., Tehran, Iran; University of Tehran, Tehran Province, Tehran, Enqelab Square
Abstract This article contains descriptions of the activities of the Hades2D soccer 2D simulation team. This year, our team tried to increase the accuracy of both defense and offense strategies. So we developed our ideas by designing and developing algorithms. Here are some of these algorithms and solutions.
Keywords: Robocup · Soccer 2D simulation · Conditional decision · Machine learning .
1 Introduction
Hades2D soccer simulation team was founded 2 years ago. Our group operated under the name ANDROMEDA, but the name of the group was changed due to some issues. We started coding on staterAgent [1] and developed the base code. Hades2D team participated in the IranOpen2020 and JapanOpen2020. Recently, Hades2D team participated in the JuniorCup2021and took second place.
2 Related work
Now we are going to check articles published by other 2D teams. HELIOS employed an action sequence planning framework as well as a knowledge-sharing system to further optimize its use [2]. Cyrus2D used Deep Reinforcement Learning for defense Decision Making [3]. FRA-UNIted has integrated TensorFlow into their agent [4]. Razi formed a rating system in chain action [5]. Namira team worked on Tournament Planning and Analyzing Software and CDDMS Method [6]. Nexus has implemented Reinforcement Learning for decision making in the penalty area [7]. The ideas mentioned in this papers helped us improving our implementations and strategies.
3 Defense
3.1 Mark
First approach To implement this defense strategy, we divided it into two parts: decision and act.
In the decision part, we assign the players to different roles. In dangerous situations on our goal, we cover the defenseless areas of the goal by two extra players. After making the goal safe, the players analyze the distance of opponents from our goal and congestion of teammates around them to rate how dangerous they can be. Then, by recognizing opponents who can be risky for us, the nearest teammates mark them one by one.
In the acting part, any of the players chosen to block the goal stand near the opponent towards the goal. You can see how the players take place in Fig.1.
3.2 Block
Hades2D team has methods for both the ball holder and the other opponents. The defense strategy for the opponent's ball holder is called a block. The act of block involves legal movements in which one player obstructs another player's path with their body. We try to bring the closest player to the kickable opponent to implement this.
So each player considers the position of the players and finds our closest player to the ball holder opponent. Then it measures the position of the two players relative to each other and specifies the best possible place to block.
4 offense
4.1 Shoot
To catch more scores in matches, we decided to improve the shoot action. To do this, we implemented a method that generates points at the opponent's goal from top to bottom. You can see the different paths the player considers in Fig.3.
The player rates the points by assigning a value to each of them. The value is calculated by predicting the chance of the nearest opponent catching the ball on the way to the goal.
Finally, if any of the points had an adequate score, the player shoots towards it with adjusted energy.
4.2 Decision change
To sync offense strategy action and decision, we changed the priority of action selection. Before this, the players passed the ball many times around the penalty area due to not finding a point safe enough, leading to losing the ball possession. You can see the results and improvements analyzed by Autotest [8]in the table below.
Table 1. The AutoTest result in 100 games.
| Name | Hades2D base code | |
|---|---|---|
| Goals | 867 | 15 |
| Points | 300 | 0 |
| Avg Goals 8.67 | 0.15 | |
| Avg Points 3.00 | 0.00 |
4.3 Pass
As the pass is one of the main actions in offense strategy, we decided to improve the act by solving the existing algorithm's challenges. In the next sections, we are going to discuss the challenges.
Challenges for the pass receiver As the team formation is strictly based on the ball position during the game, in some situations there is more than one close player to the ball. As all the near players go for the ball simultaneously, there will be a collision instead of getting ball possession. To fix this we implemented a method that makes a list of players sorted based on proximity and the type of pass they can receive. Ultimately the best player will be selected from the list to move forward and receive the ball. In Fig.4, predict the following few cycles, and in Fig 5, player number 9 is in the correct position.
4.4 Dribble
In this task, we aimed to improve the dribble act by predicting the next actions. The main target in the game is to create a situation in which the player will be able to shoot the ball inside the opponent's goal. So, as the player approaches the opponent's penalty area, it generates 4 points to its right and left as dribble states. After that, the player would generate possible shoots from those states. You can see how the player considers points and rates them in Fig.7. In the end, all the shoots will be evaluated, and the state with the most valuable shoot will be picked as the best action.
5 Future ideas
- Sequential behavior prediction in offense decision making: if the players predict the status of the game in the following cycles, they will be able to make better decisions and increase their teamwork.
- Adding a new dribble action by considering different angles and some new factors such as safety, pass, etc.
References
- N. Zare, "StarterAgent2D," [Online]. Available:https://github.com/naderzare/StarterAgent2D.
- N. Tomoharu, H. Akiyama, Y. Suzuki, A. Ohori and T. Fukushima, "HELIOS2018: Team Description Paper," in RoboCup 2018, Nagoya, Japan, 2018.
- N. Zare, M. Sadeghipour, A. Keshavarzi, M. Sarvmaili, A. Nikanjam, R. Aghayari, A. Firouzkoohi, M. Abolnejad, S. Elahimanesh and A. Akhgari, "Cyrus 2D Simulation Team Description Paper 2018," in RoboCup 2018, Montreal, Canada, 2018. 7.
- T. Gabel, P. Kloppner and E. Godehardt, "FRA-UNIted Team Description 2018," in RoboCup 2018, Montreal, Canada, 2018.
- M. Noohpisheh, M. Shekarriz, S. Barzegar, D. Borzoo and A. kariminia, "Razi Soccer 2D Simulation Team Description Paper 2018," in RobCup 2018, Montreal, Canada, 2018.
- E. Asali, F. Negahbani, S. Tafazzol, M. S. Maghareh, S. Bahmeie, S. Barazandeh, S. Mirian and M. Moshkelgosha, "Namira Soccer 2D Simulation Team Description Paper 2018," in RoboCup 2018, Monreal, Canada, 2018.
- M. Abolfazli Esfahani, M. Ghafouri, M. Jamili, S. Askari, R. Etemadi, H. Mohebbi, M. Dara, M. Erafani and M. Malekabadi, "Nexus2D Team Description Paper," in RoboCup 2017, Nagoya, Japan, 2017.
- wrighteagle2d, "autotest2d," [Online]. Available:https://github.com/wrighteagle2d/autotest2d.