[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] New

From: Gunnar Farneback
Subject: Re: [gnugo-devel] New
Date: Thu, 10 May 2007 00:14:47 +0200

> Hello, my name is Eric Shrewsberry, and I am interested in helping develop
> GNU go. I really like programming, and I really like go, so I thought I
> could combine my interests in this project. I have not worked on a large
> project before, however, and I do not know where to start. Any help would be
> appreciated.

There is a list of projects in the TODO file of the GNU Go distribution
but that's probably not very useful until you're reasonably familiar
with the code.

The obvious place to start is to browse the documentation. Codewise good
starting points are board.h/board.c for the low level infrastructure,
reading.c for relatively self-contained algorithms (tactical reading),
and genmove.c for the high-level overview of move generation. Check out
the move valuation process in value_moves.c. Patterns are very important
in GNU Go; some understanding of those can be gained by studying e.g.

Once you start to understand how things work together, browse the
regression test failures at
and try to find one which looks straighforward and see if you can detect
where things went wrong. Useful tools are the debug information
reachable at the regression views, debug information gained from running
the testcase with trace and debug flags (see gnugo.h), and in particular
the view.pike utility in the regression directory. Feel free to discuss
your findings on this list and/or in tickets at

When you find a test failure which you think you understand, try to fix
it. Run the regression tests to verify that the solution doesn't have
unintended consequences. Post the fix here and/or at trac.

If you make non-trivial changes and want to have them included in the
GNU Go distribution you need to assign copyright to the Free Software
Foundation. Ask us if you want more information about that.

But before you do anything else, subscribe to this list at so you get all mails
and don't risk getting stuck in moderation. Also have a look around at


reply via email to

[Prev in Thread] Current Thread [Next in Thread]