Five tasks: 1. Decide on rules of the game Features Board shape (wrap-around or borders) Player controls one robot (or a group) What constitutes a move Delayed action or not Who goes first (controlled by a limited resource) Task: deliver packages, each of certain weight, to designated destinations Scoring 2. Build a simulator 3. Build game playing solutions 4. Develop web site Tim starts on this 5. Get solutions from Galois --- Simple game to start with: Square board, one kind of squares, fixed walls N destinations, Base M packages with different weights load capacity (number, weight) Identical set for each player Fixed set of moves (one step N W E S, or drop package, or reload) No delay Scoring: Game proceeds until someone delivers all packages or a preset known number of steps have been taken score: the prices for delivered packages are summed Collision rules: if two players end up on same square the *first* player is pushed one square, transitively (but not through walls) Ordering rules: bid for last move, ties are randomized Protocol: Initialization: Send (board dimensions (coordinate), home base location (list of coords) Players' unique ID wight capacity Each round: Send positions of the players' [(ID,coordinate)] For players at base, also send their remaining package set [(ID,weight,destination coordinate,price)] Receive (move dir|pick [ID]|drop [ID], bid) Illegal moves are ignored.