RULES for Tcl Soccer 1. The playing field is 79 squares east-to-west and 33 squares north-to-south 2. The north and south boundaries (and the corners) of the field are "sideline squares". 3. The east and west boundaries of the field are "goal squares". 4. One team attacks the east goal, one team attacks the west goal. 5. A team scores a point if the ball enters a goal square attacked by that team (e.g., the east team scores if the ball enters the west goal). 6. The first team to score seven points wins the game (by default). 7. There are four players per team. 8. A "turn" is one player's chance to move. 9. The turns cycle through the players, one per "simulation tick", alternating players from each team. 10. No player gets a new turn until all the other players have had a turn. 11. It is not certain which player will move first, but the ordering of players in the cycle remains fixed. 12. During its turn, a player may move one square in any of eight directions (N, NE, E, SE, S, SW, W, NW), providing the target square is empty and not off the playing field. If the player can't move in the desired direction, it will stay where it was. 13. If the player tries to move into a square containing the ball, the player will push the ball in the direction the player is moving (if the new ball square is empty and is not a sideline). If the ball can't move, then the player won't move. 14. If a player chooses not to move during its turn, it can instead just stay where it is, or kick the ball (if the ball is in a square adjacent to the player). 15. If the ball is kicked it will move one square per simulation tick, for ten squares, or until it runs into a non-empty square or a sideline, or until another player kicks or pushes the ball. 16. The ball cannot move through a sideline square, but players can move onto sideline squares. 17. Players can also move on to goal squares. 18. Every time any player tries to kick or push the ball, it increments an "attempted kick count". If the ball can't move, it will become increasingly likely that the ball will "jump" to a new open square. The new square will be either directly north or south of the ball's old position, and will more likely be closer to the ball's old position than farther. If the ball ever moves, the attempted kick count is reset to zero. 19. If a point runs for 3000 simulation ticks with nobody scoring, the ball will "teleport" to some point on the center column of the field. 20. Players have access to the following information: 20.1 The size of the field. 20.2 The content of every square adjacent to the player (empty, a teammate, an opponent, or the ball). 20.3 An indicator of whether any adjacent square is a goal square or a sideline square. 20.4 The direction of the ball from the player (N, NE, E, SE, S, SW, W, or NW). 20.5 The distance of the ball from the player, specified as the minimum number of steps the player would have to take to occupy the ball's square. 20.6 The direction and distance from each opposing player 20.7 The player's X and Y coordinates on the field. ----------------------------------------------------------------------------- 98. Any agent code that causes the program to crash, lock up, or take an unusually long time for a single player's turn loses the current game (Judge's discretion). 99. Any agent code that violates the spirit of the competition (for example, tries to make the computer, game, or other team agents malfunction; or tries to exploit weaknesses in the game implementation) forfeits all games and is eliminated from the competition (Judge's discretion).