To go directly to the game, click here ---> fchess.uuuq.com/chess/chess.htm ( requires Sun Java ). If you wish to play white in a normal game, set the ply to the desired thinking depth, make a move as white, then click start. If you want to play as black, click start right away.
if you wish to follow the progress of the new and improved version of the program please visit my blog.
last update Sept/30/09
fchess is an idea conceived a few years ago by yours truly to make learning java programming fun. The program is much more than just an opponent. It has many features designed to facilitate the study of chess. To find out about these features, read on.
If you are interested in the technical aspects of fchess design, please visit the programmer's page.
fchess user's guide.
fchess has two 'modes' of operation; manual mode and autoplay mode.
In manual mode the program functions as an electronic chessboard. The user can move both white and black pieces by dragging and dropping according to the rules of chess. You can also have the computer make moves on an individual basis. There are left and right arrow buttons which are used to move backwards and forwards through the move sequence. The application supports infinite levels of variations, and all variations are displayed in the output area in pgn compliant form. The output area is a "hot area" for mouse clicks. If you click anywhere within the move notation, including at any level of variation, the board will be set accordingly.
In autoplay mode, the computer functions as an automatic opponent. Most of the buttons and hotclicking of the output area are disabled during autoplay mode, in order not to interfere with the play of the game.
The program features several buttons and checkboxes, as follows...
reset - resets the game to the normal starting position, as if it were just loaded in your browser.
Start/Stop - This button toggles you between autoplay mode and manual mode. Click start, and the program will make the next move in the current position, then play automatically thereafter. If you want to play white in a normal game against the computer, make the first move then click Start. If you want to play black against the computer, click Start right away. When in autoplay mode, you click stop to return to manual mode. If the engine is thinking at this time, it stops thinking and returns the best move evaluated so far. * see Known Bugs page. This Stop feature will stop the engine gracefully, but there is no guarantee that the move played will be best so far.
move - Use this button if you want the computer to make only one move in the current position. When you click move, the text on the button changes to 'force', then changes back to 'move' once the move is complete. If you wish, while the engine is thinking, click 'force' to have the engine stop thinking and return the best move so far. * see Known Bugs page. This Stop feature will stop the engine gracefully, but there is no guarantee that the move played will be best so far.
< - The left button causes the game to move backward through the move sequence, automatically adjusting the position accordingly. This feature is available only in manual mode.
> - The right button causes the game to move forward through the move sequence, automatically adjusting the position accordingly. This feature is available only in manual mode.
V - The down button is currently disabled. It is intended for a future release to aid in navigation between variations.
fen - this button brings up a dialog box into which you can paste (using ctrl-v) a standard FEN string. Only a complete fen string is guaranteed to work, and currently only minimal error checking is done to ensure the legality of the position.
pgn - causes the current game to be displayed in the output area in pgn compliant form. The button acts as a toggle which will allow you to switch back and forth between the "normal" display mode and the pgn display mode.
mode - A drop down list which provides the user with some configuration choices. normal provides the full capabilities of the engine. test0 is strictly alphabeta search with no qSearch or move ordering. test1 adds MVV/LVA mover ordering on captures. test2 adds qSearch( full capture search with MVV/LVA move ordering). mate provides the best settings for solving most checkmate problems.
Setup - When this checkbox is selected, it enables you to manually set the position by dragging, adding, and deleting pieces. When in setup mode, a right click on the board shows a popup menu which allows you to clear the board, and paste and delete individual pieces. Setup mode remembers the last piece pasted in this manner, subsequent left clicks on the board will paste additional instances of the same piece. This feature is useful when you want to add a large number of pawns to the board. When the Setup box is deselected, a dialog box is presented which alows you to set the fen parameters such as move number, side to move, castling priveleges, etc.
Invert Board - a check-box which flips the board so that black is at the bottom. de-selecting the board flips it back to the normal position.
diagnostics - when selected, detailed information about computer decision making is displayed on a move by move basis. When deselected, normal move notation is displayed.
ply - this is the depth in half moves that the computer will calculate. Note that one move by white followed by one move by black constitutes 2 ply. This number can be changed at any time if you want the computer to think longer or shorter. At present, the game can be slow in complex positions if the ply is set higher than 5.
save - currently disabled. Future versions will allow the saving of games to an online database.