Mono Pente



  1. Download the source
  2. Extract the source
  3. ./configure && sudo make install


  1. Install a recent gtkmm windows binary package (you just need the runtime package not devel)
  2. Download the cairomm binary and the win-pente zip
  3. Put cairomm and unzip pente in the same directory and run!


This project fell out of my need to learn C# for a new job. It's a Mono/Gtk# implementation of the game Pente. It came out well enough that I'm going to keep working on it to see how far I can take it. Direct any comments or questions to me.

I decided to port to C++ for two reasons:

  1. The Linux tools and IDEs for C# aren't very stable/complete yet
  2. I had concerns that mono was being really slow in the AI routines
It turns out only the first was a good reason as the C++ AI implemtation is about as slow. I'll probably have to change the project name now :).


  1. AI
    1. Evaluation function
    2. Min/max
    3. Negamax
    4. Alpha/beta
    5. Clever move ordering
    6. Memory resident decision tree so it doesn't need to be rebuilt every time
    7. Initial decision tree loaded from disk based on well known starts
    8. Threaded decision tree searching
    9. Experiment w/ even fancier algorithms (MTD(f), Negascout, transposition table, etc)
  2. Undo/Redo
  3. Network Games
  4. Icon
  5. Windows binary release

Links Logo