On 11/23/2011 12:11 PM, Joe Lee wrote:
Hi.
I heard a lot of good things about the GNU Go program for a while now
(maybe a couple of years?? wow!). Personally, I'm a 1 Dan go player and
also an experienced programmer. I have also worked with AI algorithms as
well as framework-based and engine-based projects. If anything, I could
do some documentation, test for bugs and provide feedback, and do some
coding contributions myself (after I become comfortable with the GNU Go
framework). I would love to contribute to the project, especially
because I enjoy Go and because I have an engineering/programming background.
*What do I need to do and prepare to get started? Thanks!
The development has admittedly been rather slow the last few years so
fresh contributors would be most welcome.
To get started with the code I recommend first digging into board.c for
the central board logic code. Then the rest of the core board stuff
making up libboard in the build, hash.c, boardlib.c, and printutils.c.
After that it's instructive to study the low-level tactical reading code
in reading.c and see how it interacts with cache.c and persistent_cache.c.
Next a good place to enter is genmove.c, which in turn calls functions
in worm.c and dragon.c to build up the internal representation of the
understanding of the board. This also involves more advanced reading
functions in owl.c, readconnect.c, and semeai.c plus a lot more.
To see the whole chain of code the main function is in interface/main.c,
which in turn calls different playing interfaces, of which
interface/play_gtp.c is the most important. The latter is also the basis
for the regression testing in the regression directory. The regressions
can be run in several ways but most features are in the regress.pike script.
However, the most important part of the code when it comes to potential
for gaining playing strength is in montecarlo.c. Today Monte Carlo
techniques are the key to a strong go program and GNU Go has quite a bit
of catching up to do.
An important part of the development infrastructure is the
http://trac.gnugo.org site.
Welcome.
/Gunnar
_______________________________________________
gnugo-devel mailing list
gnugo-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/gnugo-devel