We have developed a new chess server from scratch using all the latest technologies, ie C# multithreaded, SQL Server backend.
We now need a client that will allow players to connect to this server and play over the network. Connecting to a specific socket port.
The server is available over the internet so that the coder can use it an test the client while it is being developed.
This has to be a solid and easy to use client that offers all the necessary chess features and implements all chess rules (stalemate, draw by repetition, etc.)
The GUI will also be an important part of this project and we will give up to _$150 in bonus_ depending on the quality of the interface.
We will provide all necessary graphics (chess pieces, icons, etc.)
The client has to be programmed in Visual Basic 6.0 or above (as VB has obvious graphical limitations we might allow C++ or .Net languages if proper reasons are given)
The client will have to follow a specific protocol we have defined, in order to communicate with the server. This protocol will be delivered to the coder who wins the bid.
But basically what it is, is just a set of messages the client will send to the server signaling a certain action, a reply from the server will follow if necessary.
The client must enable users to:
-Play online chess
-The chess board will allow 3 fixed sizes. (the pieces will be provided by us in the correct sizes)
-The pieces must be seen while being dragged to play a move (with no screen flickering)
-When the opponent makes a move and that move arrives over the network, that move has to be played and the player will see the piece moving until it reaches the destination square.
-watches for both players must be seen counting
-Seek players or games
-accept chalenges and other seeks.
-Observe other players games and chat
-Chat with other players (like MSN)
-Show a ranking of players and teams
-Enable a person to censor another(no coomunication will ever be received from the censored person)
-Maintain a list of friends
-have a "shout console" where everyone can talk with everyone and the admins may write things.
-Leave messages for other players even if they are not connected
-a played moved list must be seen next to the board and a player can browse back and see the previous moves.
This move list has to be in algebraic notation
-change the piece set (we will provide all the .gifs)
-change the board size (to one of the 3 allowed)
-implement an easy way to add more piece sets in the future.
-Maintain personal info (like e-mail, address, etc.)
-view other players personal info
-view player rankings
IF you have any doubts, just go to [url removed, login to view] and try their BlitzIn interface.
We need a much more simple to use and elaborate GUI than that, but the funcionalities being implemented are similar.
The coder who wins this bid will have to provide status by e-mail every two days and that a trial version is given so that we can give feedback and see if something needs to be corrected or changed.
On a worst cenario we need to see (every two days) screenshots of all the screens/features implemented so far.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
The source code must include comments in English, and not just one for each function. It has to have a lot of comments.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. Placing shortcuts (if the end-user wishes so) on the desktop.
3) Complete ownership and distribution copyrights to all work purchased.
4) Delete all source-code from all medias owned.
5) NDA to never talk about the implementation made.
6) Support for the application during 3 months , during which all bugs will be corrected.
All windows platforms (Windows 98 and above)
Should be self contained and installed by an installation package.