Read Me
This project is a game that plays 4x4x4 tic-tac-toe. The program name has been "Qubist"
since 2013.
The program plays what amounts to 3D tic-tac-toe, like the Parker Brothers game Qubic,
from the 1960's. Oren Patashnik proved the game is a win for the first player, and
published his results in 1980. I (O'Gorman) contacted him around 2000 and got
his permission (encouragement, actually) to produce such a game, and to incorporate
his "strategic moves" in it. I found an early version of this game on SourceForge,
and the original author was kind enough to hand over control. Around 2013, I renamed
this game Qubist to avoid using the Parker Brothers trademark.
The software was licensed under the GPL and included a copy of version 2 of the
license, and that is the license it remains under, except for things that originated
elsewhere (primarily the cache code) which were licensed in ways compatible with
GPL 2.
Oren gave the project a file with his work under conditions that are relatively
free, but appear incompatible with GPL 2, so it is not included here. Instead,
this program has been written to read the file, or any other in a similar format,
and incorporate its strategies when runnibng in the Expert mode. The user is thus
responsible for using them together or not. That file is pure text, describes
itself, its format and its contents, and is available on Google Drive at the URL
https://drive.google.com/file/d/0B6pbHEZND52eMzlzWWRCWFdrTm8/edit?usp=sharing
Current status: The game engine is working using GTK+ 2.0. This builds on Ubuntu,
and probably on most flavors of Linux. GNU tools and GTK libraries are required.
As of 0.5.6, the game engine uses an internal cache to speed up searches through
all of the possible permutations, (sometimes by a factor of over a million).
The user view is seen through a random automorphism, so that the game engine's
responses seem more varied. See http://en.wikipedia.org/wiki/Graph_automorphism.
As of 0.6, all known engine bugs are fixed, although there has not been enough
testing to be sure there are none left.