This post lists the best info I could find on how to write a computer version of Othello.
General
http://en.wikipedia.org/wiki/Reversi#Rules
Rules for Othello/Reversi
http://chessprogramming.wikispaces.com/Othello
Details on bitboards, hashes, deep-first searches and transposition tables. Contains source code (generally in C or C++)
http://www.radagast.se/othello/howto.html
A description of what is required to implement a better than average computer player.
https://skatgame.net/mburo/ps/compoth.pdf
A paper that describes the best Othello computer players from the 80s and 90s (IAGO, BILL and LOGISTELLO)
Strategy (human and computer)
http://radagast.se/othello/Help/strategy.html
http://www.samsoft.org.uk/reversi/strategy.htm
Implementation
http://users.informatik.uni-halle.de/~jopsi/dass4/
A break-down of the tasks involved in creating an Othello game. Has info on implementing the rules and how the minimax search works.
http://www.dcs.gla.ac.uk/~daw/masters-projects/dissertations/Colquhoun.2008.pdf
Computer science student's paper.
http://www.cs.kent.edu/~jmelnyk/othello/
A description of someone's attempts to write-up Othello depth-first searches (alpha-beta, negascout, MTD(f), Multi-ProbCut, etc.)
Computer player
http://samsoft.org.uk/reversi/openings.htm
A list of the standard Othello openings.
http://xenon.stanford.edu/~lswartz/cs221/desdemona_writeup.pdf
Description of various evaluation strategies.
http://othello.dk/book/index.php/Thor_Database
The Thor database was the only archive of Othello games that I could find on the net.
Finally
If you want to see what I did with this information, there is my source code for Othello. It's fairly well written, the UI looks okay and is easy to use and the computer player plays well. I implemented most things you'd do in a world-class computer player. However, you'd have to make it a lot more efficient, if you wanted to take on those players.
It was interesting, frustrating and fun to try to write a decent Othello game. I learnt a huge amount too.
Friday, August 10, 2012
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment