What about just making AIs that do not make illegal moves? You need only make sure that:
1) You're moving within the area of the board
2) You're not moving over a fence
3) If placing a fence, you:
a) Have a fence available
b) It's placed on the board and not in collision with another fence.
4) If moving over the other player, you're doing so correctly. The most complex situation is when a fence is behind the player you are jumping over.*
This doesn't seem like too many conditions to check? The test program could just reject invalid inputs and disqualify the program / make the program resign? Is this too harsh?
*I have this game at home and have played quite a bit (although I've never tried to write an AI for it before). I can explain any rule ambiguities or anything if anyone has any.
Edit: My point here is kind of, it's not a very good AI if it makes illegal moves.
- Failure to move in a certain time --> Automatic resignation
- Failure to play a legal move --> Automatic resignation
I thought today I can make a little ascii board representation that checks move legality and keep track of pawn and fence numbers and positions. AIs could be written in a header file and then the AIs included with their respective header files and left to do battle until a winner is found. It would seem fair to match each AI with another twice, once going first and once going second. I figure I could release the code here so people can error check it and see what conditions they need to give to the program to make a move. Thoughts?
Chess just seems a bit boring to make an engine for, since there are so many thousands of chess engines already out there. I suggested Quiridor because it's a game with rich strategy and hardly an AIs.
Edit: @Lumpkin wtf? I play tournament chess and I'm sure if I requested a copy of tournament rules it would be at most 3 pages long and most of that would be clarifying who plays who in each round and tie-breaks. The basic rules would probably be just over a page.
It's not beyond reason to defeat Deep Blue* with a chess engine. There has been so much knowledge gained in chess theory since the mid 90s that I would expect many programs of today would defeat it**.
*If it still existed that is.
**If they were matched up against the 1997 version and not some new improved IBM chess computer.
Edit:
Don't you feel like those thousands of chess engines would top anything made from people on this website?
This is one of the reasons I elected not to mention chess. It seems to be far more interesting to try making AI play a game where we might actually progress AI for the game, rather than walking the through the well known chess AI theory.
i dont know man... there are some pretty smart people on this forum. so smart that if im sure they chose to, they could all get together and design a compiler for c++ that would rival gnu and contain all features that they wanted
How many games are actually 'solved'? AFAIK Connect 4 is the only major game solved and draughts is weakly solved. Stuff like chess or backgammon probably need a decent quantum algorithm to actually solve in any reasonable time.