Revision History

Nobody sent money when I said it was shareware, so I shan't bother anymore.

Consider it freeware. I.e. you can play it, distribute it, throw it in the garbage can, whatever, so long as authorship is acknowledged.

Hamish Carr
hcarr@cs.ubc.ca


Version 1.9 (November, 1998):

Major overhaul of the code. I cleaned up many of the outstanding uglinesses, and in fact pretty much rewrote the whole thing. It is now structured as three Loopers talking to each other (the Window, the Application, and the Brain). Sub-brains are now BLoopers as well, and killing a deep-thought thread now does not leak memory.

Support for wraparound play now added. In order to do this, the original C pointer walks through the board have been replaced with indices. Much less efficient, and you may notice that it has slowed down.

Experimental OpenGL support for actual play on the torus.

Now comes with the ability to take back moves (as many as desired).

Known bugs:
  1. Does not always reset player information properly on Take Back, New Game and change of players: changing the players again solves it.
  2. In OpenGL mode, picking only works properly with the torus in it's original alignment.

TO DO:
  1. Fix the bugs
  2. Update the documentation properly
  3. Add variable size playing fields
  4. Support Internet play via BMORB
  5. Add animation of electrons
  6. Soundtrack. Would help if I could write music. . .
  7. Intel version - would help if I had access to a Betel box


Version 1.01a (July, 1998):

Intel version compiled. The sounds are slightly different, and somewhat harsher. I lost the original sounds, and had to improvise.

The Intel version seems to have a bug that causes it to crash sporadically. If someone can find out why, I would be interested.

The PPC version frequently crashes when exiting. I count this as a minor nuisance, and haven't bothered tracking down why.


Version 1.01 (January, 1998):
Features already implemented:

  1. Independent threads for display & thinking --> it starts thinking up it's next move while it is still displaying the results of your move. Semaphores are my friends. ;-)
  2. Minmax lookahead for AI.
  3. Heuristic evaluation of boards for all except the Random player

Features from the Mac version that weren't implemented:
  1. Saved games.
  2. Move takeback
  3. Unlimited undo/redo/replay
  4. Processor hogging (hey - no pre-emptive multitasking on the MacOS - it's a feature, not a bug)
  5. B/W version (I used to have a 21" G/S monitor)
  6. Suggested moves
Features that I *MAY* get round to implementing some day:
  1. Alpha-beta pruning: With a branching factor of 20-30, the top level (a 4-level lookahead) is already slow. Alpha-beta pruning might let us lookahead 6-levels, but even more slowly. Oddly, it works better with even lookaheads than odd lookaheads.
  2. Brain restarting. At present, changes to the type of players take effect as of their next move. I *SHOULD* change it immediately, but I'm feeling lazy

Known Bugs: (as of v. 1.0.1)

If the program crashes, it should show an alert box with a strange message, then die, using the regular BeOS crash alert. I know what's causing this, but since I haven't had it crash yet except when I left stuff out, I don't feel inclined to fix it up.

Bonus trivia question: what does the alert box say, and how do you get it to show up?

When you select "New Game", it kills the other threads: this means that some memory will leak (those threads use pointers to some data structures). Again, I'm not inclined to worry about it right now.

Additions as of Version 1.0.1:

Thanks to Markian Hlynka for this idea:

Added a new menu to allow the user to set the priority assigned to the threads that do the thinking at the "Bill Kocay" level. Use at your own risk!

Fixed bug in memory allocation when starting up, and fixed MIME type on initialization (thanks to J. Watte for finding these).


Version 1.0 Jan. 10, 1998

higher-level brains are now multi-threaded - 5 threads think up the next move, 1 for each row. I guess if someone builds an 8-processor box, I may need to update it.. ;-)

priority of high-level brain threads reduced to B_LOW_PRIORITY. This keeps the GUI from slowing down elsewhere. I guess that means that the pop-up menus in the Tracker are B_LOW_PRIORITY, eh?


Version 0.98 Jan. 8, 1998:

sound now works

added status bar for higher level thinkers

adjusted the right-hand edge of the window slightly