Skip to content
Little GolemMake your next move.

Hex strategy book

Public forum discussion.

#1 · HappyHippo

8 Jan 2019

Here it is

I mentioned in a previous thread that I was working on a book on hex strategy. I don't want to say that it's completely finished, but it's finished enough to post.

There's a lot of hex knowledge that many of the players here clearly know, but which hasn't been written down in a systematic way anywhere. My goal here is to make that information available to everybody. The book starts at the novice level and gets progressively more advanced. I would guess that players up to around the 2050 level could learn something from this.

Please note that all the diagrams in the book are interactive: you can try out variations on the boards, and moves in the text are linked to the diagrams.

The book is best viewed on a desktop or laptop; it should work on mobile, but there's not a lot of room on a cellphone screen to fit diagrams

Comments/suggestions welcome

#2 · Galdian

8 Jan 2019

WOW!

Can't find the words, how much I admire you and your work!

And now I also can't find any excuses to be such a weak Hex player, will have to read it through and through and aim for better results ;)

#3 · gzero_bot

8 Jan 2019

Yes WOW!  This is amazing, really looking forward to reading this (well me, not the bot).  Thanks so much!

#4 · Force majeure

8 Jan 2019

Looks amazing, looking forward to learn something new!

#5 · struggler

8 Jan 2019

Just WOW!!!

From the programist side - how (with what language/library/framework) did you do that cool interactive graphs?

#6 · HappyHippo

8 Jan 2019

Thanks everyone

struggler: no libraries or frameworks. The diagrams are svgs, you can attach DOM event listeners (such as onclick) to svg elements, the rest is handled in javascript. The diagrams themselves are generated by a python script I wrote.

#7 · blikdak

8 Jan 2019

Cool! Thanks so much for making this available.

#8 · eobllor

8 Jan 2019

Impressive! In particular, very nice diagrams and clear (at least those read) explanations!

#9 · Arek Kulczycki

9 Jan 2019

Excellent work HappyHippo! The paper is truely neat and beautiful!

I've seen only Basic Concepts chapter so far, but in particular I love the Interior Templates paragraph where you have used some nice names to use in future.

I also like how White is "her" :)

#11 · HappyHippo

9 Jan 2019

I should thank Tom Ace for inspiring me to write this. Way back in 2013, Tom posted a thread suggesting that a book be written about Hex. I thought it was a great idea and even started writing a bit at the time, but I had a phd to work on so I put it aside. I finished my dissertation in August 2017 and started writing again in my spare time until I finished it late this fall. After some proofreading I put it online. It's hard to believe it's been 5 years since Tom posted that thread!

#12 · Giupiter

9 Jan 2019

Bravo HappyHippo, really a great job!!!

#13 · David J Bush

10 Jan 2019

I use Linux Mint 19 64-bit. The interactive moves and cells work for me on Chromium, but not on Firefox 64.0 64-bit. I have the Script Safe extension on Firefox, but I clicked to trust mseymout.ca If there is some way I can send you diagnostic information, for example with Web Inspector or debugger, please let me know.

Great work BTW!

#15 · HappyHippo

10 Jan 2019

Thanks for the info, I sent you a followup message

#16 · Carroll

10 Jan 2019

Thank you for this amazing book !

@David, the interactive diagrams work for me on Firefox 64.0 64-bit with NoScript allowingmseymour.ca.

#17 · David J Bush

10 Jan 2019

Thanks to Happy Hippo's help, the move lists and board cells are now clickable for me.

BUT I noticed a minor issue with the buttons on the side. The C button looks okay, but the other four are all black (or ghosted grey where appropriate.) Their mouseover text works, though. Maybe I need to install some special font?

#18 · David J Bush

10 Jan 2019

Uh sorry that issue is unique to me and will be resolved soon.

#19 · HappyHippo

10 Jan 2019

David, the issue due to the test page I sent you having a different url (hexstrat0_test.html) than an internal style reference (hexstrat0.html#markerArrow). This shouldn't be an issue when I put out the update.

#20 · shalev

10 Jan 2019

Great work, this is awesome!

#21 · Galdian

18 Jan 2019

I had a lot of problems trying to understand, how to effectively play Hex, playing and learning on my own. After reading only the "Basic concepts" and half of the "Tactics" chapter, I've tried to play some games on PlayOK and already had very good results, overplaying some players with tons of games played (in one case it was a pity, that the guy who spent his time to play over 20.000 games was losing most of his games against me, and I made it only due to the basic knowledge gained from the guide).

This guide was really needed to make the game more friendly for new players. I can't say at this point, that I understand the game, but I already can see and understand some patterns, therefore it starts to be a pleasure to play the game (earlier it was mostly frustration ;)).

One more time I would like to thank you for it and I would like to encourage everyone to share this great guide, it deserves to be readen by every Hex player, especially new one :)

#22 · HappyHippo

18 Jan 2019

That's great to hear! One of my goals with this was to make Hex more accessible to new players, and it sounds like it's working

#23 · Nagy Fathy

21 Jan 2019

Yeah, great effort!

Thank you for making it for free. I am looking forward reading it carefully, and have some understanding for this game!

#24 · lazyplayer

22 Jan 2019

HappyHippo, I've read some pieces. Very good work! Congrats.

#25 · lazyplayer

22 Jan 2019

Finally we've a good default that we can use for new players.

#26 · HappyHippo

23 Jan 2019

Thanks guys!

Lazy: which sections did you check out? Hopefully there were no errors.

#27 · lazyplayer

23 Jan 2019

Happy, I've only rapidly scrolled over the more "advanced" sections, played some of the examples. No evident errors.

I think you made a good job of summarizing current practice, which unfortunately, it's not particularly strong at all. I always feel clueless about initial stones.

#28 · lazyplayer

23 Jan 2019

When I've time I plan to try again with the bots, they're the only players playing consistently strong openings. i think we can do better, but alas, at last tournament, I've completely failed.

#29 · lazyplayer

24 Jan 2019

More precisely, I think leela plays consistent openings. Gzero plays bad initial stones but anyway it's good enough to grab some wins.

#30 · vieuxsac

26 Jan 2019

Thanks so much HH for making this available!Look forward to reading the book and becoming a better player.

#32 · David J Bush

30 Jan 2019

Diagram 162 seems to have a problem. The accompanying text correctly talks about 1,i2 for white, but when I go back to the beginning ot 162 and click forward I see 1.e7 which does not make sense. If you just delete 162 and re-number the rest of the diagrams, I believe the problem would be fixed.

#33 · HappyHippo

30 Jan 2019

Hmm, I can't seem to reproduce the problem. You're referring to the text that runs "Mindful of the threat that (C) poses in the corner, she plays 1. i2" right? Diagram 162 is supposed to just set up the situation, it should be empty (no moves), the moves in the text are supposed to be on diagram 163. Do you have a screenshot?

#34 · David J Bush

30 Jan 2019

Sorry my mistake again. I clicked on the board just to activate it, and it made a move in the cell I clicked.

#35 · HappyHippo

30 Jan 2019

Hmm, I wonder if there is a way to visually distinguish moves made by the user from those that are part of the diagram...

#36 · z

31 Jan 2019

Fantastic book! Thank you for putting so much effort into the research and writing.

> Hmm, I wonder if there is a way to visually distinguish moves made by the user from those that are part of the diagram...

Maybe put a tiny dot in the middle of a piece added by the user? Or darken/lighten its background cell?

#37 · lazyplayer

31 Jan 2019

HapyHippo, I've been reading it again. I've spotted a possible improvement. Rather than introducing a so limited concept of territory, and then introducing "Captured stones" and "One-sided capture", why not join the two concepts? Black's territory is simply the empty hexes where white can't play without losing the game. Of course it's hard to determine and it changes over the course of the game, but of course it's the relevant concept.  And it's of course related to dead hexes and dead stones, as well as being related to virtual connections.

#38 · lazyplayer

31 Jan 2019

Territory as defined by me allows you to reason about inferiority/superiority of a stone vs another. If one stone gives you at least as much territory as the other, then it's at least s good as the other. Of course territory can't be computed precisely (we don't know which stones are winning and which are losing) but at least one can get an idea (we know which stones are surely losing).

#39 · lazyplayer

31 Jan 2019

Basically you need to relocate chapter 6 into chapter 3 or even chapter 2. :)

#40 · lazyplayer

31 Jan 2019

It's  hard to organize all the material because there is no unifying theory. It's just a lot of special cases. I also have no unifying theory although I always try to come up with one. :)

#41 · HappyHippo

31 Jan 2019

Interesting idea. The issue is chapter 6 is rather technical/mathematical, which can be off-putting to newcomers, so I'd rather keep that material for later.

Glenn Rhodes introduced#Using_forcing_moves_to_steal_territory) the concept of territory that I used. However there's a lot of overlap with the term "influence," which I introduced in chapter 2. I've considered abandoning "territory" altogether in favour of "influence," which is more appropriately vague. The "definition" of territory conveys a precision that isn't really there, at least not in the way I'm using it. Instead of speaking in terms of "intruding in order to gain territory" I could say instead "intruding to gain influence" and the like. "Useless stones" would have no influence at all. Thoughts on that?

#42 · lazyplayer

1 Feb 2019

HappyHippo, https://www.amazon.com/Hex-Ryan-B-Hayward/dp/0367144220/

Buy this as soon as possible and use their terminology. Basically, the published names for the two key concepts are "virtual connections" and "inferior cells".

I don't remember their name for what you've called "captured cells". Maybe it's indeed "captured cells"? Maybe they use it only to compute inferior cells?

#43 · HappyHippo

2 Feb 2019

Yeah, "dead" and "captured" is terminology I took from their paper

#44 · lazyplayer

2 Feb 2019

Happy, but you've changed definition? In the paper there, capture means what you've called one-sided capture? Don't change terms!

#45 · lazyplayer

2 Feb 2019

Also formally, it's all about inferior cells..

> In Hex, another form of domination arises when a cell is on all induced winning paths of another cell [11, 13].  When we wish to distinguish be tween these two forms of domination, we call the former fillin domination and the latter induced path domination. In this paper we use only fillin domination.

Both virtual connections and dead/capture cell analysis is about discovering provably inferior choices and pruning them. This should be clarified. They're both forms of inferior cell analysis, aka comparing one choice with another without playing out all possible variations. Of course they're massively useful.

> Thus we can apply Theorem 3.5 as follows: given a Hex position in which we are trying to find a Left-winning move, we can identify dead cells, Left-dead-reversible cells, and an independent Left-captured-reversible set, and prune all these inferior cells from consideration with the caveat that we consider at least one legal move.

And then you've to explain how to use dead cells and captured cells for inferior cell analysis... :)

#46 · HappyHippo

2 Feb 2019

"Happy, but you’ve changed definition? In the paper there, capture means what you’ve called one-sided capture? Don’t change terms!"

I don't believe so, compare figure 5 in the paper to Diagram 236. They call it left-captured, I just call it captured.

#48 · HappyHippo

2 Feb 2019

Hmm I refreshed the page and that ??? message appeared?

#49 · lazyplayer

2 Feb 2019

Happy, the example is ok, but the text is not. You basically describe dead-reversible cells while explaining capture? Or maybe I'm wrong? I'm not entirely sure because I never looked into these details to be honest, although all my play is actually based on being very good at these local patterns :D

#50 · lazyplayer

2 Feb 2019

There are 4 concepts introduced in the paper, dead, dead-reversible, captured, captured-reversible. Then maybe there are more. It's surely not an easy read.