I am currently doing my master's in information technology. We were exposed to Ai , this year , & i find it very facinating.Other field which interests me is the feild of graphics.
Well as a part of my course work , we are supposed to do a project , spanning around 5 months.Initially i was planning to go with the graphics project but soon i realized it was not feasible as i was lacking meat on the subject at hand. Right now i am planning to implement the game of chess as my project.
I have read quite a few articles on develelopment of the game.Theoretically i find quite a few of the sections to be a challenge to implement.Which brings me to the part that i am not the "greatest programmer ever".
Thus my million dollar question is , is it feasible to chuck out a game of chess in the stipulated period ?? (considering i am not great at programming , i know C++ / Win32 Api). A number of people have warned me about the repercussions of this choice.
If you guys feel , its not feasible , could you suggest me something that is. I am not interested in language processing projects , something like ELIZA
Advice of any form is welcome.
Chess is a very large computational task, and to do it well would take a lot of effort. A game with simpler rules may very well be a better project, because you'd have time to polish it and make it really shine.
Exactly. I'd go for Othello/Reversi. It has really simple rules, and is possible to implement without too many bugs.
Hehe, I have a similar course and I have a similar requirement for a semester long project. I am going to see if I cant pull together several AI techniques and build a program that can play one side of a simple RTS effectively.
Thanks for the suggestion's . I have decided to drop chess.
I am currently looking forward to the game of othello & checkers. Othello on one hand i find would be fun to implement , but on the other has a narrow scope. Checkers seems to be the perfect fit. From the looks of it alpha-beta pruning should do the trick for the same.
Is there any thing else i can do to add the complexity to the project ?
(ie if i am done with the bare basics 2/4/6 ply search.) I was thinking something like a machine learning which would adapt to the players skill level.or , letting the user select a particular algorithm for generation the game tree Any other candidate programs you guys can think off ?
If you go for Othello, you can evolve a neural network for the heuristic board evaluation.
It's nice, since you can implementet it if you have the time. Othewise, just drop it, and noone will know.
I would suggest finishing it, with polish, then attempting to add other features. Once you have a base completed and something to show thats polished, you can really experiment and not be limited by time, or have to drop something mid project cause your running behind.