Last weekend, the mock competition, a first trial for the real world cup, took place. Unlike the usual competitions, this year the games will be simulated. We all were very excited to finally try out our software stack against real opponents and get used to the unfamiliar processes that come with this new type of competition. We all met up on Friday afternoon to prepare for the first practice penalty shootouts. After uploading our software and starting the calculating process, we eagerly waited for the footage of the game to be streamed. The calculating process is necessary, because the simulation happens very slowly and would not be fun to watch. And so we waited…
Nothing happened for quite a while. The reason? A bug in the automated referee caused all robots to be incapable of moving. After watching two very boring games, all remaining were postponed indefinitely until the issue was resolved. We used the free time to fix some issues in our own code, and in the process discovered some additional problems in the automated referee.
On Saturday the intended schedule had to be changed entirely: Instead of the intended full games, a series of challenges were put in place to guide all teams to a point where they are able to compete. After getting the robot model inspected and successfully connecting to the game server, the first challenge was simply to walk. This should ensure that the robots were actually capable of moving and a problem like Friday evening would not occur again. After that, the next challenges were playing a penalty shootout, playing a short game and finally playing a full game. Our software stack worked very reliably and thus we quickly progressed through the challenges. On Saturday, we also managed to shoot the first goal of the mock competition. Admittedly, we did so by first falling onto the ball and thus moving it closer to the goal line. But after that a dynamic kick managed to dodge the goalkeeper and score the first point.
On Sunday we moved on to play the first short game versus the 01. RFC Berlin. The first half was looking very good for our team. We managed to score another goal and almost scored a second time, when the half time ran out and we couldn’t quite pass the goal line.
Then the second half started and hell broke loose. The game controller spawned the robots in the wrong configuration, which caused all eight robots to fall over and get penalized. Nonetheless we managed to recover and untangle from the ball of robots that was caused by spawning all penalized robots in the same position. After localizing themselves for a few seconds, our robots promptly ran off to defend the ball that was still lying in our goal area from our last attempt at scoring a goal, as it was not reset properly. We were able to defend our goal until the ball was reset. Shortly after, however, the automated referee got stuck in an impossible state, which caused the game to be aborted.
Despite all the chaos and issues that we found, we are confident, that most of the problems that could occur have been discovered by now and that the competition can run undisturbed thanks to this early test. We have seen that our software stack runs as expected and are excited to see interesting games at the real competition starting on June 24th.