?ukasz Lew wrote:
Jason, can You tell me why You don't want to use libego instead?
Actually this is open question to all comp-go readers.
Is libego too complicated? Do You have problems with compilation?
Or You are not comfortable with the GNU license? Any other reason?
I probably have a lot of little reasons. When it first came out, I
already had my own C++ based framework and didn't really worry about
switching or not. Of course, now that I'm rewriting my bot, using
someone else's framework would make more sense. When I look at libego,
the big turn offs would be the lack of documentation, coding style (the
use of #defines, global variables, hard coding to a set board size,
etc...), and lack of a collaborative environment such as sourceforge
(repository access, bug tracking, etc...).
My rewrite is using a little known language D. Here are some items that
have been developed in the housebot rewrite that I really like:
* Multi-threaded core routines
* Inter-process communication with delegates (function objects) instead
of fixed data structures and special handlers (like the MPI uses I've seen)
* Decentralized GTP command registration. I originally used the GTP from
Gnu Go but didn't like how many places in the code I had to modify when
adding new (debug) functions.
* Variable board sizes and shapes (currently, rectangular boards).
Instead of just supporting one best implementation, I want to have a
flexible framework that supports the interests of many programmers.
Eventually, the core will allow a variety of plug and play
components/algorithms... I want to support different types of boards
(such as bit boards and 3D boards), different types of chain tracking
(such as the disjoint set data structure or gnu style int chain ID), and
different search methods (UCT, alpha beta, PN, df-PN, etc...).
I'm always recruiting people to help if that inspires anyone ;)
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/