Hi Mark, Very good ideas. I have actually been intending for a long time to give the client a test mode - it would test the bot and and find if there were any problems with your bot as far as GTP or legal moves are concerned. Or perhaps it would even play a random game or two locally as if it were connected to CGOS. The idea would be to act in every way like it was connected even though it wasn't. Then you can debug and get everything right before logging on to CGOS.
Believe it or not, I've had the same difficulty when trying to get a new bot up and running. It crashes due to some silly bug and I have to wait another 5-10 minutes for another test. If I don't fix the bug in a hurry, I miss out on the cycle and what a pain it is. - Don On Tue, 2008-10-21 at 22:42 -0200, Mark Boon wrote: > Prompted by a few requests I had very recently with regards to the > computer-Go framework I once started, plus some free time between a > project I just finished and waiting for a visa to start my next, I > have started on a project probably best described by the title of > this message. > > Whenever someone looked at my computer-Go framework they invariably > where overwhelmed by what was there and didn't know where to begin. > And I must say it probably hasn't helped that it's gotten rather > intertwined with some of my personal experiments. So it's probably > not surprising that it doesn't seem to have too many users. > > So when Jim O'Flaherty approached me a few days ago about a framework > to get new Go programmers started, I decided it may be a nice idea to > do just that. A project that can be downloaded, and when instructions > are followed a newcomer, someone who hasn't ever programmed Go > before, can have a bot that plays random moves up and running in > about ten minutes. As Jim pointed out, this potentially not only > helps out beginners to get started, but may also provide an easy way > for tournament managers to get a bot up and running in a standardized > way without the developer needing to be present. (Well, as long as > the bot is in Java of course. But other languages may follow this > example.) > > Maybe this is stretching things a bit and ten minutes isn't a whole > lot for embarking on what is still one of the most challenging > software engineering problems that exists. But I am someone who > thinks that barriers are to be broken down and it should be made as > easy as possible. I myself have little patience for open-source > projects where it takes hours to download, compile and configure a > project just to get started. More often than not I give up in > frustration. I'm a "self-extracting-archive-that-installs-everything" > type of guy. Otherwise I move on and look for something easier. > > I think there are already two pieces of excellent software that help > the Go programmer today. One is GoGui, which takes a boat-load of > work on the front-end out of the hands of aspiring Go programmers. > The other is CGOS, which I think is arguably the best platform for > testing new ideas against real opponents. > > But in between the two, connecting with your playing engine in an > easy way is still a missing piece, so hopefully this is something I > can fill in. There has been much discussion recently about Don's Java > reference bot. I think there already exist several of them. Peter > Drake has a solid reference implementation with Orego. My framework > has one. And there are probably more out there. The problem with all > of these is that they still don't really make it easy for someone to > start their own. > > So the last few days I've been busy making a kind of plug-in > architecture. All you need to do is provide a JAR with a class that > implements an interface of a handful methods and you're ready to put > it on CGOS. Or you can use it in combination with GoGui, or twogtp. > There are still some loose ends to tidy up before I'll make this > public but it probably won't take long. You're still 100% free to > design the playing engine any which way you like, but all the > communication stuff will be completely take out of your hands. > > Doing this I have had a few bumps in the road though. And no matter > how invaluable I think CGOS is, there are a few (I hope constructive) > criticism I'd like to make. > > I have everything working nicely on my Mac OSX. But on Windows things > are problematic. The cgosGTP-win application doesn't work at all. > When going to a bit more trouble and tracking down the tclkitsh and > using that instead, I see some erratic behaviour. Often it stops > after putting out "Engine does not support time control commands". > Even when it gets past that, I invariably get a broken pipe message > as soon as a game starts. Although exactly the same application works > fine on a Mac, I'm very willing to believe the problem is on my side. > But the problem is I get no feed-back. Whatever error would be put > out by my application is not shown on the console. Nor is there any > other hint of what could be the matter, it just splurts out a whole > lot of junk from some script. I believe it would be a big help if > this was improved. Input by others who have experience with this on > Windows would be greatly appreciated. > > Since it takes some time for a new round to start, debugging quickly > becomes a very time-consuming business. Before actually putting it > out on CGOS, I always do some test-runs with GoGui and the related > twogtp, but apparently this is no guarantee to success. So what I'd > like to see is a CGOS-mockup implementation. A program that puts a > bot through its paces to make sure it completely complies with CGOS > before actually going online. > > I want to stress again, I don't just want to throw some random > criticism out there. I want to help improve things. So if I can help > with the issues I just described above I'm more than willing to help > work out a solution. And preferably I'd like to make sure that I'm > going to be the last one having to deal with these issues. > > Mark > > _______________________________________________ > computer-go mailing list > computer-go@computer-go.org > http://www.computer-go.org/mailman/listinfo/computer-go/
signature.asc
Description: This is a digitally signed message part
_______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/