Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
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.