Tao of soccer Education Edition ver 1.5.1c released on SourceForge.net

Submitted by yuz on Sun, 2006-02-19 13:20.

This release has a lot of great improvements done by SFU prof. Vadim Kyrylov. It is specially made for education in his computer simulation and AI courses. It also has the auto-dribbling disabled, so human play is impossible. I will soon make a seperate release that should include all the new features and still be human playable.

Here's the release notes.

=============================================

TOS Education Edition ver 1.5.1c

=============================================

1. New features.

1.0. Ball dribbling.
Field players must dribble ball while keeping it under close control by using slow kicks. In the previous versions, close dribbling occured automatically, as part of player movement.

1.1. Goalie behavior.
The goalie can grab the ball and move with it around. However, once he crosses the penalty area while holding the ball, a corner kick is assigned by the referee. If the goalie is holding the ball longer than the limit specified in the configuration file, the server forces the goalie to make a slow kick in the randomly chosed direction to the opponent side. Both features are a sort of penalty; this is a slight deviation from the rules of the real soccer for the sake of simplicity and user convenience.

1.2. Starting the game.
The game can be started by clicking on the Run button on the Soccer Master without opening the View Game dialogue. If the Soccer Master is not running, the server will start the game rightaway after a delay (default 120 s; this
property can be set in the configuration file).

1.3. Changing situation by hand.
Once the game is paused (by clicking on the Pause/Step button), user can move objects around with the mouse. Then the game can be resumed.

1.4. Saving situation to a text file.
In the paused game mode, current situation can be saved to file by clicking on Save button. In the Save As dialogue, user can set the name and location of the data file. After saving this file, user can edit it manually. Comments contained in the file provide guidance on data encoding
conventions.

1.5. Restoring situation from a saved file.
In the puaes game mode, user can restore previously saved situation by clicking on the Open button and loading the situation data file.

1.6. Repeatedly playing the saved situation.
While loading the situation file, in the opened dialog box user can set the duration and number of repetitions of the previously saved situation.

1.7. Playing multiple games continuosly.
By default, 50 games are played continuosly, with the score being accumuated over the games. The number of games can be set in the configuration file. Also there is a parameter in this file that controls resetting the score after each game (false by default).

2. The SFU basic team

This program has been almost completely re-written with the purpose of making it easier to understand and maintain. The team is playing really poorly; suggestions on improvements are placed in the comments and placeholder methods in the source code. Player behavior is encoded from the standpoint of the agent playing for the left-hand team. Transformation of coordiantes for the right-hand teams is encapsulated in the standalone WorldData class. Using global variables has been avoied wherever possible and replaced by global get/set methods.

3. Technical changes

3.1. Thread priorities and real-time statistics.
To ensure robustness of TOS when real-time constraints are getting critical (which may happen on a slow computer), the two Server now are running with higher priorities than player threads. The server collect its idling time staistics and prints it out with regular intervals. It also prints out the time deficit per cent, i.e. the fraction of simulation cycles which have been completed late.

3.2. Symmetry.
The symmetry issue is getting critical when TOS is running on a slow computer. In order to ensure the symmetry of the teams, team data were reorganized so that players from both sides are being treated in the same way. When it is impossible, left and right teams are swaped after each
simulation cycle.

3.3. Packet structure.
Data structure of many packet types have been changed. So the compatibiltity with previous versions is not guaranteed. However, old soccer player programs could be recomplied and imcompatibilities, if any, could be fixed
easily.

3.4. Source code style.
In most classes, methods have been reorganized so that their source code should be no longer than 50 lines. Many variables have been renamed to ensure clarity.

Tao of soccer Education Edition ver 1.5.1d released

This is a bug fix release.