Public forum discussion.
7 Jan 2008
Hi, i got "Six" working on windows, together with HexGui (in java):
You can download it from:
http://mgame99.funpic.de/havannah.php
(first link on page)
You need to "attach" six_gtp_engine.exe to play against it.
Tell me if anything is not working ok ...
8 Jan 2008
Hello !
It works on my computer! It's great. By the way I use linux too now, but I guess many many people may benefit from it.
Thanks a lot.
8 Jan 2008
I am one of the benefitted, as I said in "Six is pretty strong". Really big "THANKS!" and again, "THANKS A LOT!!" ab!
10 Jan 2008
When I click on your link I get invited to play poker. I do not see anything about hex :-(
10 Jan 2008
The link works fine for me. Many thanks to ab for all your hard work!
10 Jan 2008
10 Jan 2008
10 Jan 2008
I make the download but I can't play all the functions...
(What I have to do with the zip folders? I put everything in just one folder??)
10 Jan 2008
@David Milne: i just tested, no idea why you get a "403"
(maybe you should try again later)
@tigas: what do you mean with "I can't play all the functions"?
\* put HexGui.jar and six_gtp_engine.exe in one directory
\* double-click on HexGui.jar (or use "java -jar HexGui.jar")
(you do not need the 2 zip's, that is just the source)
While the computer makes a move (which can take a while in expert level),
you can't access all the functions.
10 Jan 2008
and to play against "Six":
\* File menu / attach / "six_gtp_engine.exe --level=0"
\* F5 to make a computer move, or
\* Game menu / Computer plays / "Black" or "White" or "Both"
11 Jan 2008
Thanks so much to people who spent their effort making this available! Is there any documentation about the engine? In particular, what levels are available? When I type ab's command, am I getting the lowest level? How do I change it?
Thanks.
11 Jan 2008
--level=0..3 is possible (0 is beginner ... 3 is expert)
but you can find/change that also in file menu
for size 4..15 is possible
11 Jan 2008
Ab, great work!! Can you tell us how you done it? Looks like you mix java and c, and last time I tried that (java 1.2) I used CORBA. Was a bit tricky.
Did you familar yourself with the inner workings of the engine? I would love an infinity level that always gives the correct status (win/loss) of any given position, assuming you wait long enough.
12 Jan 2008
javerberg, I looked a little at the source because I was curious about that, too. The main Java program, called HGui, is started from the command line (or double-clicking on a .jar file). HGui uses java.lang.Runtime.exec to start the binary Six program (which could have been written in any language) in a separate process, then communicates with it via the binary's standard input and standard output, which HGui gets from Process.getOutputStream and .getInputStream.
Although the name "six_gtp_engine.exe" looks Windows-specific, the method used should work fine on Unix when provided with a Six binary that uses the same standard input/output command protocol.
I have not yet looked at the C++ source.
12 Jan 2008
yes, exactly, and for Go this protocol which works through stdin/stdout is called "Go Text Protocol".
You could probably even run HexGui on linux etc., when recompiling the engine.
@javerberg:
About the engine itself i can't tell you too much; i looked at it, but i don't understand the details ...
13 Jan 2008
Thanks for the info. Sounds simpler than CORBA. :)
@ab:
Would be fun to try out how the level settings works, but i don't know how to compile the code. Could not find any makefile. Can you please give some beginner instructions?
13 Jan 2008
Thanks. Now I can play against six.
13 Jan 2008
@javerberg:
i give you a hint (if you have not found out yet)
-> look for files which do not end with .cpp or .h .... :)
(alternatively you can use your favourite ide to compile everything)
13 Jan 2008
ab just a question... I tried to open an hsgf from this site, but it couldn't :( I thought I could use hexgui as just an analyzer (without six, not to spoil the fun of the games), but it signaled an error. Have you tried that? If not, do you use some hex-sgf viewer? (or know of some, anyone?)
By the way, as I said before, thanks and great work :)
13 Jan 2008
the file format of little golem is a bit different:
1) B[ac] is used instead of Ba3
2) B[ac|draw] etc. is used sometimes
3) W is first player instead of B => you'd have to exchange both colors
hmm, i don't play hex at little golem, and especially 3) is a problem
i can consider 1) and 2) for the next version ...
now, stop thanking me everyone, it's enough :)
14 Jan 2008
Ruben: I use jhex as a viewer. There's another thread in the Hex forum (with the title "JHEX") with some discussion of how to convert LG games to jhex. It was kind of a patched together solution, but, in practice, can take me less than a minute to load a single game. Swaps were hard to do automatically, though. This was adapted from something Marius wrote in Excel that may work better for him. I will bump that thread to make it easier to see.
14 Jan 2008
Thanks Art (and Marleys there also), I'm looking at it now
14 Jan 2008
With all the great programming talent here, you might be interested in Alan Hensel's Ruby script for downloading LG Twixt games into Jtwixt format. Jtwixt and Jhex were written by the same author, and the binary file format might be similar. Maybe Alan's script could be modified to make the LG->Jhex transition easier.
19 Feb 2008
This is great! Isn't open-source wonderful?
This is much slower on my dual core Windows work box, compared to my slow home Linux PC. Is there a way to speed it up?
19 Feb 2008
19 Feb 2008
Are you using the same levels? If yes, by how much % is it slower? (for example expert move in same position)
HexGui is a bit slow on navigating moves (with attached engine), i know this, it can also be made faster and i will upload a new version, if this is important for anyone ...
19 Feb 2008
It is quite slow, at least for myself. But I don't know if the Linux version is faster (I'm so used to IgoWin that I think all computer board games are fast). Good work, again :)
20 Feb 2008
My Linux machine has a P4 2.4 GHz. On the Linux version, I set the difficulty level to Expert. I started a game and clicked A3. It took 16 seconds for Six to reply at F6.
My Windows machine has an Intel Dual Core - T2500 @ 2.00GHz. On the Windows port, I set the attach line to "six_gtp_engine.exe --level=3 --allow-swap=1 --allow-resign=1". I started a game and clicked A3. It took 87 seconds for Six to reply at F6.
I would love a faster version.
20 Feb 2008
Does it use only one of the two cores? Can you check with task manager during the 87 seconds?
It would still be much slower though.
20 Feb 2008
It was only using one core.
20 Feb 2008
Would be interesting to compile the windows version with ICC. Unfortunately I don't have the know-how. Havn't worked with c/c++ for many years.
21 Feb 2008
I assume boardsize is 11 (for size 10 it would play e6).
Second, it is correct, only one core can be used.
16 sec and 87 sec is indeed a huge difference; turning gcc optimization on (not done currently)
could help a few %, but i doubt this much.
No idea where the rest comes from.
(here it takes ~125 sec on windows on an Athlon 2300+, so your 2nd number seems about correct)
You can also notice, that
a) "Six" thinks very long for the *first* moves, later it gets better
b) larger board sizes also take longer (>11)
c) here, beginner level thinking times are about acceptable (higher levels for analyzing certain positions)
From a) follows, an opening book would help (on linux *and* windows), but i don't have one ...
(would need one for each board size, >=7)
21 Feb 2008
ok, i tried with optimization turned on:
no optimization: 122 sec
with -march=athlon -O2: 48 sec
with -march=athlon -O3: 50 sec
21 Feb 2008
Those optimisations sound well worth the effort. Can you make them work for Intels too?
21 Feb 2008
22 Feb 2008
I did the same Expert level, 11x11 board test on my Windows machine and got 34 secs. That's a lot faster than 87 seconds.
Thank you!
9 Jun 2008
Hello,
I fear there might be a bug on HexGui, even though it is not a problem for playing. It looks like white winning paths are detected, but black are not. With Six that does recognize ended positions it does not matter.
If resign is not allowed and black wins the game, it is possible to enter some GTP failure.
If anybody does have the same problem, please tell me. I cannot fix it as I can't understand java code.
But once more thanks ab ;-)
2 Aug 2008
ab, have you posted the source code somewhere?
I had a command-line version of six back at the 0.3.4 release, but haven't been able to make it work with later releases. I'd love to have 0.5.* working that way, but I'd need to port it back to Linux. So I need source code.
2 Aug 2008
The file no longer exists on datafile. They say they do that for no downloads or failure to comply with rules. What's up with that? If it's good, I can make it available, and I got no rules except the ones I make up.
2 Aug 2008
see the first message for download (source etc., all included)
The optimized (-O2) file from datafilehost (Feb21,2008) is included there too.
3 Aug 2008
Thanks. This is going to save me a bunch of time this summer, and I may even get my hex research going again.
7 Aug 2008
\*\*\* update ***
HexGui (second version):
\* i fixed an annoying bug, which made it very slow to navigate moves with attached engine,
it is now a lot better!
+ Board now has coordinates drawn
+ little golem games can be loaded (most?)
\* some smaller improvements/bugfixes (win detection correct, ...)
7 Aug 2008
six_gtp_engine.exe:
I made a lot of experiments with different compilers to get similar to linux speed.
Problem is, cygwin gcc (3.4.4) is quite old, and newer gcc versions are hard to get
on windows, except mingw released some mingw gcc 4.x.x experimental packages.
OLD:
cygwin (not optimized): ~120 sec
cygwin -O2: 48-50 sec
NEW:
mingw gcc 4.x.x -O3: 33 sec
mingw gcc 4.x.x -O3 (OLYMPIC/VSIZE=4): 22 sec (up to size 11)
linux speed: ~20-22 sec (?)
A second improvement was possible, by using a hidden compile-time option of the engine,
which specifies "Carriers" to be only 4*32=128 bit large (instead of 8*32=256 bit),
which apparently was intended as a speed improvement.
It really seems to be around 30-50% faster, but the disadvantage is, only up to size
11 is possible then (11*11=121 < 128).
You can try both versions (they are even half-automatically switched by HexGui).
If you notice that playing strength decreased or it plays very strange/bad moves,
please report. I hope it is ok, though.
18 Mar 2009
\*\*\* update 2009-03-18 ***
HexGui.jar:
"-2" gtp option (for attaching two engines) was added
six_gtp_engine.exe:
finally, the feature to interrupt the thinking of the engine is added!
(just click interrupt button in toolbar, during six_gtp_engine is thinking)
it was necessary, because Six can sometimes think a long time (especially in higher levels) ...
(so you need not always "kill" the engine)
[download link in first message]
3 Oct 2009
Thank you, works great!
I have one feature request and one question:
Would it be possible to add the romb style board layout? Nothing wrong with the diamond layout, but I grown used to the romb layout.
I could not find any documentation on the interface between the HexGui and Six. Is there any such documentation available?
4 Oct 2009
> Would it be possible to add the romb style board layout?
just send me the board drawing code (it can use Polygons or not)
- i can integrate it then into HexGui ..
> documentation on the interface between the HexGui and Six. Is there any such documentation available?
the used protocol is a subset of Go Text Protocol (gtp), adapted for Hex (only coordinates are different),
see here: http://www.littlegolem.net/jsp/forum/topic2.jsp?forum=50&topic=314
13 Oct 2009
Thanks! I will try to write the board drawing code, but it may take a pair of weeks before I get the time.
5 Jan 2010
6 Jan 2010
works for me right now, but i sent you a message..
6 Jan 2010
This is a continuing problem. Some people may have no problems with accessing this site, but I have only managed to successfully access it a couple of times and I eventually managed to download the program. But I just tried again now and I did not succeed. The site is a very bad internet citizen. Other software highjacks your browser and get you usually get directed to a sexy singles site. There is also a roll over inviting your to sign up at the fun pics site and also often a message that the page your actually requested is unavailable or does not exist. So "Works for me" only tells some of the story :-(