Projects / Generic Game-Tree Library

Generic Game-Tree Library

GGTL is a library designed to make it easier to program games in C. It provides an AI that is able to play most 2 player strategic games. Nim, Tic-Tac-Toe, Reversi (aka Othello), Connect-4, and Chess are all examples of games that can all be implemented using GGTL.

Operating Systems

Recent releases

  •  21 Dec 2006 13:30

    Release Notes: "clock()" is used as a fallback for sub-second timing if "gettimeofday()" is not found. An internal typedef was dropped, and a header declaration for a function that didn't exist was removed. Some build system refactoring was done.

    •  27 Mar 2006 21:48

      Release Notes: The horrible new getter/setter interface introduced in 2.1.2 has been removed. There are explicit ggtl_set_float() and ggtl_get_float() functions instead now.

      •  20 Mar 2006 03:39

        Release Notes: Allows sub-millisecond precision for iterative searches. Deprecates the MSEC option in favour of the new TIME option; this takes a double-precision value in seconds, allowing for sub-millisecond precision when doing iterative searches. Introduces new ggtl_getval() and ggtl_setval() functions capable of setting/getting double-precision values.

        •  24 Dec 2005 22:52

          Release Notes: Documentation and build improvements are the core features of this release. Recursive make is no more, and a new tutorial has been added (ggtltut), showing how to create a simple Tic-Tac-Toe game.

          •  03 Aug 2005 21:14

            Release Notes: You no longer need to make a copy of each state for games where a move can reliably be undone in place. Support for a clone_state() callback to simplify the semantics of the move() callback. More flexible caching functions and reuse of container nodes. Some documentation improvements.

            Recent comments

            10 Oct 2004 12:01 stigbrau

            G2F3, a related project in Eiffel
            I recently was made aware of G2F3 (, a project related to GGTL implemented in Eiffel.

            10 Mar 2004 09:40 jeffcovey

            Re: Debian packages available

            Ok, I've added a Debian link to your branch. Please do this yourself in
            the future.



            06 Mar 2004 16:04 stigbrau

            Debian packages available
            There are now Debian packages available. ( has the details.

            02 Nov 2003 08:55 stigbrau

            Along the same lines...

            I recently discovered gtkboard (, a project that also implements game-tree search. I've only looked briefly at it, but it seems very interesting. It takes a different approach than GGTL in that instead of programmers calling GGTL functions from their game, games using gtkboard are implemented as modules that are called from the main program.

            29 Apr 2003 03:42 stigbrau

            Feedback request
            This software is my BSc project. It would be very helpful for me when writing up my report to know what people think about it. Comments from people who have tried it would be of particular interest, but all feedback welcome. Email to if you don't want to post here.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.