Ice Harley

I can't believe I won.

I can't believe I won decisively at all.

Who am I?
My name is Levin Alexander, 27 years old. I live in Sevastopol, Ukraine. Work as the lead programmer in Galion-IT. Married, have a son 2.5 years.

Links
This team is a public team, and therefore chared:
 * Detailed team description and history of creation
 * Sources
 * Final version dll

My team
My team is trying to show the combinational game that is similar to real football. Final rating is 67, wins 994, draws 140, losses 110.

The main feature - is an algorithm for determining pass security:
 * 1) Take speed of pass from the minimum (7) to the maximum (10).
 * 2) Each player (of both teams) is represented by a circle with some radius. The radius of player depends on the speed of pass, the distance to the ball and the initial speed of the player. The radii for different distances and velocities are generated beforehand and stored in arrays of constants.
 * 3) From the ball’s position the angle is built, the rays of which relate to the circle.
 * 4) Angle slightly rotated clockwise or counterclockwise, to account player lateral velocity.
 * 5) List of opponent players is determined, who can catch the ball before my player.
 * 6) "Cut" corners of the opponents from list from the corner of my player.
 * 7) If the size of the largest remaining angle is more than four sigma (sigma - standard deviation for a given speed), the pass is considered safe.
 * 8) Go back to #1 and proceed to the next pass speed.
 * 9) Choose a safe pass with the greatest speed.

By the same algorithm passes from the wall are calculated: my player and opponent players are transposed through the wall, but at the same time opponents remain in their places (that doubles opponents).

Players to pass are evaluated by four parameters: the position on the field, freedom from enemies, the possibility of shot on goal and distance to the ball. All passes are added to the list of possible moves. There also is added move - the movement to the opponent's goal with ball. If there is an available shot on goal, which opponent will not be able to intercept, then it is given the highest score.

Players without the ball move to the free zones, where the player with the ball can give a pass.

Goalkeeper tries to position so, that his reach was as much a part of the goal. To do this, he can go forward, reducing the angle of attack.

If the opponent owns the ball my players try to take interception lines - lines from the ball to other opponents, and then along these lines approach to the ball.

In all calculations, I try to take into account the values ​​of FallenTimer and TackleTimer. Also in the program there are a lot of tricks that are described in details in the history of creation.