This is Version V2.4 of my Reversi applet. It once (in Nov. '96) had an IOS rating: 1408 on level "Amateur"! Not bad for a Java applet, eh?
Have fun! (Be patient - it takes a while to load the applet.)
You want to play an interesting game? Choose level "Amateur" and no timeout. See if you can beat the applet!
If this applet doesn't work for you for some reason, let me know! (But check out the (small) list of known problems first.)
A note for users of Opera 4.02.
I don't even remember how this started - but one fine day I rewarded myself for just having finished and sent off a paper by cruising the web in search of interactive Reversi (also called Othello) games. I found a couple of Java implementations, but all of them were disappointingly easy to beat - and I'm far from being a good Reversi player!
Or maybe it didn't start with this but with a rather strong Reversi program I wrote in C back in 1993. While it only had a simple character interface, it used state-of-the-art techniques for the game engine. It played quite well: on the "Amateur" level, it beat me regularly - and I'm far from being the world's worst Reversi player!
Wherever this started, I decided to put my Reversi program on the web. I just had to learn Java and re-implement my old C program. To get a feeling for Java, I shamelessly copied Ben Fry's Java implementation of Reversi. Then I ported my old game engine to Java, rewriting the applet completely in the process.
The above Reversi game applet is not vary fast - after all, Java applets are interpreted, so you cannot expect the same speed as in a compiled C program. Levels "Easy" and "Beginner" (1- and 2-move look-ahead) give adequate response times, but also are not too hard to beat. Level "Amateur" (4-move look-ahead) can take some time, but it's still tolerable. It's already rather difficult to beat. Level "Expert" (6-move look-ahead) may take a couple of minutes to compute its next move.
The "Time" setting usually has no effect on the "Easy" level: on that level, the applet will find a move in less than 30 seconds anyway. On all other levels, the applet plays best when there's no time limit. The more time you give it for thinking, the better it'll play!
If you want to know more about the internals of this applet, read a description of the algorithms used.
Note: the applet uses auxiliary game information stored in a table. If this table cannot be loaded, you still can play, but the applet will not play very well. It should pop up a window with a warning message in this case.
Disappointed by my applet's play? Sorry, but with a 4-ply (level "Amateur") or 6-ply (level "Expert") look-ahead I can't do much better. But you can find much stronger opponents (humans and programs) on IOS, the Internet Othello Server. (If you've never before played on IOS, read the guide to IOS first! - But note that the host given there is wrong: IOS recently moved and is now at external.nj.nec.com, port 5000!)
My applet also played a couple of games on IOS (under the name "wolfj"). Its consolidated rating on IOS on Nov 15, 1996 was 1408 on level "Amateur". This is probably a little too high, its true rating is more likely to be somewhere between 1300 and 1350.
Reversi is a two-player game. One player has the black stones (you), the other the white ones (the computer). The players alternatingly set stones on the board, black starts. Any stones of the opponent that get caught between two of your stones by a newly set stone are flipped, i.e., they change color. You may only set a piece if doing so will flip at least one other piece. Otherwise, you have to pass, and it's again your opponent's turn. The game ends when either the board is full, or neither player can make a move. At that moment, the player who has the most pieces of his color has won. Draws are possible.
More information about the game of Reversi (or Othello) can be found in the guide published by the International Internet Othello Association.
A very good introduction to the game of Othello can be found on Colin Springer's Othello Pages.
Well, "FAQ List" is a big word, but there are a few questions posed regularly:
table.code.gz. See the license for information on how to get the applet and on what you are allowed to do and what not.
Despite my best efforts to implement this applet properly, there are some minor problems I could not resolve:
<PARAM>tag in the HTML of this page to pass the applet the RGB value for its background color. For some weird reason, either IE4 doesn't pass along this value, passes it along corrupted, or completely ignores my applet's calling
setBackground. This works on Netscape 4.7.
java.awt.Labelthat Netscape uses. (Sun's
appletviewerhas the same problem. Internet Explorer 4.0 doesn't honor the applet's background color at all; see above.)
I have not succeeded to make Opera 4.02 with Sun's JRE 1.3
successfully run the applet. Since it runs well on Netscape 4.7, Internet Explorer
4.0, and Sun's
appletviewer from JDK 1.3, I suspect this is either a
problem with Opera or with my having set it up wrongly. I didn't try too hard.
(Opera displayed a message "The applet has crashed".) If someone out there uses
Opera and can run this applet successfully, I'd
like to know!
Copyright © 2000 by
Thomas Wolf. All rights
TW, Aug 08, 2000