The simulator receives actions from the client which describe what the client is doing. The possible actions for a client are turn, dash, kick and say. The say command cause the simulator to send an auditory message to the other players with the details of the message. The other three commands provides the client with the basic actions of playing soccer.
The turn command takes a parameter, which is the amount of the turn, in the range of -180 to 180. The result of the action is to cause the player to rotate approximately that amount. If the client is moving at the time the amount of rotation is reduced. The dash command takes a power parameter in the range of -30 to 100, and causes the player to accelerate by the specified amount in the direction the client is facing. Since a dash causes an increase in velocity, the effects of dash might continue a number of time steps after it was sent. The final command is kick, which takes a power parameter between 0 and 100, and an angle between -180 and 180. If the ball is close enough to the player it causes the player to kick the ball with the specified power in the specified angle relative to the current direction the client is facing.
The design of the simulator provides many difficulties that a client will need to deal with. The first of these is that commands sent to the client or from the client may be lost. There is no guarantee that any commands that were sent were ever executed. A client has to verify whether his commands were executed from the sensory information that it receives. Another difficulty is introduced with noise. Turn angles and kick angles aren't perfect, and moving objects don't always move in a straight line. Again, the client can't know this noise and would have to observe it through the sensory information it receives.