Commit Graph
3 Commits
Author SHA1 Message Date
jcoffey-dev dbf4b9dea4 Use the published board instead of drawing a worse one
Three attempts at drawing this map came to nothing worth looking at. Dividing
the plane by nearest province gives a tidy board that looks nothing like
Europe. Drawing the adjacency graph gives something unimpeachable about the
rules and not a map at all -- circles joined by lines. Fifty-six polygons
placed by eye gives fifty-six islands.

The standard map published with the diplomacy engine is AGPL-3.0, the same
licence as this project, so it can be carried across whole with attribution
rather than approximated badly. tools/map.py extracts the outlines, the unit
coordinates and the layer transform into board.json and can be re-run against
a newer copy. NOTICE.md says where it came from and what is still ours, which
is every colour and every mark drawn on top.

Drawing Europe accurately is real work, somebody did it properly, and they
published it under a licence that invites exactly this. Three days of my
approximating it would have produced something worse than the thing that
already existed.

Clicking still answers with the rules rather than the picture: a shape cannot
say that a fleet on Spain's north coast may not enter the Gulf of Lyon while
one on the south coast may, because both coasts are the same shape.
2026-09-09 08:10:30 -07:00
jcoffey-dev fd05217f90 Territories, not circles
The board is regions again. Voronoi cells divide it with no gaps and no
overlaps and look like a board, which is what this was always supposed to be.

What they cannot do is reproduce every adjacency in the rules, because
provinces interleave -- the Adriatic borders Venice with Trieste between
their centres. The lesson I drew from that was to abandon regions and draw
the adjacency graph, which is unimpeachable and is not a map. It is circles
joined by lines.

The right answer is to stop asking the picture to carry the rules. Clicking a
province lights up exactly where its unit may legally go, taken from the
graph rather than from which shapes happen to share an edge. Vienna lights
Bohemia, Galicia, Budapest, Trieste and Tyrolia; a fleet on the north coast
of Spain does not light the Gulf of Lyon. The picture is a picture and the
rules answer for themselves when asked.
2026-09-09 07:50:40 -07:00
jcoffey-dev ad6e384956 The board, drawn
Coordinates placed by hand, roughly where each province falls in Europe, and
everything else drawn from those and from the adjacency rules. Nothing here
is a picture of anybody's board.

It draws the graph rather than regions, and that was not the first idea. The
first idea was Voronoi cells -- every point belonging to the nearest province
-- which makes a handsome cut-paper board and is wrong. Sixty-five pairs that
border each other in the rules came out with regions that did not touch, and
no amount of moving coordinates fixes it: provinces here interleave. The
Adriatic borders Venice with Trieste between their centres; the Atlantic
borders North Africa around the outside of Spain. Convex cells cannot say
that. A map that shows two regions meeting when the rules say otherwise is
worse than an ugly map -- it is a map that loses you the game.

The tests found three provinces drawn on top of each other and a distance
check of mine that was measuring Europe rather than checking my typing: it
failed fifteen honest placings because oceans are large and Moscow borders
five things. The exact check is that a line exists for every border in the
rules and for no others.

The viewBox is fitted to what is actually drawn. Europe is not rectangular,
and the box the coordinates were typed into left a third of the frame as
empty ocean -- which wastes the one thing this game was given more of than
the others.
2026-09-09 07:46:22 -07:00