One board, two rules
Take a graph — dots joined by lines, drawn small enough to look at. Left paints a dot blue, Right paints one red, alternating, and a player who cannot paint loses.
That is not yet a game, because nothing has been said about what makes a painting illegal. There are two obvious rules and they differ by one word.
Col: no dot may be painted next to a dot of the painter’s own colour.
Snort: no dot may be painted next to a dot of the opponent’s colour.
What each rule makes a move mean
The two rules give a move opposite meanings, and every difference in the values follows.
Under Col, painting a dot blue makes its neighbours unavailable to Left. Left has restricted Left. A move is self-harm — useful only because the alternative is having no move at all, and it is the shortage of moves rather than the gain from them that decides the game.
Under Snort, painting a dot blue makes its neighbours unavailable to Right. Left has restricted Right. A move is a land grab, and the neighbourhood of every unpainted dot is territory somebody may claim.
So Col is a game about running out and Snort is a game about staking out. That is not a metaphor; it is the whole content of the difference, and it produces two different kinds of number.
The asymmetry has a consequence that is easy to miss. Under Col, a player would rather not move at all — and the reason the game has any content is that passing is not allowed. Under Snort, a player would move twice if permitted, and the reason the game has content is that they cannot. Both games are driven by the same rule of alternation, and it is holding back opposite impulses in each.
That is a general feature of this subject rather than a quirk of these two. The normal-play convention makes “having a move” valuable, and every game is then a contest over move availability — but availability can be scarce because the players are consuming it or because they are denying it to each other, and those two scarcities produce values that behave nothing alike.
Cold and hot
Col values are cold. Every Col position is worth a number, or a number plus a star, and nothing else ever appears. Neither player wants to move — moving costs them options — so nothing is ever at stake, and nobody moves in a number while anything else is available.
Snort values are hot. A Snort position is typically a switch: Left has something to gain by painting first and so does Right, and the value is with above . The board is worth fighting over precisely because a move takes something from the opponent.
The classification is worth being careful about. “Col values are numbers or numbers plus a star” is a theorem about the game, not an observation about the examples drawn here. “Snort values are hot” is not a theorem — some Snort positions are numbers, and a fully painted board is worth zero under both rules — it is a description of what the interesting ones do.
Why an empty board says nothing
There is a trap in comparing the two games and it is worth walking into deliberately.
On a board with nothing painted, Col is symmetric between the players: the rule refers only to the painter’s own colour, so swapping blue and red maps the game to itself. A game equal to its own negative is worth or , and that is what every empty Col board comes out as, whatever it looks like.
The same is true of Snort, for the same reason. So an empty board of either game is worth almost nothing and tells almost nothing, and a figure showing only empty boards would be demonstrating a symmetry rather than a difference.
The interesting positions are partly painted, and that is also the realistic case — a game is played from an empty board and reaches partly painted ones on the second move.
That figure contains the essay’s sharpest fact. Painting a dot blue is bad for Left under Col and good for Left under Snort, and the values say so with opposite signs.
Reading four values in detail
The claims above are easier to trust with the arithmetic in front of them, so here are four positions on a path of three dots, worked through.
Nothing painted. Col is and Snort is . Col’s zero is the symmetry already noted. Snort’s switch says: whoever paints first takes the board, and by two moves’ worth — painting the middle dot forbids both ends to the opponent, leaving the painter with two spare moves.
The left-hand dot blue. Col is and Snort is . Col has gone negative — against Left — because Left painted a dot and lost access to its neighbour. Snort has gone positive for Left, because Right lost access to that neighbour instead.
The middle dot blue. Col is . Painting the middle of a path of three under Col forbids both ends to Left and leaves both available to Right, so Right is two moves ahead and the value says exactly that. Snort is — a plain number this time, and positive, because Right has nothing left to paint at all.
Left end blue, right end red. Both games are . The middle dot is adjacent to one of each colour, so under Col it is available to nobody and under Snort likewise, and both games are over.
Two things stand out from that list. Every Col value is a plain number and every value that is not zero is negative — a painted blue dot is always bad for Left, whatever the shape. And Snort’s values move around in both sign and kind, which is what a game where a move is worth something looks like.
The fraction is the other thing worth noticing. is not a count of anything on the board; there is no half a move. It is the simplest number between the values of the two players’ options, arrived at by the same rule that gives a Hackenbush string its numeral, and its being a fraction is what tells a reader the position is genuinely settled rather than merely balanced.
What the solver computed, and how
Both games are evaluated by the same function with one line different.
A position is a graph together with a colouring string over .LR, indexed by vertex. The legality test walks the neighbours of a candidate vertex and rejects if any is coloured; which colour causes the rejection is the rule’s only parameter — the painter’s own under Col, the opponent’s under Snort.
From there it is the ordinary recursion. Left’s options are the positions reachable by every legal blue painting, Right’s by every legal red one, and the value is {options | options} handed to lib/cgt.js, which reduces it to canonical form. Nothing about numbers, stars or switches is anticipated anywhere; the classification is read off the answers afterwards.
The site’s gate makes the classification a claim rather than a caption. It evaluates Col on four graphs across thirteen colourings and requires every value to be a number or a number with a star attached — a single hot Col value would fail the build. It separately requires Snort, on the same boards, to produce values that are not of that form, in at least one case. And it requires the two games to differ on at least one specific board, so that a bug making them the same function could not pass.
That pair of requirements pulls in opposite directions, which is the point. A check that only demanded coldness would pass on machinery that had collapsed both games to numbers; a check that only demanded a difference would pass on machinery that had broken Col.
Where the model stops
The boards are tiny. Everything here has at most six vertices. Col and Snort on a large graph are both hard, and Snort in particular has been the subject of considerable computation with no closed form to show for it. Six vertices is the point at which the recursion is still instant; a dozen is where it stops being, which is the ordinary situation for an exact evaluator on any partizan game.
Col’s classification is a theorem; the boards do not prove it. Thirteen colourings that all come out cold are evidence and not a proof, and the essay does not claim otherwise. The proof is an induction showing that the options of a cold position are cold and that the simplicity rule then applies.
A star is not nothing. Col values of the form are common, and the star matters: it is the difference between a position that is settled and one where the move still counts. Reading Col as “just numbers” loses exactly the part that decides close games.
Normal play, and finite boards. Both games terminate because every move paints a dot and dots run out, so the recursion is grounded. That is a stronger guarantee than most games here offer, and it is what a loopy game does not have.
What the pictures cannot show
The figures draw the graph and mark which dots are still available. Two things they cannot draw are worth naming, because both are where the analysis actually happens.
They cannot show the option tree. A Col value of is the output of a recursion several levels deep, and the drawing shows only the top of it. Nothing on the page lets a reader trace how the fraction arose; that would need a tree of every reachable colouring, which for six dots runs to hundreds of nodes and is not a picture.
They cannot show what the value means in company. A position worth is worth that in every sum, which is a statement about infinitely many other positions. The board is one object; the value quantifies over all boards it might be added to. No drawing of the board contains that.
The site’s rule is that a figure showing brace notation also shows the position it describes, and these figures satisfy it in the direction that matters — the position is drawn and the value stated beside it. The reverse direction, showing why the value is what it is, is not available in a picture and is what the prose is for.
The general lesson
The pair is the cleanest demonstration this subject has of a fact that is easy to state and hard to believe: what makes a game hot is a property of the rule, not of the board.
The same graph, the same pieces, the same number of moves — and one rule produces positions nobody wants to move in while the other produces positions both players are desperate to move in. There is nothing about the drawing that predicts which.
The mechanism is the one the two rules make explicit. A game is hot when a move takes something from the opponent, and cold when a move costs the mover. Every hot position in this subject is hot for that reason, and the reason is always locatable in the rule.
That is worth carrying into an unfamiliar game. Before evaluating anything, ask whether a move restricts the mover or the opponent. If it restricts the mover, expect numbers and expect nobody to be in a hurry. If it restricts the opponent, expect switches and expect the temperature to be the interesting quantity.
Who found them, and when
Both games are Conway’s, from the late 1960s, and both appear in On Numbers and Games with the pun intact: Col takes its name from the colouring and from the constraint that a player must avoid their own, and Snort is named after Simon Norton, who worked on it, with the pig-farming story about neighbouring pens that will not tolerate each other supplied afterwards.
The pairing was deliberate. Conway introduced them together precisely to make the point this essay makes — that the hot–cold distinction is a fact about rules — and the choice of two games differing by a single word is a piece of expository design rather than an accident of what happened to be lying around.
Snort has resisted analysis considerably better than Col. Col’s classification was settled early; Snort on general graphs has no comparable result, and the values of Snort positions on modest boards have been computed and catalogued rather than characterised.
The ladder from here
This is the base rung of the colouring anchor.
Later rungs: the proof that Col values are cold, by induction on the position, which needs canonical forms to get the inductive step to close. Explosive nodes in Snort — the vertices whose painting closes off a whole region — and the way they dominate the analysis. Col and Snort on the same graph as a sum of independent regions, which is where the values start to earn their place. The relationship to graph colouring proper, which is a different problem that shares a rule. And Snort on large graphs, where the honest answer is a catalogue rather than a theory.
The thing this rung establishes is a diagnostic. Given a new game, the question “does a move restrict the mover or the opponent” predicts the shape of every value it produces, and it is answerable from the rulebook before any computation is done.