Members Only
About Us

Home > Documentation > Simulator

Simulator Description

The Soccer Server simulates a soccer field by modeling the physics and rules of soccer. The server sends relative information to clients at a variable frequency (about once every 100-200ms).  This information informs the client about it's visual and audible world and physical condition.  Each type of information is sent with a certain amount of noise generated by the soccer server.  The noise is greater on objects further from the client.  When a client first connects, the server provides identity information.  Afterwards, a client acts in the simulator by issuing dash, turn, turn neck, kick, and catch commands. These commands and information are sent as strings of text via UDP/IP communication usually on port 6000.  For example, a quick session on the soccer server could look like this:

client:(init MyTeam)
server:(init l 1 before_kick_off)
server:(see 0 ((goal r) 66.7 33) ((flag r t) 55.7 3) ((flag p r t) 42.5 23) ((flag p r c) 53.5 43))
client:(move 0 0)
server:(see 0 ((goal r) 80.6 9) ((flag c t) 34.1 -37 0 0) ((flag r t) 82.3 -14) ((flag r b) 91.8 30) ((flag p r t) 63.4 -6) ((flag p r c) 64.1 11) ((flag p r b) 70.8 27) ((ball) 30 26) ((line r) 79 -89))
client:(turn 45)
server:(see 0 ((goal r) 80.6 -33) ((flag c b) 54.1 17) ((flag r b) 91.8 -12) ((flag p r c) 64.1 -30) ((flag p r b) 70.8 -14) ((ball) 30 -16) ((line b) 69.4 -42))
server:(sense_body 0 (view_mode high normal) (stamina 4000 1) (speed 0) (kick 0) (dash 0) (turn 0) (say 0))

A client is responsible for triangulating its position on the field by looking at the flags and goal posts. All information sent to the client and all information that the client sends to the soccer server is relative to the client.  Also, a client's movement is based on impulse, and the soccer server computes position and velocity using discrete equations of motion.

One can watch the field simulated by the Soccer Server through a Soccer Monitor.  A simple monitor is released with the Soccer Server, however, there are other monitors that have been produced as part of the visualization competition.  

The Soccer Server can also log or record a game for study and playback.

If you want to know more about the Soccer Server and Soccer Monitor, read the user manual through the link provided below.


Email with planned server changes
Soccer Server Website
Soccer Server
Soccer Server Manual 7.08
This rpm built by us on RedHat 7.2

©2002 University of Virginia Deparment of Computer Science
Have questions? Email David Evans