/mazewar

A distributed game of mazewar.

Primary LanguageJava

Distributed implementation of mazewar with Ricart-Agrawala.

[Running the Name Service]
./nameservice.sh <port> (ex. ./nameservice.sh 8888)

[Running a client] (-r is optional flag for robot client)
./client.sh [-r] <username> <port> <nameservice hostname> <nameservice port>
(ex HUMAN CLIENT: ./client.sh Joe 2222 localhost 8888)
(ex ROBOT CLIENT: ./client.sh -r Jim 3333 localhost 8888)

[Notes]
- A name service must be setup before clients/robots can join the game.
  It is a lightweight connection module to maintain the # of clients ingame.
- Usernames must be unique, or else name service rejects the registration
  request (this avoids multiple "Joe"'s in the game to decrease confusion).
- Name service has a soft limit for 4 concurrent human and 4 concurrent robot
  connections. This limit can be raised in the source code to any reasonable
  number beyond (NameService.java).
- Server supports dynamic quitting and joining (user can join mid game and
  leave at any point), however scores for that individual client will be reset
  each time.