Magoo is an Othello playing program that was originally written in C++ for X Windows. It was ported to Java back in 1996.
Use of first person singular on this page refers to Peter Gorniak, who you should be mailing with any comments or questions about MAGOO. First person plural are Andrew, Greg and myself, the original authors of the X version.
If you can't see the game you might be too low in the frame
hierarchy. Click here to correct this.
current web page.
- October 20, 2000
Welcome to Magoo's new home, at the MIT
- June 2, 2000
I made Magoo's graphics a bit fancier, hopefully also improving readability.
Fixed some minor things like too-long player names, and an outstanding bug
with the undo feature not working correctly when a game was finished. Also,
I might have some time later this summer, so vote in the poll above if you
have an opinion on further improvements to Magoo.
- August 6, 1999
The realization that somebody is still playing Magoo made me feel
so warm and fuzzy that after two years I actually updated Magoo again. The
new version is 1.1 and the feature I added is the ability to undo and redo
any number of moves as you are playing the game. There are also some other
small updates (see version history below.) Let me know if you have problems,
especially as there are now some Java 1.1 event model sections in the code.
I also deleted some out-of-date info from this page.
Correction: Netscape for Mac 4.6 doesn't implement a lot of Java 1.1.8,
so I took all event listeners back out and changed some other code to conform
to Java 1.0.2. The new features still work.
- July 2, 1999:
Magoo was off-line for a while now due to some server trouble, but
I put it back up at its old address after diligent Magoo players informed
me of the fact. In fact, I'm so impressed that there actually are still people
playing Magoo despite my lack of work on it and advertising of it that I'm
tempted to have a look at the code again.
- April 23, 1997:
There is an alpha version of a networked Magoo version online here.
Note: This link usually does not work as I rarely run the server on my
machine these days.
- March 30, 1997:
I've been kept busy by school for a while now. However, during reading break,
I managed to get a Magoo server running to the point where games are possible
over the net. It still needs some fixing up to put out a first version, though.
I'm hoping to find some time for Magoo around April 18, so look for an update
the week after that (this is not a promise).
- December 27:
Magoo is now at its new location (you're looking at it). The correct URL is
http://grunthos.sci1.ubc.ca/~peter/magoo.html. The updated pages I'm talking
about in the news item below are finally online, too. There's a new bug posted.
- December 1:
Updated these pages to use frames. I still haven't decided whether I like
frames or not, but I thought for this (namely making the game constantly visible
in its own frame) they're pretty useful. Along with that went a total restructuring
of this document, which will hopefully save me from answering some mail. Also,
this page is now produced with HoTMetaL.
(I'm working for the company that produces
it currently and they convinced me that HoTMetaL is superior to my previous
- October 1:
A new version is finally online. Speed has improved a bit and Magoo is about
to appear on a second web site in French. There'll be a pointer to that here
as soon as it exists.
Back To Top
I guess I could've put all of these into question form?
- Why does it say "Your Name" on the board?
- Well, there's actually a text field in the beginning letting you fill in your name (meant for network games and thus not very useful without them).
- Why haven't you worked on Magoo recently?
- Magoo is a side project that sits somewhere at the bottom of my priority
list. I'm surprised that I ever got around to doing this much. You can see
my excuses on my project page.
I also have not been the fastest at answering e-mail about Magoo. I apologize
for this. Please look through this FAQ and see if I answer your question.
- I can't play Magoo
- Every Java enabled browser or applet viewer should run Magoo. I have seen it run on several platforms and under several browsers. If it doesn't work, check whether you have any output to stderr/stdout. If so, I'd appreciate you sending it to me.
- I have problems with display/board-resizing...
- Magoo is meant to run in colour. I know there are problems with monochrome terminals, and these will most likely not be fixed. Other display problems (like black-on-black button titles) may be due to the way your java implementation communicates with your OS. I try to set colours explicitly wherever I can to prevent this, but if you see something like this, please send me mail with info about your platform and the java implementation you're using.
- I'd like Magoo's X Windows code
- I have not given this code out to many people, partly due to a lack of a stable anonymous ftp server on my side, and partly because the old code is a mess. However, if you bug me enough, I'll probably get around to it sometime.
- I'd like to have Magoo's (Java) code
- My response here depends on your intentions. I readily give out the code to people writing othello programs themselves (there have been quite a few of these requests) or wanting to look at my search engine. If you want to put Magoo on your web site I will give the the class files if you guarantee that you will not be charging people. If you want to buy Magoo to make a profit of it in any manner you can still send me mail, but be warned that I will say 'no' to all offers that take the rights to the code out of my hands or disallow Magoo to appear anywhere else on the web.
- Why 'MAGOO'?
- MAGOO stands for Mayer-Agno-Gorniak-OthellO. That'd be the original authors of the X version. Only the Gorniak is left now.
Back To Top
Java MAGOO History
version 1.2, June 2, 2000
- Graphical changes. Board and progress now have shadows, as does the lettering
on the margin. Increased margin size due to this. New little arc drawn to
give disks 3D effect (not very good, but oh well..) Some colour changes for
- Cutting of names of players too long for labels, labels now left aligned
- Fixed undo/redo bug occuring when game was complete.
version 1.1, August 6, 1999
- removed the 'Close' button to close the playing board and added the appropriate
window listener to the frame instead. This means that the normal close button
the OS puts on the window should now work.
- updated some event handlers to the 1.1 event model (not all, by far)
- Added 'Redo' and 'Undo' buttons to the playing board. Pressing 'Undo' undoes
Magoo's last move as well as your own. Pressed multiple times it goes back
through the games history until the beginning of the game is reached. After
pressing 'Undo', 'Redo' is enabled to go forward in the game's history up
to the point the game is currently at. At any position in the history it is
possible to start playing again from that game state onwards, in which case
all moves recorded after that game state are deleted from the history.
- The field to enter the player name now appears again, even though it's still
somewhat without purpose.
version 1.0.2, October 1, 1996
- if you watch stdout you can see how many boards magoo evaluates per turn
(this was for debugging, I left it in by accident)
- Couple o'more speedups
- Magoo now reads all its strings from the page it is on, so that it's easy
to translate into other languages. This is due to a request from France for
- removed interface for changing heuristic on page as it was too obscure.
version 1.0.1, August 1996 (never appeared online)
- removed some object creations to increase speed (disks are now ints again)
- added functionality to let user change heuristic
version 1.0, May 19, 1996
- added depth effect to disks (artistically inaccurate, but simple)
- MAGOO now highlights the move it chose to make
- MAGOO also highlights whichever move it is currently thinking about during
its decision process
- eliminated board flickering when player tries to make an illegal move
- improved speed a little (not enough)
alpha 2, May 18, 1996:
- MAGOO now admits correctly to loosing a game
- fixed update problems
- added choice of player colour
- added player name
- changed colours to match page
- changed position and size of progress bar
alpha 1, May 17, 1996:
- first online version
Back To Top
MAGOO Java Version
Yes, I (Peter Gorniak) have finally found enough time to put out aversion of MAGOO in Java. Version 1.0 is out, so everything should work :). Just choose one of the three skill levels, choose your colour, enter your name and click the button. That should pop up the MAGOO othello board. You can open as many boards as you like, but of course your performance will get awful pretty quickly. Note that I had to simplify the search engine a bit due to Java's slow performance (compared to the original C++ version). Still, things may take QUITE a while in expert mode. Please let me know of any bugs you find, features you want to see (first see list below) and games MAGOO beat.
Problems I currently know about:
- I'm not stopping MAGOO when you leave the page currently. Depending on your netscape version your browser may wait until MAGOO has finished thinking before it displays another page. However, MAGOO is independent of the page you're on so ultimately you should be able to browse the web while you play.
- Things have gotten SLOW (let's blaim Java for this ;). There's not all that much I can do here without redesigning the engine. Note that Magoo is very playable on all levels except for expert on my machine at home, but I've seen it die on slower computers.
- The progress bar flickers a lot in Netscape (doesn't in applet viewer)
- I didn't notice this myself for a while because of Java's slowness, but: The "expert" level in Java MAGOO, however terribly slow it may seem to you, actually corresponds to the "intermediate" level in the X windows version. Which means that "beginner" is a level so easy that we didn't see a reason to even put it on the X version :).
Back To Top