Mazewar is a distributed, multiplayer game that allows each player to control a client in a maze.
A player receives points for vaporizing other clients with a
projectile and loses points for being vaporized. The game is based on the X Window System version of Mazewar,
which is in turn based on the classic game of Mazewar that ran on the Xerox Alto in the 1970s. It is also based on
Amaze, a multi-player game with a distributed implementation on top of the V kernel.
When user first starts Mazewar, he or she will be presented with a dialog asking his or her name. After that, a game
window will be displayed.
Mazewar Screenshot
Player Actions
Design:
The project contains two main parts, the Mazewar server and the client side Mazewar game. Each player sends a packet that contains the information for his or her move
to the Mazewar server through a TCP conenction. The server then attaches an unique sequence number to it and multicasts the packet to all
the clients. When a client receives the packet, an action will be performed and displayed accordingly on the client side. This will
guarantee the total ordering of the distributed system. The walkthrough is described in the following diagram.
A Walkthrough
A detailed structure of the distributed system is shown below.
Detailed Stucture
Evaluation:
- Consistency: The design has an asynchronous consistency that periodically updates. Minor location, orientation and score inconsistency can occur locally but it will be synchronized within a small period of time. There should be no global inconsistency.
- Scalability: By having the server do all the sequencing and multicasting, a greater scalability can be achieved. As the number of clients increases, the number of messages being passed only increases linearly. This is a big advantage compared to some other approaches where the number of messages increases exponentially as the number of clients increases.
- Additional Feature: The game allows clients to join either at the beginning or in the middle. If a client joined in the middle, it will be synchronized with the other clients so they all agree on the location, orientation and score of each client.
Classes:
All rights reserved
The University of Southern California does not screen or control the content on this website and thus does not guarantee the accuracy, integrity, or quality of such content. All content on this website is provided by and is the sole responsibility of the person from which such content originated, and such content does not necessarily reflect the opinions of the University administration or the Board of Trustees