
The task is now available -- see http://icfpcontest.cse.ogi.edu/task.html

It looks very interesting -- probably more fun that any of the
previous ICFP contents.  It's a classic AI-style problem:
very simple robots in a very simple virtual world compete
to deliver packages (and kill or disrupt other robots).

Its looks like it will be quite easy to produce a dumb player -- only
a few hours -- while producing a smart player is an open-ended task.

Here's some initial notes.

----------

Tasks already completed:
- game representation
- command representation
- command printer
- response representation
- response parser
- socket code

Remaining tasks:
- strategy (not yet assigned to anyone)
- navigation (dougl)
- test the robot with the server at http://icfpcontest.cse.ogi.edu/servers.html
  (done, but need to keep doing this as we go)

----------
Game representation:
	- 2-d array for board
	- enum for square kind (plain, lethal, impassable, home)
	- list of package infos
		- current location
		- if known: weight & destination coordinate
	- our robot info
		- id
		- current coordinate
		- list of package ids currently held
		- carrying capacity
		- money
		- (history of previous moves?  is it worth storing this?)
	- list of enemy robot infos
		- id
		- current coordinate
		- list of package ids currently held
		- (history of previous moves?  is it worth storing this?)
		- ("behaviour": some kind of summary of the history,
		  for use in predicting the robot's likely future moves)

----------
Strategy:
	Goals include:

	offensive
	- get package (only if sufficient carrying capacity remains)
	- deliver package (only if sufficient money remain)

	defensive
	- kill other robots
	- push other robots
	- get package

	Components that the strategy may use include:
	- a navigation module that finds a short path to the destination
	  (being worked on by dougl).
	- a function which evaluates a potential path by looking at the
	  contents of the path_info for that path.  The path_info
	  accumulates any information along the path that we may wish
	  to use to evaluate the path.

