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

[computer-go] Announcement: HavannahGui, a GoGui-Modification



HavannahGui is a GUI for the game Havannah, based on GoGui by Markus Enzenberger, that has
support for loading/saving/editing sgf-files (havannah game records) with variations + a
framework for experiments with a computer player, using the GTP-Protocoll and similar
development-tools as for Go-programming.


In some respect this game resembles Go a bit,

* the internal representation is a 19x19 array (ok, this alone is not much)
   except there are no captures/komi/suicide etc. and it's really a hexagonal board

* it has a strategy, that might not be as deep as go, but the claim is: it's comparably difficult
to program - while the rules are definitly much easier

http://www.mindsports.net/Arena/Havannah/AboutHavannah.html says

"Ironically it is the absence of a lot of things that makes Havannah so easy to
understand for humans and so hard for computers:

    * no material imbalance
    * no movement
    * no general direction
    * no capture
    * no promotion
    * not even illegal moves
"

There is also a "prize" for a good program:

 "The inventor has, in the summer 2002 issue of Abstract Games, put a $1000 prize money on a
program that can beat him one out of ten (!!) games within the next decade."


Some keywords:
running/pushing battles
escaping with groups, isolating groups
cutting, connecting
blocking moves
sente/gote
it seems to be a very visual game, patterns & "direction of play" play a role
with a lot of strategical decisions
tactical things shine through with similar patterns as in hex

See also: http://senseis.xmp.net/?Havannah



===============================================================HavannahGui_HOWTO.txt
HavannahGui (a GoGui-"Hack", based on gogui-0.6.tar.gz) -----  LICENCE: GPL
=======================================================

only the minimal changes were made, that were necessary allow to

* enter moves+variations
* load & save sgf-files
* provide a framework for experiments with a computer player via gtp (modify GtpDummy)
* verify testcases (later)

this works:
* set the size of the board
* the setup feature
* load/safe sgf files

***
In the code, as much as possible was left as it is, to allow using similar tools as for
go-development.


---------

CHANGES:

gogui-0.6 --> havannahgui-0.6a

* GUI:
  gui/Field - eliminated this class completely (with some difficulties)
  changed some lines in gui/Board.java, gui/GoGui.java, go/*, games/*, sgf/*

* removed capturing of stones, suicide is allowed, etc.


---------
sgf=smart game format

NO BUG:

SGF-issues:
* size=19 means (size+1)/2=10 edge length (thus only ODD sizes are allowed)
  this ensures compatibility to go
* column "I" does not exist, just as in go
* wrong tag in sgf file: type of file/game is still "go"--> allows to open it with every go sgf
viewer

BUGS:

* in stored sgf file:
  some wrong tags (Handicap stones are added as stones)
? no swap-rule supported (swapsides|swap...)

* gui: show last move not implemented, no entering of moves via keyboard anymore ...


* "invalid colour or coordinate" for x=8 (size=19), when gtp-program attached.  FIXED.


=================================================================================================
===
============= INTERNAL REPRESENTATION
==============================================================
=================================================================================================
===

array int [19][19]
= 0..18 x 0..18

(0,0)
+-----------------------------+
|                  \          |
|                    \        |
|                      \     <--------- not used
|                        \    |
|                          \  |
|                            \|
|                             |
|\                            |
|  \                          |
|    \                        |
|      \                      |
|    <--------------------------------------not used
|           \                 |
+-----------------------------+ (18,18)


Each field has 6 neighbours: (not 4 of course)

in the array they are:
  *    i
    \  |
      \|
<----- * ----->
       |\
       |  \
       v   *

Definitions:
a=0
m=9 (middle)
e=18 (end)

=================================================
in GUI the board is displayed as follows:

           (18,18)
         /  \
      /        \
   /              \
 /                   \
|                     |
|                     |
|                     |
|                     |
| (9,0)               |
 \                   /  (0,9)
   \              /
       \        /
         \  /
          (0,0)


------------------------
the ZIP-File is about 1MB

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/