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

Go Programming Environment Offered (?)



    There hasn't been much Go code shared, other than small spot algorithms.
Only PJ Leonard has made a public effort to share code for generating a Go
engine.  The problem with pubgo it seems to me is that it is structured in such
a way that one has to learn a whole new world.  It is too daunting without being
clear on what the payback really is.
    But the startup time/effort to write a Go program is significant.  Besides
all the details of go itself, you have to write your gui interfaces, your
connections to other programs, re-write the go modem protocol for the nth time,
re-invent Ko detection,  and do all the things needed just to play a legal game,
let alone an intelligent one.  If you were offered an environment in which all
you only had to do is write your Go engine, would you take it?
    I have implemented such an infrastructure.
    I am considering releasing a body of code that:
        a. is portable to linux, nt, (windows 95?), aix, solaris (etc) (*)
        b. allows the go programmer to write only the engine part
        c. supplies players:
            1. via go modem protocol
            2. internal wally player and random player
            3. scheme to add other internal or external (e.g. igs or nngs)
players
        d. C++

    Your Go Engine would be called with a legal Go board.  You examine the
supplied Go Board object , do your Go programming magic, and give your response.

    The idea of the environment is that it will mediate games against any
player:
        1. someone at the computer
        2. against a remote player via Go Modem Protocol or an internet format
        3. against a database player, playing test games
    so that you can do expert style programming or machine learning programming
and be able to automate testing and evaluation of progress.

    The codebase at this moment has its shortcoming and bugs, to be sure.  I
would like to release it to a few people who might do some active development
with it and supply fixes before releasing it as a general resource.  No
beginning programmers, sorry.  If you really know what you're doing as far as
design and C++, then contact me.  To be sure, the NT port definitely works now,
but the UNIX stuff is aging and needs to be checked out.  Please email me to see
if there's a fit with this.  I'd like to do it in the linux-like vein, in which
there is a central clearing house for the infrastructure - me.  All authors will
be credited.

    Finally, the thing has no name.  "OpenGo" mentioned by Weimin Xiao is the
right spirit.  Any other suggestions?

    A simple paper about it is at:  http://www.concentric.net/~Jgberg/env.html

    Regards,
        jeffrey

--
Jeffrey Greenberg
Mgr. Aegis Adv. Dev.
Acuson Corp.
www.ultrasound.com
www.acuson.com
650-694-5422