Want to play Chess?

I’ve known the basic moves of chess for years, but recently I’ve decided to try to learn some real strategy and actually study chess in my spare time.

So, I’m looking for an opponent - I willingly play against all levels, beginner to grand master - I just want the exposure to different play styles.

I can meet anywhere online - the popular places of course are The Zone.com and Yahoo! games. Actually, some day I’d like to make an AI-less, 2-human-player only version of chess (in Java) that has nothing to do with matchmaking services - so any two people with an IP address can play together.

Mac, Win, and Linux support, of course.

Matter of fact - why not have a monthly JavaGaming.org chess tournament, and use the tournament as an excuse to write the program in the first place? Any takers?

I’ll even lay out the goal requirements for the chess program (non-JGO members of course would be welcome to play in tournaments, as far as I’m concerned):

  1. Completely server-verfied movement to prevent cheating
  2. In-client tournament registration, as well as server-monitored non-tournament play
  3. Integrated clock with choice of timings (e.g. minutes per game, moves per minute, minutes per move, Fischer Time), which also plays an “It’s your turn” sound.
  4. “Skinnable” 2D chess set interface
  5. “Last move” indicators - some kind of marking showing the last move played
  6. Display list of moves, with choice of chess notation on client side
  7. Avatar support - including the ability to link directly to your JGO avatar, or at least to a URL image (automatically scaled to a certain size)
  8. Chat support
    8 ) Save/replay game option.
  9. FIDE/USCF/CXR optional rating tracking (stored on server)
  10. Easy resizing/rotation of board
  11. Display of captured pieces by showing icons of captured pieces, or material lost/remaining material
  12. Storage of replays of final and semi-final tournament games with date/time and player notes
  13. Allow spectators to watch games, and chat in their own channel - always giving priority to game-related messages
  14. Automatically kill/ban any connection from an IP address trying to flood the server for the duration of the game - if it’s coming from a player’s IP address, they automatically forfeit the game, for example (probably overkill)
  15. Customizable tournament play options
  16. Anything else people want to add. Support for 3D is kinda cool, but it’s anti-productive as 2D would be extremely easy to code, and much easier for people to develop skins for.

You might ask, “How can #14 be implemented? Can’t a person just keep attempting to connect to the server to flood it’s connection?” Well, first of all, this is a very low bandwidth project in the first place, and I don’t really think anyone will be attempting a DOS attack on a chess game server. But, for example, the actual game could be run on a player-to-player peer network, each client validating each other’s moves, with the game results uploaded to the statistics server. Meanwhile the spectators see the game from a “display” server - which collects movement messages from the game, and spits them out to the spectators, so the spectators are actually watching the game “second hand”, and are not direct members of the peer network.

I’ve thought of one more:

  1. Servers could have username/password registration just like anywhere else, except I could reserve JGO usernames for those who use them here. For example, no one could register as blah^3 except for blah^3 himself - or until blah^3 released his username for others to use.

This little project is starting to sound like “JGO Chess”. Man, that request for chess opponents really took on a life of it’s own.