Well, decided to put my Othello program on the web. Have been working on it for 12 years now. Started in basic on a Commodore 64. Didn't do anything with it for years, then rewrote the whole thing in Modula-2 on an Amiga 500. Once it worked, I lost interest again and only restarted after I discovered online Othello playing. Thought it was time to learn a new programming language, so I rewrote it again in C and added some "thinking" (didn't do that at all in earlier versions) features. As usual, once it was up and running it bored me again. One year later I got my hands on a copy of MS Visual C++, rewrote the whole program to C++, added a GUI and some extra features. This time I really tried to improve the program, in speed and in performance, but didn't succeed very well :(. Beginners may have a hard time beating it on level 5 (highest full depth tree search I can manage in reasonable time :) ). but for more experienced players it shouldn't be a problem beating it. Don't even think about playing level 4 or easier, it makes the dumbest moves imaginable.
I got (and still am) very frustrated by the fact that documentation of other programs contain remarks like: 'full depth search until depth 8 is easily accomplished in about 1 second, after which we continue with some sort of Alpha/Beta algorithm', or by programs that do end-game searches of 20 moves in the same time as I do a perfect end-game search for the last 11 moves. I improved the speed by a factor 5 or so after many optimalisations and code-rewrites and I'm still by far not close to speeds accomplished by other programs. Think I'm doing something completely wrong or so :)
I'm not a programmer by profession, studied Applied Mathematics at the technical University of Twente in the Netherlands. Apart from the occasional Matlab or Maple script I didn't learn programming there. I used to program a lot of 6502 and 68000 assembly on the good old commodore 64 and Amiga, making demo´s and stuff like that, but that's a completely different kind of coding.
Some game facts:
Search Algorithm: Full tree search to Depth 5 on Level 5.
End game search: 11 moves at level 5 (Already takes forever to go this deep)
Evaluation: Mobility difference, feeble attempt for positional values and a little bit disc-count difference.
If you're still interested in downloading Junior Othello, feel
free to do so, just click on the following link:
If Junior Othello complains about missing mfc42.dll, copy this file to C:\Windows\System on Windows 9X systems, or C:\Winnt\System32 on Windows NT & 2000 systems.
For those interested, the source code is available aswell.
Promise me one thing: don't make fun of my way of coding, it's my
first C++ program :)
Junior source code
If you should have comments, suggestions, hints, tips or whatever feel free to sent me a mail