[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
OpenGo Frame
One only need to know the GO board configuration and the move the opponent
just played, i.e., (BoardConfiguration, PlayerColor, MoveX, MoveY), to
continue the game. For sharing code modular, we do want the minimum data
(structure) dependence to avoid to learn someoneelse's whole new world. I
think we can share code at least in the following GO playing/analyzing
steps:
1. User Interface (modular) gets (Board, Player, Move);
2. Basic Board Analysis (modular) based on (1.)
2.1 Mark stone groups
2.2 Count group breath
2.3 Clearn dead groups
2.4 Record number of dead stones
2.5 Update current board configuration
2.6 Tell who is the next player
2.7 Decide legal move positions
3. Game-Finish (modular) based on (2.)
3.1 Decide if the game is finished;
3.2 Score the game to find the Winner, if the game is finished.
4. End-Game (modular) based on (2.)
4.1 Decide if the game is in End-Game stadge;
4.2 Play End-Game, if so.
5. GO Battle (modular) gets information from (2.)...
The step (5.) is also the programer's battle field, I guess everyone might
want to write his or her own code, we might even want to vote the moves from
different GO engines. The easiest GO engine is randomly picking a legal
position (2.7) that might only be a little bit weaker than Wally! Anyway, I
guess we can worry the step (5) modular sharing a little bit later.
Weimin
-----Original Message-----
From: Jeffrey Greenberg <jeffg@xxxxxxxxxxxxxxxxx>
To: <computer-go@xxxxxxxxxxxxxxxxx>
Cc: <jgberg@xxxxxxxxxxxxxxxxx>
Date: Thursday, September 10, 1998 10:03 AM
Subject: Go Programming Environment Offered (?)
... 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. ...
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. ....
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
...