CODE ON GITHUB
Dots and Boxes (dots) on GitHub (also, in MacTech Magazine)
Pente® on GitHub (also, in MacTech Magazine)
nxn Othello® (Jello) on GitHub (also, in MacTech Magazine)
Hex (Hexorcist) on GitHub
Rotated Bits on Github (also, in MacTech Magazine)
MacTech Magazine was the magazine for Macintosh programmers. Their "Programmer's Challenge" was a monthly programming contest around optimization that I sometimes entered when the problem was interesting, especially when it involved abstract board games. The winner's solution would be published in the magazine. (So see below for my code samples.) Submissions were in C or C++.
My solution won 1st place and was published in the magazine.
After a Challenge absence of more than three years, Jeff Mallett (Boulder Creek, CA) returns to take first place in the June Dots Challenge. The object of this Challenge was to win a round-robin tournament of the game Dots (or Dots and Boxes)."
My solution won 1st place and was published in the magazine.
"Write an engine to accumulate, in minimum execution time, the most points in a round-robin tournament of the board game Pente™. "Jeff's entry, however, was more efficient about pruning the search tree and therefore required significantly less execution time than Randy's entry. Since a point was deducted for each second of execution time, the winning entry lost significantly fewer points for inefficiency." Later, I converted this into a plug-in engine for Zillions of Games.
My solution won 1st place and was published in the magazine.
"Write an Othello engine in C to win a round robin on an arbitrarily-sized NxN board, winning by the largest margins with penalties for time." From the comments: "Uses alpha-beta search with iterative deepening, transposition tables, extension for solving, futility cut-off. a simplistic selectivity. etc." Later, I converted Jello to a plug-in engine for Zillions of Games.
My solution came in 2nd place with a score of 79.98 vs. the winner's score of 80.08, so did not get published.
"Write an engine to earn victories in a round robin tournament in the game of Hex, with the score reduced based on execution time." I did convert the code into a plug-in engine for Zillions of Games.
My solution came in 3rd place out of 16 entries in terms of speed, but got published in the magazine anyway.
"Quickly rotate bitmaps of arbitrary pixel size."
"Jeff Mallett (Hickory, NC) deserves praise for his extremely small solution which was also near the top in terms of speed. Because it is so small, it is listed here as well"