Just as an aside, a game like this with deep algorithmic complexity but trivial graphics seems like a natural fit for a functional language like Scala or Haskell. I wonder why Tarn chose C++ instead. Was it just out of familiarity? With his background in math I'd imagine he'd be very comfortable in an FP language.