> 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. shapes.c/matchpat.c/patterns.db. Once you start to understand how things work together, browse the regression test failures at http://trac.gnugo.org/regression/regress.plx 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 http://trac.gnugo.org/gnugo. 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 http://lists.gnu.org/mailman/listinfo/gnugo-devel so you get all mails and don't risk getting stuck in moderation. Also have a look around at http://trac.gnugo.org/gnugo. /Gunnar _______________________________________________ gnugo-devel mailing list gnugo-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gnugo-devel