I took a class once where we had to write a program to play chess and checkers. While checkers had a much simpler scoring system, the move generation was more complicated to program because of forced moves. Still, the checker program was able to look a little further ahead in the game tree than the chess program(we only had two minutes to calculate each move). Neither one was simple to write. I see that the solution to checkers was solved in 2007. The solution is a draw if both players play flawlessly. Maybe one day our machines will have enough memory and processing power to solve chess.