Project: Phase 3

The repository (with code from group 4) can be retrieved from

ssh://hg@cshg/tvandrun/335/g6/phase3

Phase 3 will have four goals: Network play, polishing off the user interface, finishing variants, and the AI interface.

Network play

This is the core part to this phase. Two users will use the program on separate computers, one acting as the server and the other as client. Apart from one initiating the game, the two users should see the same interface.

The user interface

The user interface from phase 2 is in decent shape (the two submissions seemed pretty similar to me), but needs to be polished up some. The help menus are a good idea, and should be improved. Making variants is particularly difficult, and there should be simplified; for example, making new kinds of pieces and making new games should be separated, and there should be a way to clone pieces to make inserting them in spaces more convenient. Similarly, it should be easiesr to fix mistakes in designing variants.

One specific thing: When a game ends, the user should be presented with an explanation of why the game ends: who wins, how it is that the king is check mated...

Variants

A lot of progress was made on variants in phase 2. To be added are

The screen from group 4 about game options is good but needs to be clarified.

In the end, your system should support such variants as Shatranj and Capablanca Chess---those are pretty reasonable goals. If a couple of teammates really get into doing variants, a more ambitious goal would be Tamerlane Chess.

AI interface

An interface should be provided for someone to write a class that acts as a chess-playing agent. This part gets the least priority. If you think this part needs to be dropped, negotiate that with me early.

Usability

As in previous phases, there will need to be testing on the usability of the system. It should be noted that the tests reported on during phase 2 were more like beta tests than usability tests. This might be more from happenstance than design (ie, that the testers happened to find bugs and didn't comment much on usability). In this phase, there will be new things to test for usability. How easy is it to set up and play over the network? One task you could ask users to accomplish is to make Cpablanca Chess as a variant.

DUE: Friday, April 29, at 5:00.