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
umcarr@cs.umanitoba.ca
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:
- 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. ;-)
- Minmax lookahead for AI.
- Heuristic evaluation of boards for all except the Random player
Features from the Mac version that weren't implemented:
- Saved games.
- Move takeback
- Unlimited undo/redo/replay
- Processor hogging (hey - no pre-emptive multitasking on the MacOS - it's a feature, not a bug)
- B/W version (I used to have a 21" G/S monitor)
- Suggested moves
Features that I *MAY* get round to implementing some day:
- 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.
- 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