Future Goals

As mentioned in the previous section, my chess game is its the demo stage as of now. This means it is only a fraction of what it will be when it is completed. Lots have been done so far but much more needs to be done before this project becomes what I envisioned when I begun working on it. 

Below is a list of the features that need to be added to the program and goals that should be achieved:

1. More work and experiment on the AI: While I have done as much as the time constraint for MSP allowed to make my AI as efficient as possible , I know that it is nowhere near strong enough at the moment. Much more needs to be done. Algorithms such as the quiescence search should be added to make the AI 'smarter' , a hash table is certainly needed to store the moves and their relative scores more efficiently and make accessing them easier... and much much more.

2. Continuation  of improving the endgame performance: The program still doesn't always make the best decisions when it comes to the endgame and sometimes even in the opening and middle game too. More work needs to be done before a smooth endgame performance could be achieved.

3. Adding the advanced chess rules: Advanced rules like castling and en passant have not been implemented. They should be added to the game in due time if I am to produce a complete chess game.

4. Adding a GUI (Graphic User Interface): Currently the game is played in console mode with no graphics. In order to make the game more enjoyable, realistic and also easier to play for the beginners, a graphic interface is necessary and therefore one of my goals that I plan to achieve in the near future of the project.  

5. Allowing both the player and the program to play both sides: Currently the player is always white and the program black. For the game to be closer to the real game of chess, the option should be added for the user to choose which side he or she wishes to play at.