Here again is collection of proposals:
HTTP-tunneling
clocks and time constraints
observe other games (+chat) feature and sound effects :-)
use java.nio.* or NBIO to avoid a large number of threads
for general networked multi-player board games a generic framework is needed (perhaps being some GTP superset in its Go instance, so already existing tools for regression testing and whatsoever could be used)
allowing the clients to address the mysql server directly is perhaps a little bit too sophisticated :-)
XML for games notation (investigate Chess PGN and EPD, Go SGF, GGF)
more sorts of pieces: imagine new symmetric nice intuitiv graphical display ways as well as good ways to define moving rules; break symmetry (looking from inside / outside); pieces occupying more than 1 face at a time
perhaps make pawn (piece D) capture to left and right from direction (not the same as normal walking anymore then). Actually not to left and right but a combination of side step without changing eyes direction, and then a step forward. then clicking on the end position won't suffice in the general case to tell what move is wanted (clock or counterclockwise). would provide a diagonal definition for yet another (bishop-like) piece type as well, and we have s.th. like closed positions in Chess, where knights become valuable; up to now the piece D only get's stuck when coming to boundary or friend forces, and not when arriving at enemy … this is loosing some spirit of the game at the moment
make it visible to other players what has been last move of opponent (highlighting or s.th. like that)
undo feature might be improved by having it incorporated in the history browsing thing (you go back, and then simply start playing from some old position again, and this could be interpreted as undo)
Go 3 parties territory scoring is probably broken
draw, stalemate, bestiaries
generalization from 2 to 3 dimensions (3D Chess)
implement the Rubicon game on icosahedron (Rubik game analog variant). Example standard 3*3, though not only the 90° turn, but 1/3 of it. prerender VRMLgraph such new graph, then Java3D alpha morphing (this will look nice animation of the move) (thereby this ugly intermediate state is avoided where one can see the inner things of the cube). It's actually a moving along closed edge lines, and thereby the faces colors contents are moved along then (quite plastique). One can put torsion stress energy into the connections (genus > 0), so has to do with this proposed editor for graph construction as well. looks great, am sure! See what vertices and edges should be displayed fixed, and what parts will have to change place due to a move
some puzzles like Sam Loyd's 15, Rubik's cube, Hi-Q (also called Solitaire) etc. on these discrete manifolds
one could display some lines (trails, orbits), and the game idea then is to do discrete Reidemeister moves to unknot them or (when this is impossible because there is some inherent knotting) at least reach a comfortable state where the remaining crossings are really unavoidable
real-time games (instead of turn-based) such as soccer, table tennis, etc. on those boards